![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ребята помогите решить вот такую задачу: В текстовом файле расположено много строк, все строки разной длины.
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;Последний раз редактировалось Taras2020, 28.02.2018 в 20:05. |