Sauerei !
Da sucht man zu der Uhrzeit noch Textdatei wo das eventuell Sinn macht (> 10 MB) und dann findet der Kerl das selber.
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
var t : TextFile;
zeile : string;
i,
ZeilenAnzahl : integer;
begin
i := 0;
ZeilenAnzahl := 0;
AssignFile (t,Dateiname);
reset (t);
while not Eof (t) do begin
ZeilenAnzahl := ZeilenAnzahl + 1;
readln (t);
end;
CloseFile (t);
Reset (t);
gauge1.MaxValue := ZeilenAnzahl;
readln (t,zeile);
while not EOF (t) do begin
i := i + 1;
gauge1.Progress := i;
Listbox1.Items.Add(IntToStr (i));
// Application.ProcessMessages;
readln (t,zeile);
end;
CloseFile (t);
end;
Allerdings würde ich die Try/Except-Orgie wenn schon, dann auch überall durchführen.
Und (wie zu sehen) eine Gauge benutzen, statt der ProgressBar.
Allerdings auch noch eine Frage : geht das nur mit Processmessages, dass man auch während des Füll-Laufes sieht, wie die Listbox sich füllt ?
Jetzt noch roter Kasten ?
Ne, geht nicht, weil keine feste Recordlänge verwendbar.
Dateiinhalt :
1
ergibt 3 Byte und nicht 1.
Dateiinhalt :
1
234
ergibt 8 Byte und nicht 2.