Hola de nuevo.
Se me cruzó una idea para usar
FileSize. Un archivo de texto puede ser tomado como un archivo tipado cuyos registros sean de un caracter, es decir
de tipo
file of char.
Código Delphi
[-]
...
procedure TForm1.ProcessFile(NomArch: string);
var
F: file of char;
ch: char;
s: string;
begin
AssignFile(F,NomArch);
Reset(F);
ProgressBar1.Max:= FileSize(F);
s:= '';
while not Eof(F) do
begin
Read(F,ch);
if ch = #13 then
begin
Form1.Memo1.Lines.Add(s);
ProgressBar1.StepBy(Length(s)+2); s:= '';
end
else
s:= s + ch;
end;
CloseFile(F);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ProcessFile('C:\DATOS.txt');
end;
Pero el progreso de la barra es mas parejo en el ejemplo anterior.
Saludos.