Bun venit pe SkullBox!

Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
  Pagini: [1]
  Imprimă  
Citire fisier text (tip) [Delphi]  (Vizualizari 257)
DarkByte
*

Deconectat Deconectat

Mesaje: 2441

WWW
Citire fisier text (tip) [Delphi], Mai 15, 2008, 09:33

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

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 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 Tongue)

Codul, mai jos :
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 folosirea unui bloc try ... finally, ca in exemplul de mai jos:
Cod:
ST : TStringList;
...
begin
  try
    ST := TStringList.Create;
    ...
    {procesari}
    ...
  finally
    FreeAndNil(ST);
  end;
end;
Enjoy
Memorat

Light travels faster than sound. This is why some people appear intelligent until they speak.

Quidquid latinum dictum sit, altum viditur.

SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Ethical hacking and programming community
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro