Удаление строк в TStringList
При удалении всех строк где есть слово "Del" сообщение об ошибке: List index out of bounds (2)
var
L, K: TStringList;
i: integer;
begin
L := TStringList.Create;
L.LoadFromFile(ExtractFilePath(Application.ExeName) + 'f.txt');
for i := 0 to L.Count - 1 do
begin
if pos('Del', L.Strings[i]) > 0 then
L.delete(i);
L.SaveToFile(ExtractFilePath(Application.ExeName) + 'f.txt');
end;
L.Free;
end;
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Вы "рубите сук, на котором сидите" или "выдергиваете коврик у себя из-под ног".
for i := L.Count - 1 downto 0 do
И вынесите L.SaveToFile из цикла.