ProgressBar com Imagem
Olá pessoal, tudo bem? Espero que sim.
Gostaria de tirar uma dúvida com vocês. Eu tenho um progressbar que vai até o fim de uma tabela do BD. Consigo fazer ele normal, até consegui linkar um label nele pra mostrar quantos registros tem no total e um contador de registros, tipo 0/100, e deixo ele no meio do progressbar. Funciona perfeito e pra onde eu leve esse progressbar, o label sempre fica linkado nele.
A minha dúvida é a seguinte: Tem como eu fazer esse label, ou uma imagem que vou linkar ele, andar de acordo com o progresso? tipo ela começa no 0, no começo do progressbar e de acordo com o progresso dele, ela vai andando também até o fim. Tem como fazer isso?
Gostaria de tirar uma dúvida com vocês. Eu tenho um progressbar que vai até o fim de uma tabela do BD. Consigo fazer ele normal, até consegui linkar um label nele pra mostrar quantos registros tem no total e um contador de registros, tipo 0/100, e deixo ele no meio do progressbar. Funciona perfeito e pra onde eu leve esse progressbar, o label sempre fica linkado nele.
A minha dúvida é a seguinte: Tem como eu fazer esse label, ou uma imagem que vou linkar ele, andar de acordo com o progresso? tipo ela começa no 0, no começo do progressbar e de acordo com o progresso dele, ela vai andando também até o fim. Tem como fazer isso?
Allan Ramos
Curtidas 0
Respostas
Vinícius Belisário
09/03/2012
creio que sim cara, conforme o position do progressBar for aumentando, você aumenta a propriedade left do Label, pra ir acompanhando de acordo com a posição do progressBar
GOSTEI 0
Allan Ramos
09/03/2012
É verdade Vinicius, as vezes se pensa numa solução mirabolante que se esquece de fazer as coisas simples hehe.. vou tentar isso e posto aqui. Valeu. Abraço.
GOSTEI 0
Vinícius Belisário
09/03/2012
opa, posta sim cara, estou curioso pra saber se funciona certinho haha
GOSTEI 0
Allan Ramos
09/03/2012
Cara, funcionou hehe. Embora ainda não tenha ficado perfeito, funcionou. Botei uma imagem e no Loop eu fiz:
Image1.left := (ProgressBar1.Position * 7) - 110;
No caso, começando da posiçao - 110 do progressbar (110 é o tamanho da imagem), ele vai receber a posiçao multiplicado por 7, pois o progressbar tem tamanho 700, menos o tamanho dele, pra não sair fora da barra.
Ainda to tentando adaptar ele melhor, mas funcionou hehe.. Abraço.
Image1.left := (ProgressBar1.Position * 7) - 110;
No caso, começando da posiçao - 110 do progressbar (110 é o tamanho da imagem), ele vai receber a posiçao multiplicado por 7, pois o progressbar tem tamanho 700, menos o tamanho dele, pra não sair fora da barra.
Ainda to tentando adaptar ele melhor, mas funcionou hehe.. Abraço.
GOSTEI 0
Joao Silva
09/03/2012
aí galera teste este exemplo usando bd, obs: a imagem move de acordo com o tamanho de registros na tabela.
procedure TForm1.Button1Click(Sender: TObject);
var t:integer;
begin
for t := 0 to table1.RecordCount-1 do begin
progressbar1.Min := table1.RecNo;
progressbar1.Max := table1.RecordCount;
progressbar1.Position := t;
image1.Left := t*3;//(progressbar1.Position);//*7);//-110;
end;
table1.Last;
end;
procedure TForm1.Button1Click(Sender: TObject);
var t:integer;
begin
for t := 0 to table1.RecordCount-1 do begin
progressbar1.Min := table1.RecNo;
progressbar1.Max := table1.RecordCount;
progressbar1.Position := t;
image1.Left := t*3;//(progressbar1.Position);//*7);//-110;
end;
table1.Last;
end;
GOSTEI 0