enviar e-mail com indy mostrando progresso numa progressbar
gostaria de saber como mostrar o progresso do envio de um e-mail com indy numa progressbar.
Vitor Rubio
Curtidas 0
Respostas
Lipe_sp
05/10/2006
[quote:daa02e053b=´vitor^_^´]gostaria de saber como mostrar o progresso do envio de um e-mail com indy numa progressbar.[/quote:daa02e053b]
Vitor.
Como não sei a aplicação, não sei se lhe vai ser util, mas... não seria o caso de voce deixar a progressbar em looping(como algumas instalações fazem) até terminar o envio?
Não sei sobre as paletas Indy, mas na Fastnet, era impossivel prever quando ia terminar, ou quanto faltava pra terminar o envio do e-mail.
Ps.: Entra no msn.... preciso falar com vc
Boa sorte ;)
Vitor.
Como não sei a aplicação, não sei se lhe vai ser util, mas... não seria o caso de voce deixar a progressbar em looping(como algumas instalações fazem) até terminar o envio?
Não sei sobre as paletas Indy, mas na Fastnet, era impossivel prever quando ia terminar, ou quanto faltava pra terminar o envio do e-mail.
Ps.: Entra no msn.... preciso falar com vc
Boa sorte ;)
GOSTEI 0
Lipe_sp
05/10/2006
procedure TForm1.Timer1Timer(Sender: TObject); begin if ProgressBar1.Position <> 100 then ProgressBar1.Position := 0; ProgressBar1.Position := ProgressBar1.Position + 1; end;
GOSTEI 0
Vitor Rubio
05/10/2006
não era bem isso que eu queria. Queria fazer igual agente faz com ftp:
com o idftp, ao enviar um arquivo, no evento workbegin, dá pra pegar o tamanho total da transferencia pelo parametro aworkcountmax, e colocar aworkcountmax no max da progressbar. Aí no evento onwork vc coloca progressbar1.position := aworkcount e a barra acompanha perfeitamente o progresso real.
mas so funciona com o idftp, o idsmtp não funciona. aworkcountmax sempre retorna 0. embora o workcount seja diferente de zero e cumulativo.
O que eu fiz, de gambiarra por enquanto, foi somar o tamanho dos arquivos anexos e colocar esse tamanho total no max da progressbar, a aí o progresso funciona. Mas com ftp isso ocorre automaticamente. Alem disso, se eu não tiver anexos não vai funcionar o progresso.
com o idftp, ao enviar um arquivo, no evento workbegin, dá pra pegar o tamanho total da transferencia pelo parametro aworkcountmax, e colocar aworkcountmax no max da progressbar. Aí no evento onwork vc coloca progressbar1.position := aworkcount e a barra acompanha perfeitamente o progresso real.
mas so funciona com o idftp, o idsmtp não funciona. aworkcountmax sempre retorna 0. embora o workcount seja diferente de zero e cumulativo.
O que eu fiz, de gambiarra por enquanto, foi somar o tamanho dos arquivos anexos e colocar esse tamanho total no max da progressbar, a aí o progresso funciona. Mas com ftp isso ocorre automaticamente. Alem disso, se eu não tiver anexos não vai funcionar o progresso.
GOSTEI 0
Vitor Rubio
05/10/2006
acho que na verdade seu código seria assim:
pra voltar pra 0 depois que chegar a 100, se não ela não progride nunca ....
to entrando no msn.
procedure TForm1.Timer1Timer(Sender: TObject); begin if ProgressBar1.Position > 100 then ProgressBar1.Position := 0; ProgressBar1.Position := ProgressBar1.Position + 1; end;
pra voltar pra 0 depois que chegar a 100, se não ela não progride nunca ....
to entrando no msn.
GOSTEI 0
Lipe_sp
05/10/2006
Realmente...
escrevi errado... :oops:
era =, e não <>.
:lol:
escrevi errado... :oops:
era =, e não <>.
:lol:
GOSTEI 0