Yo hizo asi, pero no camina el progress. El queda en 0% y despues se va a 100%. No va asi, 0,1,2,3...100%. Este es el codigo que yo puzo. guardastatus es una StringList y CapturaStatus es una procedure para llenar el StringList solamente. Mi progressbar es una TcxProgressBar.
Código Delphi
[-]procedure TfrmLe_ECF.cxButton1Click(Sender: TObject);
var
i: Integer;
begin
Screen.Cursor := crHourGlass;
CapturaStatus;
AssignFile(arq,ExtractFilePath(Application.ExeName)+'\Teste.TXT');
Rewrite(arq);
pb.Properties.Max := guardastatus.Count;
pb.Position := 0;
for I := 0 to GuardaStatus.Count - 1 do
begin
pb.Position := pb.Position;
WriteLn(Arq, GuardaStatus.Text[i]);
end;
Write(arq,guardastatus.Text);
CloseFile(arq);
Screen.Cursor := crDefault;
end;