есть такой способ
Код:
procedure TForm1.ReadMyFile;
var
i, j: integer; s:string;
begin
ProgressBar1.Max := GetFileSize('send2100816.txt');
ProgressBar1.position := 0;
assignfile(f, 'send2100816.txt');
Canceled := False;
reset(f);
i := 0;
j := 0;
while not eof(f) do
begin
inc(j);
readln(f, s);
i := i + length(s) + 2;
if (j mod 1000) = 0 then
begin
ProgressBar1.position := i;
Application.ProcessMessages;
if canceled then
break;
end;
memo1.Lines.Add(s);
end;
CloseFile(f);
end;
я успел попить чай, пройтись два раза во круг дома ....