Componente Timer
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
Curtidas 0
Respostas
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
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
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
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
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