year, Problem gelöst
also die Lösung besteht natürlich darin, dass man vorher auslesen muss, wieviele Zeilen die TXT hat.
Delphi-Quellcode:
function CountLines(const sFile: String): Integer;
var fInput: TextFile;
begin
Result := 0;
AssignFile(fInput, sFile);
try
ReSet(fInput);
try
while not EOF(fInput) do
begin
ReadLn(fInput);
Inc(Result);
end;
finally
CloseFile(fInput);
end;
except
end;
end;
Dann setzt man diese Zeilen als Max der ProgressBar,
und mit jeder eingelesenen Zeile inc.
Auszug:
Delphi-Quellcode:
Begin
OpenDialog1.Execute;
FileName1 := OpenDialog1.Filename;
f:=countlines(Filename1);
AssignFile(myFile,Filename1);
Reset(myFile);
progressbar1.position := 0;
i:= 0;
ProgressBar1.max:=f;
while not Eof(myFile) do
begin
ReadLn(myFile, sRecord);
listbox1.items.add(sRecord);
inc(i);
progressbar1.position:=i;
end;
CloseFile(myFile);