ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Label Carregando Piscante

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
JonasB
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Abril de 2013
Mensagens: 175

MensagemEnviada: Sex Mar 27, 2015 9:28 am    Assunto: Label Carregando Piscante Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
carbox
Colaborador
Colaborador


Registrado: Quarta-Feira, 3 de Março de 2010
Mensagens: 1471

MensagemEnviada: Sex Mar 27, 2015 10:11 am    Assunto: Re: Label Carregando Piscante Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
JonasB
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Abril de 2013
Mensagens: 175

MensagemEnviada: Sex Mar 27, 2015 10:33 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Sex Mar 27, 2015 10:48 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
carbox
Colaborador
Colaborador


Registrado: Quarta-Feira, 3 de Março de 2010
Mensagens: 1471

MensagemEnviada: Sex Mar 27, 2015 10:49 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Mar 27, 2015 10:58 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB