Citirea fisierelor text, in mod normal, se face in felul urmator:
var F : Text;
S : String;
...
AssignFile(F, 'nume_fisier.txt');
Reset(F);
While Not EoF(F) Do
Begin
ReadLn(F, S);
{procesari asupra liniei tocmai citite}
End;
CloseFile(F);
...
E o solutie functionala, ramasa inca din timpul Pascalului. Recent, totusi, am observat niste diferente destul de mari de viteza daca incarc fisierul intr-un TStringList, iar procesarile le fac direct in memorie (bineinteles, ma refer la fisiere text de marime sesizabila

)
Codul, mai jos :
var ST : TStringList;
i : Integer;
...
ST := TStringList.Create;
ST.LoadFromFile('nume_fisier.txt');
For i := 0 To ST.Count - 1 Do
{procesari asupra liniei curente}
FreeAndNil(ST);
...
Nu uitati sa goliti StringList-ul, fiindca va veti trezi cu niste leak-uri de memorie. Cel mai sigur ar fi folosirea unui bloc
try ... finally, ca in exemplul de mai jos:
ST : TStringList;
...
begin
try
ST := TStringList.Create;
...
{procesari}
...
finally
FreeAndNil(ST);
end;
end;
Enjoy