Duvida ProgressBar

Delphi

30/05/2006

Fiz uma rotina para download, e coloquei um progressbar para quando iniciar o download, ele ficar correndo, só para o programa não parecer que está travado. Só que o progress não vai rsrsrs.
olha o codigo:

no botao do download coloquei

Timer1.Enabled := True;

e no onTimer coloquei:

ProgressBar1.StepIt;
aí ficou parecendo travado entao coloquei um
Application.ProcessMessages;
mas ainda está parecendo que está travado.

Alguma idéia?
Obrigado.


M@gnun

M@gnun

Curtidas 0

Respostas

Eliasexner

Eliasexner

30/05/2006

Olá


Tu tá usando componentes de FTP para fazer o download?


GOSTEI 0
Eliasexner

Eliasexner

30/05/2006

Na realidade isso não importa muito.

Provavelmente vc deve estar fazendo assim:
.
.
.
Begin
.
.
.
timer1.enabled := true;
.
.
.
(rotina de download) --> aguarda tudo para terminar esta tarefa.
.
.
.
Nesta rotina o sistema provavelmente ficará travado enquanto estiver baixando o arquivo,
não liberando também o timer1 pq o sistema ficará aguardando a finalização desta tarefa.

No caso de um loop o q vc fez funcionaria, pq o sistema executa varias tarefas simultaneas,
onde em cada intervalo ele verifica quais é a próxima tarefa a ser executada, como por exemplo
seu timer1.

Vc poderia resolver seu caso, construindo um executável que faria o download e vc poderia verificar
em um loop o tamanho do arquivo que estaria sendo criado em algum lugar até o final do download.
1 Verificar tamanho total do dowload
2 loop enaquanto tamanho menor que total.


Outra maneira seria construir uma Thread, que preencheria seu progressbar durante o download.
Dispara a Thread antes de inciar dowload e para depois do download, mas assim vc não teria controle de
em que pé está seu download.

espero ter ajudado.


GOSTEI 0
M@gnun

M@gnun

30/05/2006

eu não entendi mt bem essa parte aqui:

´Vc poderia resolver seu caso, construindo um executável que faria o download e vc poderia verificar
em um loop o tamanho do arquivo que estaria sendo criado em algum lugar até o final do download.
´

vc quer dizer pra mim fazer um prog só pra baixar o arquivo? aí ao invés de chamar a funcao do donload, eu chamaria esse exe e assim o sist continua os processos enquanto o prog faz o download?

acho que nao seria bom isso, pq eu jah chamo o donwload em um prog separado do meu sistema, pq assim q ele termina eu sobrescrevo os arquivos necessarios. e + um exe acho q seria d+

eu não quero saber a porcentagem nem o tamanho do arquivo, pq vai ser sempre 1mb no maximo, o que eu queria mesmo é soh deixar um progress correndo lah, só pro usuario nao achar q tah travado.

ou tmb se alguem me disser onde eu coloco os AVI´s no pc dos clientes seria + facil ainda. Pq eu coloquei um avi lah soh que quando instalei em outro pc nem apareceu a imagem.

Obrigado ...


GOSTEI 0
Martins

Martins

30/05/2006

A melhor maneira de vc fazer isso é usando uma Thread, com a Thread vc poderia colocar o código q preencheria sua ProgressBar ou Gauge, vc pode procurar por um exemplo do Adriano Santos, ele fez uma aplicativo assim e deixou na seção dele no portal, usando o código dele vc só precisará inserir um Thread e o processo vai ser satisfatório.

Boa sorte!!!

:wink:


GOSTEI 0
Adriano Santos

Adriano Santos

30/05/2006

A melhor maneira de vc fazer isso é usando uma Thread, com a Thread vc poderia colocar o código q preencheria sua ProgressBar ou Gauge, vc pode procurar por um exemplo do Adriano Santos, ele fez uma aplicativo assim e deixou na seção dele no portal, usando o código dele vc só precisará inserir um Thread e o processo vai ser satisfatório. Boa sorte!!! :wink:


Aeee [b:85d47533ee]Martins[/b:85d47533ee] já estava sentindo sua falta aqui véio.
Camarada, como o Martins disse dê uma olhada no meu artigo que fica faltando só implementar uma thread, ai fica xuxu.

[url=https://www.devmedia.com.br/visualizacomponente.aspx?comp=306&site=3]Neste link[/url]
ou olhe minha assinatura, tem o link pros meus artigos.


GOSTEI 0
M@gnun

M@gnun

30/05/2006

Obrigado a todos.

Adiano, acabei de ler a sua materia e achei mt boa, e vou utiliza-la. Agora a tilulo de curiosidade ... De uma escala de 1 a 5 em qual nivel vc colocaria essa materia?

E aproveitando esse topico para aprender + uma, quanto a avi´s como q eu distibuo eles. Em qual pasta do windows, quais arquivos, ... aquela conversa de sempre rsrsrs....

Obrigado.


GOSTEI 0
Eliasexner

Eliasexner

30/05/2006

Concordo com vocês

Se não interessar ao seu sistema mostrar o processo real de download,
a melhor maneira é realmente contruindo uma Thread para preencher seu progressbar.

um abraço a todos


GOSTEI 0
Adriano Santos

Adriano Santos

30/05/2006

[quote:39c8640960=´m@gnun´]Obrigado a todos.

Adiano, acabei de ler a sua materia e achei mt boa, e vou utiliza-la. Agora a tilulo de curiosidade ... De uma escala de 1 a 5 em qual nivel vc colocaria essa materia?
[/quote:39c8640960]

Olá [b:39c8640960]m@gnun[/b:39c8640960], obrigado pelo reconhecimento. É pensando na comunidade que desenvolvo dicas, exemplos e artigos. Quanto a sua pergunta eu prefiro que vc mesmo e nossos colegas do ClubeDelphi façam suas críticas e elogios, pois eu estaria sendo muito prepotente classificando meu próprio artigo. :wink:

[quote:39c8640960=´m@gnun´]
E aproveitando esse topico para aprender + uma, quanto a avi´s como q eu distibuo eles. Em qual pasta do windows, quais arquivos, ... aquela conversa de sempre rsrsrs....

Obrigado.[/quote:39c8640960]

Esta pergunta não entendi. Distribuir os AVI´s, o artigo que vc leu não foi relacionado a downloads? Porque da pergunta?
E não seria mais interessante postar num novo tópico, assim sua dúvida não fica encapsulada em outra dúvida entende?

Estou sempre as ordens. :wink:


GOSTEI 0
M@gnun

M@gnun

30/05/2006

hehe ops, eu nao quiz classificar o artigo nao, mesmo pq achei mt legal e tmb pq eu nao achei outro desse tipo, e acho q eh isso o + importante, fazer algo ainda nao tenha. Eu quiz dizer algo como nivel de conhecimento (pra ter uma ideia do meu nivel de conhecimento)... tipo basico, intermediario, avançado ...

sobre oa AVI´s, nao tem a ver com seu artigo nao, + eu acho q como o topico é sobre colocar um Progesso em uma determinada tarefa, quando alguem pesquisar por isso, var achar algo sobre AVI tmb ... jah que avi eh uma opção ... + eu vou postar outro topico...

valeu


GOSTEI 0
Adriano Santos

Adriano Santos

30/05/2006

[quote:c119088b18=´m@gnun´]hehe ops, eu nao quiz classificar o artigo nao, mesmo pq achei mt legal e tmb pq eu nao achei outro desse tipo, e acho q eh isso o + importante, fazer algo ainda nao tenha. Eu quiz dizer algo como nivel de conhecimento (pra ter uma ideia do meu nivel de conhecimento)... tipo basico, intermediario, avançado ...

sobre oa AVI´s, nao tem a ver com seu artigo nao, + eu acho q como o topico é sobre colocar um Progesso em uma determinada tarefa, quando alguem pesquisar por isso, var achar algo sobre AVI tmb ... jah que avi eh uma opção ... + eu vou postar outro topico...

valeu[/quote:c119088b18]

Blz [b:c119088b18]m@gnun[/b:c119088b18] se é assim, acredito eu, na minha humilde opnião, que classificaria como nível intermediário (talvez nivel 3), pois envolve o uso de interfaces que poucos programadores de aventuram. Eu mesmo não sou muito expert no uso delas. É complicado classificar o nível de complexidade de uma dica, artigo ou exemplo. Depente de muitos fatores.
Multi-camadas por exemplo: tô aprendendo agora e confesso me sentindo um analfabeto no que diz respeito a este assunto, ou seja, qq artigo sobre multi-camadas pra mim seria de nível 5 (bem complexo) rsrs.

:wink: :wink:


GOSTEI 0
POSTAR