Progressbar
Como fazer uma progressbar andar dentro desse código. O código funciona, até pq é bem simples, apenas gravar um txt vindo de uma stringlist.
CapturaStatus é uma procedure onde eu apenas populo uma Stringlist, só isso. Guardastatus é minha Stringlist populada na procedure Capturastatus. Quero colocar uma progressbar aí, para ver o andamento. Como?
procedure TfrmLe_ECF.cxButton1Click(Sender: TObject);
begin
Screen.Cursor := crHourGlass;
CapturaStatus;
AssignFile(arq,ExtractFilePath(Application.ExeName)+´\Teste.TXT´);
Rewrite(arq);
Write(arq,guardastatus.Text);
CloseFile(arq);
Screen.Cursor := crDefault;
end;
CapturaStatus é uma procedure onde eu apenas populo uma Stringlist, só isso. Guardastatus é minha Stringlist populada na procedure Capturastatus. Quero colocar uma progressbar aí, para ver o andamento. Como?
Paulo
Curtidas 0
Respostas
Eniorm
28/05/2008
vamos facilitar mais a coisa...
já que vc usa o StringList
faz assim StringList.SaveToFile(´nomedoarquivo.txt´);
já que vc usa o StringList
faz assim StringList.SaveToFile(´nomedoarquivo.txt´);
GOSTEI 0
Paulo
28/05/2008
Não entendi o porque do saveToFile, já que está funcionando o meu código. Só quero colocar uma ProgressBar para dar um visual melhor do que o cursor como eu estou fazendo.
GOSTEI 0
Eniorm
28/05/2008
quero dizer que é mais simples vc usar o SaveToFile do que implementar toda essa sua rotina para salvar o conteúdo do stringlist num arquivo de texto
vc usa SaveToFile para salvar, e LoadFromFile para abrir um arquivo txt
vc usa SaveToFile para salvar, e LoadFromFile para abrir um arquivo txt
GOSTEI 0
Paulo
28/05/2008
Mas como colocaria um Progressbar aí usando um SaveToFile? O Meu caso é somente o Progressbar e ele tem que da em algum lugar,eheheheh. Fiz assim, mas não anda. Ele fica em 0 e depois vai a 100¬. Veja o código:
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;
GOSTEI 0
Paulo
28/05/2008
O código correto:
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+i;
WriteLn(Arq, GuardaStatus.Text[i]);
end;
Write(arq,guardastatus.Text);
CloseFile(arq);
Screen.Cursor := crDefault;
end;
GOSTEI 0
Eniorm
28/05/2008
a menos que vc tenha um arquivo texto gigante, a operação será tão rápida que não da tempo de vc notar o incremento do progressbar
GOSTEI 0