Ребята помогите решить вот такую задачу: В текстовом файле расположено много строк, все строки разной длины.
1. В edit1 указываю число: Сколько Удалить символов - с начала строки.
2. В edit2 указываю число: Сколько Удалить символов - с конца строки.
3. Нажимаю кнопку и программа Обрезает все строки, в файле (1.txt), с начала и с конца. И сохраняет результат в файл 2.txt.
Только чтение построчно, что бы не грузить память и не было ошибки нехватки памяти.
Сделал вот так
но файлы по 500 мегабайт не обрабатывает. То есть таким способом я забиваю память:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var t:TStringList;
s: string;
k,n,i: integer;
begin
for i:=0 to t.Count-1 do
begin
s:=t[i];
if k>=length(s) then s:=''
else delete(s,length(s)-k+1,k);
if n>=length(s) then s:=''
else delete(s,1,n);
t[i]:=s;
end;
t.SaveToFile('2.txt');
t.Free;
ShowMessage('Файл 1.txt преобразован и записан в файл 2.txt')
end;
Как переделать через: через AsssignFile, Reset/Rewrite, CloseFile.