Controle de Inatividade

Delphi

15/10/2010

Olá pessoal, estou precisando fechar o sistema por inatividade( falta de uso ).   Alguem tem algum idéia ?   Obrigado.
Marcelo

Marcelo

Curtidas 0

Respostas

Wilson Junior

Wilson Junior

15/10/2010

O que você considera inatividade? Explique melhor.
GOSTEI 0
Marcelo

Marcelo

15/10/2010

Sim, me desculpe por não ter me explicado melhor..... O usuário abre o sistema e fica sem operá-lo por varias horas eu queria colocar um time, após 10 minutos sem fazer nada o sistema o mesmo expira e fecha automaticamente.   Muito obrigado...
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

15/10/2010

creio ser possível usando os eventos OnIdle e OnMessage da aplicação.

tente colocando estes procedimentos no seu form principal:

procedure TForm14.FormCreate(Sender: TObject);
begin
  Application.OnIdle := LigaTimer;
  Application.OnMessage := DesligaTimer;
end;

procedure TForm14.LigaTimer(Sender: TObject; var Done: Boolean); // liga o timer ao ficar ocioso
begin
  Timer1.Enabled := True;
end;

procedure TForm14.DesligaTimer(var MSG: tagMSG; var Handled: Boolean); // desliga o timer ao entrar em atividade
begin
  Timer1.Enabled := False;
end;

procedure TForm14.Timer1Timer(Sender: TObject); // ao executar o timer, depois do tempo informado
begin
  // Aqui você executa a ação cabível. no meu caso apenas alterei um label.
  Label1.Caption := SysUtils.TimeToStr(SysUtils.Now());

end;


no meu exemplo coloquei 10 segundos no timer (timer.interval = 10000).
veja se isso funciona.

GOSTEI 0
Wilson Junior

Wilson Junior

15/10/2010

Marcelo, não precisa se desculpar, apenas solicitei mais esclarecimentos para poder lhe ajudar da melhor forma.

Bom, o Emerson já postou uma boa solução.

Qyualquer coisa é só perguntar.
GOSTEI 0
Marcelo

Marcelo

15/10/2010

Tem que declarar alguma coisa em USES ??
GOSTEI 0
Leonardo Xavier

Leonardo Xavier

15/10/2010

Não você nao precisa declarar nada no exemplo acima você apenas coloca um timer em seu formulário e coloca o código qua te foi passado. e com certeza seu problema será resolvido.
GOSTEI 0
POSTAR