Pagina de start a forumului Nike.MyForum.ro Nike.MyForum.ro
Nike Forum
 
 FAQFAQ   CautareCautare   MembriMembri   GrupuriGrupuri   InregistrareInregistrare 
 ProfilProfil   Mesaje privateMesaje private   AutentificareAutentificare 

[Delphi]Citire fisier text (tip)

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Nike.MyForum.ro -> Delphi
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
Nike
Administrator
Administrator
Nike

Data inscrierii: 07/Ian/2009
Mesaje: 36

MesajTrimis: 15/01/2009 20:27    Titlul subiectului: [Delphi]Citire fisier text (tip) Raspunde cu citat (quote)

Citirea fisierelor text, in mod normal, se face in felul urmator:

Code:
Cod:
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 momentul 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 :

Code:
Cod:
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 utilizarea unui bloc try ... finally, ca in exemplul de mai jos:

Code:
Cod:
ST : TStringList;
...
begin
  try
    ST := TStringList.Create;
    ...
    {procesari}
    ...
  finally
    FreeAndNil(ST);
  end;
end;
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Nike.MyForum.ro -> Delphi Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum


Powered by phpBB © 2001, 2005 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro