Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Emmanoel Sukhov

Delphi - Problema com progressbar

Recommended Posts

Olá meus amigos vou explicar meu problema claramente...

 

Eu atualmente tive necessidade de atualizar minhas aplicações para que meus clientes não precisem ficar baixando as atualizações, decidi fazer um auto-atualizador para que atualize automaticamente, bom usei o componente idhttp onde o programa captura o link a ser baixado e onde vai salvar o arquivo no computador da pessoa, usei 2 barra de progresso, 1º barra é o processo DO ARQUIVO, a 2º barra é o PROCESSO TOTAL, lembrando que ele baixa 1 arquivo por vez, funcionou perfeito, mas o meu problema é na 2º barra onde memoriza o processo total...

 

Fiz os seguintes calculos

 

Quant = total de arquivos a ser baixado vezes 100, ou seja se for baixar 2 arquivos o total vai ser 200

 

ProgressBar2.Position:= ProgressBar1.Position * 100 div ProgressBar1.Max * Quant*100 div ProgressBar2.Max;

 

Eu usei a funcao em laranja dentro do onworkbegin do idhttp ela cresce perfeitamente, mas quando começa um novo download a barra começa do 0 novamente, como eu poderia fazer para memorizar o processo da barra, sem que ela comece novamente

 

Obrigado meus amigos, espero que fui claro pois sou péssimo em explicar.

 

Um abraço grato. :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia criar duas variáveis globais auxiliares para usar dentro deste onworkbegin para controlar o quanto já andou do download... por exemplo, a primeira seria um contador que poderia começar em 0 e a cada passagem no onworkbegin ser incrementada em 1, ao mesmo tempo que outra variável auxiliar receberia o valor atual do seu progressbar.... e ai bastaria você somar ao seu cálculo essa auxiliar para manter o progressbar contando o 1° download.... só precisaria ver um outro momento no seu código para resetar estas variáveis para não zuar seu progressbar.... é uma idéia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.