Componente Timer

Delphi

09/03/2004

Usando o componente Timer ou qqer outro, gostaria de fazer na tela principal do meu sistema, qdo ficar um tempo o mouse parado ele abrir a tela de login para trocar de usuário, é possível? Ou alguma sugestão


Janete

Janete

Curtidas 0

Respostas

Fabio.hc

Fabio.hc

09/03/2004

Tente assim:


var
  Form1: TForm1;
  Log:integer;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Log:=Log-1;
   if (Log=0) then
      Form2.ShowModal; // tela de login
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   Log:=(60);//1 minuto
end;



GOSTEI 0
Janete

Janete

09/03/2004

Tente assim:
var
  Form1: TForm1;
  Log:integer;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Log:=Log-1;
   if (Log=0) then
      Form2.ShowModal; // tela de login
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   Log:=(60);//1 minuto
end;


Esta parte de qdo mover o mouse não deu certo, e tb não entendi muito bem, bom teria q ser se a pessoa não mover o mouse em 1 minuto é ativado a tela de login, e dessa forma não deu eu coloquei ao contrario: não sei se é o certo vc estava subtraindo e eu somei aí então aparece a tela de login e zera o Log só q falta a parte q falei do mouse q não deu:
Log:=Log+1;
if (Log=60) then
begin
FrmLogin.ShowModal;
Log:=0;
end;
se estiver errada me corrija


GOSTEI 0
Janete

Janete

09/03/2004

Consegui achar o problema é q tenho uma imagem sobre o form então coloquei em onmousemove da imagem. Obrigado


GOSTEI 0
Cabelo

Cabelo

09/03/2004

a rsposta postada pelo amigo Fabio.HC deveria funcionar..

preste atenção aos eventos onde estão sendo declarados os códigos, se estes eventos não estão trocados..

para vc entender o que irá acontecer..

veja se a propriedade interval do timer está setado com 1000 (1 segundo)

toda as vezes que eu mover o mouse a varável Log irá receber 60, depois disso o timer irá de segundo em segundo subtraindo 1 do valor da variável log

assim

Log = 60

passado 1 segundo

log = 59

passado mais 1 segundo

log = 58

assim por diante

quando a variável Log chegar a 0 ela irá mostar a tela de Login.

pelo que entendi da sua pergunta esta rotina está totalmente certa e deveria funcionar..

sem mais

Cabelo


GOSTEI 0
POSTAR