Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeilenweises Lesen einer TXT-Datei? (https://www.delphipraxis.net/31847-zeilenweises-lesen-einer-txt-datei.html)

HaCkAttaCk2001 15. Okt 2004 17:45

Re: Zeilenweises Lesen einer TXT-Datei?
 
Hi.

Die Größe der Dateien sind verschieden. Aber es kann durchaus mal vorkommen, dass die Datei über 10000 Einträge hat. Also ist FileStream schneller? Hm, ok werd ich mich mal damit befassen *delphi-hilfe-zück*.


C ya.

ste_ett 15. Okt 2004 17:46

Re: Zeilenweises Lesen einer TXT-Datei?
 
Zitat:

Irgendwie verstehe ich auch warum nur die erste Zeile kommt... woher soll Delphi wissen welche Zeile er nun auslesen soll? Aber irgendwie weiß ich nicht wie ich das vermitteln soll Neutral .

Ganz einfach. :)

Reset(TextFile)
setzt den Zeiger für diese Datei an den Anfang der Datei.

Readln(TextFile,String)
ließt bis zum Zeilenende, und setzt den Zeiger auf den Anfang der nächsten Zeile.

HaCkAttaCk2001 15. Okt 2004 18:31

Re: Zeilenweises Lesen einer TXT-Datei?
 
Hi.

Habs mal mit GetTickCount ausgemessen und das mit der StringList geht tatsächlich schneller, weil weniger Schleifen etc. benötigt werden. Zudem ist der Code damit auch wesentlich kleiner ;) .


THX! :dp: :D .


C ya.

Nikolas 15. Okt 2004 18:34

Re: Zeilenweises Lesen einer TXT-Datei?
 
Wie groß war den der Unterschied? Gettickcount ist nicht gerade genau!

Gruber_Hans_12345 15. Okt 2004 18:37

Re: Zeilenweises Lesen einer TXT-Datei?
 
noch mal so zur info, was liest du für Daten ein ?
werden die Daten von dir erzeugt (aus einem deiner Programme erzeugt ?)

Ganz so vergleichen kannst du die zeiten nicht !

da müßtest du bei der AssignFile variante :

Delphi-Quellcode:
CheckListBox.Items.BeginUpdate;
// hier der restliche code
ChecklistBox.Items.EndUpdate;
dann hast du reele Zeiten !

HaCkAttaCk2001 15. Okt 2004 19:01

Re: Zeilenweises Lesen einer TXT-Datei?
 
Hi.

GetTickCount ist ungenau?! Aber was sollte ich denn da nehmen? Das war das einzig mir bekannte um sowas zu messen :-| .

Wenn ich's mir recht überlege, könnte ich gleich was einbauen das einzeigt, wie lange es gedauert hat, die Liste(n) zu laden... nur was soll ich eurer Meinung nach nehmen?

Edit: Ach ja, die Daten sind entweder URLs oder lokale Dateien. Jede in einer eigenen Zeile. Die hat der User vorher schon irgendwie erstellt.


C ya.

Gruber_Hans_12345 15. Okt 2004 19:07

Re: Zeilenweises Lesen einer TXT-Datei?
 
GetTickCount ist auf 18 ms genau (oder war es einmal) dh. wenn der unterschied unter 10 ms ist, dann kannst nicht genau sagen wer um wieviel schneller ist.
Besser / Genauer wäre QueryPerformanceCounter und QueryPerformanceFrequency

Dano 26. Okt 2004 19:56

Re: Zeilenweises Lesen einer TXT-Datei?
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Frequenz,Time1,Time2: Int64;
begin
  QueryPerformanceFrequency(Frequenz);         // zeitmessung
  QueryPerformanceCounter(Time1);              // zeitmessung

  !!! zu messende funktion hier !!!

  QueryPerformanceCounter(Time2);              // zeitmessung

  //1. ausgabe in millisekunden
  Form1.Label1.Caption:=FormatDateTime('hh:nn:ss:zzz',IncMilliSecond(0,Round( (Time2-Time1)/Frequenz*1000 ))); // zeitmessung

  //2. oder in tick's
  Form1.Label1.Caption:=FloatToStrF(Time2-Time1,ffNumber,99,0); // zeitmessung

end;
das ganze kann durch das multitasking aber etwas abweichen...
geht glaube erst ab NT,2000,XP
und windows muß in uses sein...

mfg Dano


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:15 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz