Barra de Progresso

09/02/2006

0

Estou criando uma função para gerar alguns dados e quero colocar uma Barra de Progresso, só que a barra de progresso pode ser vários tipos e de terceiros, então não tenho como colocar uma função assim

procedure Dados(Barra: TProgressBar);

Por que nem todos funcionam.

Como faço para resolver isso??


Rudá

Rudá

Responder

Posts

09/02/2006

Motta

Use o typecast

algo assim




procedure Pula (barra : TObject,passo,integer);
begin
   if barra is TProgressBar then
     TProgressBar(barra).StepBy(passo);
   if barra is TBarraQualquer then
     TBarraQualquer(barra).PulaPula(passo);
   // outra barra
end; 



Como os métodos devem variar um if para cada barra, não me ocorre outra solução.


Responder

09/02/2006

Rudá

Valeu pela ajuda, mas assim não adianta, já que eu não tenho como saber qual é que o cara que for usar o componente vai colocar o progressbar

Eu pensei em fazer assim.

procedure TForm1.Dados(var Posicao: Integer);
begin
Posicao:= 100;
end;

E na hora de executar fazer isso

procedure TForm1.Button1Click(Sender: TObject);
begin
Dados(ProgressBar.Position);
end;

Da o erro na hora de copilar [b:c4e74a450d]Constant object cannot be passed as var parameter[/b:c4e74a450d] na linha [b:c4e74a450d]Dados(ProgressBar.Position);[/b:c4e74a450d]

Tem como ver isso???


Responder

10/02/2006

Motta

O que exatamente vc está criando ?

Como será usado ? Por outros ?

Como os métodos diferem para as Classes não vejo como fazer algo generico.


Responder

10/02/2006

Delphi32

Não sei se é o caso, mas muitos componentes utilizam um evento OnProgress no qual uma das variáveis é a posição atual. O usuário pode ir lá e fazer o que quiser com esse valor (jogar no componente barra de progresso que ele utilizar).

Não sei se te ajuda, mas fora a opção dada pelo Motta, essa é a única maneira que consegui imaginar...

t+!


Responder

10/02/2006

Rudá

Estou criando um aplicativo para fazer o backup de vários tipos de banco de dados e para mostrar o processo, usar componentes para mostrar o processo, então quer dizer que o cara que for usar(instalar meu componete e for usar ele) vai colocar uma barra de progresso que eu não vou saber qual é então eu precisso que a função atualize a variável do componente(progress).


Responder

10/02/2006

Delphi32

Lembrei outra...

uma outra opção, mas que eu acho que você não vai querer usar, seria a de colocar uma propriedade ProgressBar no componente... O problema é que dessa maneira você vai restringir somente a esse componente...

t+!


Responder

10/02/2006

Gandalf.nho

Dê uma olhada na biblioteca RxLib, se não me engano tem uma função que tem uma proposta semelhante, talvez possa ajudar a montar a sua.


Responder

10/02/2006

Rudá

Criei um Event OnBackupProgresso

Nesse evento coloquei a posição, ai o cara que for usar pega a posicao e manda para o seu componente;

Valeu pela ajuda pessoa.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar