Fórum ShowMessage com tempo se o usuário esquecer de clicar OK #241072
02/07/2004
0
Tentei recupera-lo agora, mas nao encontrei.
Alguem o possui e, se sim, pode enviar para mim?
Claudemir
Xlobao
Curtir tópico
+ 0Posts
02/07/2004
Rafaelunp
Se dedscobrir manda pra mim também!
To precisando disso tb...
Vou dar uma pesquisada...
Gostei + 0
02/07/2004
Dataclass
Está aí uma maneira de avisar o usuario para clicar num botão ou qualquer outra coisa.
No caso usamos um Timer.
{Procedimento avisa a cada 5 segundos}
procedure TForm1.TimerAvisoTimer(Sender: TObject);
begin
//incrementando o contador
segundos := segundos +1;
//caso já façam 5 segundos emite mensagem
if segundos =5 then
begin
ShowMessage(´Clique OK!´);
segundos :=0;
end;
end;//iniciando o contador e o timer procedure TForm1.FormShow(Sender: TObject); begin segundos := 0; TimerAviso.Enabled := True; end;
Gostei + 0
03/07/2004
Rafaelunp
{Procedimento avisa a cada 5 segundos}
procedure TForm1.TimerAvisoTimer(Sender: TObject);
begin
//incrementando o contador
segundos := segundos +1;
//caso já façam 5 segundos emite mensagem
if segundos =5 then
begin
ShowMessage(´Clique OK!´);
segundos :=0;
end;
end;//iniciando o contador e o timer procedure TForm1.FormShow(Sender: TObject); begin segundos := 0; TimerAviso.Enabled := True; end;
Acho que não era bem isso que eu queria....
Seguinte, imagine que apareceu uma mensagem para o usuario (um ShowMessage ou Aplication.MessageBox) ai o usuário foi tomar um café e o restante dos processos está dependendo daquele ´ok´. Então eu gostaria que após xsegundos o Showmessage fosse fechado para dar continuidade aos processos...
Obrigado!
Gostei + 0
03/07/2004
Afarias
T+
Gostei + 0
03/07/2004
Plautz
Bom, adaptei algum código para fechar uma MessageBox depois de determinado tempo. Só não consegui fazer com que o o que está escrito na mensagem indicasse o tempo restante.
Segue o código:
procedure TForm1.Button1Click(Sender: TObject); Begin Timer1.Interval := 5000; // Tempo que a msg ficará na tela -> 5 Segs Timer1.Enabled := True; MessageBox(Handle, PChar(´Algum baguio aqui!´), Pchar(´Titulo´), 8224); end; procedure TForm1.Timer1Timer(Sender: TObject); begin keybd_event(VK_RETURN,0,0,0); Timer1.Enabled := False; end;
Espero que possa ajudá-lo.
Se alguém souber como fazer para que, além da mensagem desaparecer, conste na mensagem o tempo restante, por favor postem. (Achei na página do Torry alguns componentes que fazem isso, ou pelo menos dizem que fazem pois não testei. Sei que existe uma maneira de fazer isso apenas com código, fugindo de componetes.)
Abraços.
Gostei + 0
03/07/2004
Plautz
[url]http://www.clubedelphi.com.br/aplicativos/tempomsg.html[/url]
Qualquer coisa entrem em contato. Abraços.
Gostei + 0
03/07/2004
Vieira_alex
Espero ter ajudado..... :D
Gostei + 0
04/07/2004
Xlobao
Abaixo, pequena adaptacao de trecho do codigo enviado por um camarada forense.
Acrescente um TBitBtn e um TTimer e aponte os eventos OnClick.
procedure TFProv_Principal.BitBtn1Click(Sender: TObject);
begin
Timer1.Interval := 3000; // Tempo que a msg ficará na tela -> 3 Segs
Timer1.Enabled := True;
MessageBox(Handle, PChar(´Testando MessageBox com tempo pré-definido.´), Pchar(´Titulo´), 8224);
end;
procedure TFProv_Principal.Timer1Timer(Sender: TObject);
begin
keybd_event(VK_RETURN,0,0,0);
Timer1.Enabled := False;
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)