|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Sex Mar 27, 2015 9:28 am Assunto: Label Carregando Piscante |
|
|
Bom dia, Pessoal
É algo estético, mas gostaria de ajuda.
Já procurei bastante mas não encontrei da forma que quero, já fiz isso em um projeto, pra mim que eu tinha utilizado o Sleep, mas não estou conseguindo mais fazer e perdi os fontes desse projeto.
Tenho uma tela que é basicamente um monitor, e nela tenho a Label 'Aguarde' e outras três Labels com '.', ficando 'Aguarde...'
Como faço para que esses pontos apareçam um seguido do outro ?
Se alguém puder ajudar, agradeço. |
|
Voltar ao Topo |
|
|
carbox Colaborador
Registrado: Quarta-Feira, 3 de Março de 2010 Mensagens: 1471
|
Enviada: Sex Mar 27, 2015 10:11 am Assunto: Re: Label Carregando Piscante |
|
|
Rapaz não sei se é o que você está procurando. Mas olha ai...
Código: |
procedure TFControle.Timer1Timer(Sender: TObject);
begin
inherited;
Tshape(Shape1).Visible:=True;
if tshape(shape1).Brush.Color=clBtnFace then
Begin
tshape(shape1).Brush.Color:=$00BFBFFF;
Tlabel(label1).Visible:=True;
End
else
Begin
tshape(shape1).Brush.Color:=ClBtnFace;
Tlabel(label1).Visible:=False;
End;
end;
|
Adicione um TLabel e um TTimer.
Espero ter ajudado.
JonasB escreveu: | Bom dia, Pessoal
É algo estético, mas gostaria de ajuda.
Já procurei bastante mas não encontrei da forma que quero, já fiz isso em um projeto, pra mim que eu tinha utilizado o Sleep, mas não estou conseguindo mais fazer e perdi os fontes desse projeto.
Tenho uma tela que é basicamente um monitor, e nela tenho a Label 'Aguarde' e outras três Labels com '.', ficando 'Aguarde...'
Como faço para que esses pontos apareçam um seguido do outro ?
Se alguém puder ajudar, agradeço. |
|
|
Voltar ao Topo |
|
|
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Sex Mar 27, 2015 10:33 am Assunto: |
|
|
Na verdade o que preciso é o seguinte efeito:
Aguarde
Aguarde.
Aguarde..
Aguarde...
Aguarde
Aguarde.
Aguarde..
Aguarde...
Deu pra entender ? Não sei se me expressei bem no 'piscante', não seria bem piscante, e somente um Visible em x tempo nas labels. São 4 Labels, lblAguarde, lblPonto1, lblPonto2, lblPonto3.
No Sleep ficaria basicamente assim:
lblAguarde.Visible := True;
Sleep(3000);
lblPonto1.Visible := True;
Sleep (3000);
lblPonto2.Visible := True;
Sleep (3000);
lblPonto3.Visible := True;
Sleep (3000);
Só que no Sleep não funciona, quando executa o Sleep ele trava a aplicação... |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Sex Mar 27, 2015 10:48 am Assunto: |
|
|
Tente assim:
Timer1 com Interval 2000 (2 segundos).
Código: | procedure TForm1.Timer1Timer(Sender: TObject);
begin
lbPonto1.Visible := True;
Application.ProcessMessages;
Sleep(300);
lbPonto1.Visible := False;
lbPonto2.Visible := True;
Application.ProcessMessages;
Sleep(300);
lbPonto2.Visible := False;
lbPonto3.Visible := True;
Application.ProcessMessages;
Sleep(300);
lbPonto3.Visible := False;
Application.ProcessMessages;
end; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
carbox Colaborador
Registrado: Quarta-Feira, 3 de Março de 2010 Mensagens: 1471
|
Enviada: Sex Mar 27, 2015 10:49 am Assunto: |
|
|
Atendi.. Você quer alternar entre as Labels "Aguarde" dando o efeito nas reticências.
E nesse tempo vai está executando algum comando?
JonasB escreveu: | Na verdade o que preciso é o seguinte efeito:
Aguarde
Aguarde.
Aguarde..
Aguarde...
Aguarde
Aguarde.
Aguarde..
Aguarde...
Deu pra entender ? Não sei se me expressei bem no 'piscante', não seria bem piscante, e somente um Visible em x tempo nas labels. São 4 Labels, lblAguarde, lblPonto1, lblPonto2, lblPonto3.
No Sleep ficaria basicamente assim:
lblAguarde.Visible := True;
Sleep(3000);
lblPonto1.Visible := True;
Sleep (3000);
lblPonto2.Visible := True;
Sleep (3000);
lblPonto3.Visible := True;
Sleep (3000);
Só que no Sleep não funciona, quando executa o Sleep ele trava a aplicação... |
|
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Mar 27, 2015 10:58 am Assunto: |
|
|
Bom dia,
Segue uma sugestão para teste com um Timer e 2 Labels (um para o 'Aguarde', outro para os pontos (Label2)):
Código: | procedure TForm1.Timer1Timer(Sender: TObject);
var
i: integer;
begin
i := Length(Label2.Caption);
if i < 3 then
Label2.Caption := DupeString('.', i + 1)
else
Label2.Caption := '';
end; |
obs: é necessário adicionar a unit StrUtils para utilizar a função DupeString
Espero que ajude. |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|