Delphi World - Прочитать и изменить текстовый файл строка за строкой
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Прочитать и изменить текстовый файл строка за строкой

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure TForm1.Button1Click(Sender: TObject);
 var
   i, z: Integer;
   f: TextFile;
   t: string;
   Data: array of string;
 begin
   if OpenDialog1.Execute then
   begin
     //Read line by line in to the array data 
    AssignFile(f, OpenDialog1.FileName);
     Reset(f);
     z := 0;
     SetLength(Data, 0);
     //Repeat for each line until end of file 
    repeat
       Inc(z);
       readln(f, t);
       SetLength(Data, Length(Data) + Length(t));
       Data[z] := t;
     until EOF(f);

     SetLength(Data, Length(Data) + 3 * z);
     //Add to each line the line number 
    for i := 1 to z do Data[i] := IntToStr(i) + ' ' + Data[i];
     SetLength(Data, Length(Data) + 2);
     //Add a carriage return and line feed 
    Data[1] := Data[1] + #13 + #10;
     i       := Length(Data[5]);
     Data[5] := '';
     SetLength(Data, Length(Data) - i);
     //create a new textfile with the new data 
    AssignFile(f, OpenDialog1.FileName + '2');
     ReWrite(f);
     //write all lines 
    for i := 1 to z do writeln(f, Data[i]);
     //save file and close it 
    CloseFile(f);
   end;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования