usuário ausente?
08/12/2005
1
pessoal existe alguma forma de saber quando o usuário está ausente?
explicando melhor .....
o sistema está aberto e por algum motivo a pessoa teve que sair e deixou ativo. eu queria gerar uma ação assim que o programa identificar que ninguém está usando o computador.
explicando melhor .....
o sistema está aberto e por algum motivo a pessoa teve que sair e deixou ativo. eu queria gerar uma ação assim que o programa identificar que ninguém está usando o computador.
Curtir tópico
+ 0
Responder
Posts
08/12/2005
você precisa identificar se o computador está uso, ou se o seu sistema está em uso?
Responder
08/12/2005
na verdade se o computador está em uso pois quero proteger o sistema.
Responder
08/12/2005
não ...
eu quero gewrar uma ação de logaut no meu sistema caso o usuário abandone o computaro ou eu reinicio ou eu fecho software .
minha preocupação é so com meu programa......
eu quero gewrar uma ação de logaut no meu sistema caso o usuário abandone o computaro ou eu reinicio ou eu fecho software .
minha preocupação é so com meu programa......
Responder
08/12/2005
Realmente isso seria uma boa mesmo! Se o usuário sair da maquina o sistema poderia tipo ficar bloqueado.
Naquele componente ApplicationEvents tem acho que um OnIdle porém meu caso:
Eu tenho um projeto todo modular onde praticamente cada formulário do meu programa pertence a um pacote especifico. Isso é apra facilitar a manutenção (e realmente é mt melhor). O ApplicationEventos, com evento OnIdle, irá pegar também o tempo ocioso dos fomrularios no pacote?
Aqui mesmo na empresa é um problema sério, o cara vai no banheiro e qd ve tem gente na maquina. Mesmo que a regra geral seja bloquear a estação (estações WinXP ou Win2kProf) tem sempre um cabeçudo que esquece.
Valeu!
Naquele componente ApplicationEvents tem acho que um OnIdle porém meu caso:
Eu tenho um projeto todo modular onde praticamente cada formulário do meu programa pertence a um pacote especifico. Isso é apra facilitar a manutenção (e realmente é mt melhor). O ApplicationEventos, com evento OnIdle, irá pegar também o tempo ocioso dos fomrularios no pacote?
Aqui mesmo na empresa é um problema sério, o cara vai no banheiro e qd ve tem gente na maquina. Mesmo que a regra geral seja bloquear a estação (estações WinXP ou Win2kProf) tem sempre um cabeçudo que esquece.
Valeu!
Responder
08/12/2005
então como ficaria p/ gerar a ação? o meu não está em modulos o evento ficaria no form principal ...
Responder
08/12/2005
Bom, eu nunca usei este componente, só sei de sua existencia. Tem que rodar na net atrás do funcioamento dele, ou no proprio help do Delphi pois ele é um componente nativo.
Responder
08/12/2005
ai complicou pois já rodei atraz disso antes de recorrer no clube
Responder
08/12/2005
pessoal não era bem isso que eu tinha em mente mas o resultado foi o esperado
vou diexar aqui p/ quem tiver com o mesmo problema de usuário relaxado....
NO FORMULÁRIO PRINCIPAL DE SUA APLICAÇÃO, AJUSTE A PROPRIEDADE KeyPreview PARA true,
INSIRA O COMPONENTE TTimer
E AJUSTE O INTERVALO PARA 1000 MILESEGUNDOS
---------------------------------------------
private
procedure ResetTimeOut;
public
{ Public declarations }
end;
------------------------------------
implementation
const
maxTimeOutValue = 300; // 300 segundos = à 5 minutos
var TimeOut : integer; // será incrementando pelo TTimer
{$R *.dfm}
procedure TForm1.ResetTimeOut;
begin
TimeOut := 0;
end;
-----------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
timeOut:= 0;
end;
-------------------------------------------------------
procedure TForm1.Timer1Timer(Sender: TObject);
begin
inc(TimeOut);
if TimeOut = MaxTimeOutValue then
begin
Timer1.enabled:= false;
close;
end;
end;
-------------------------------------------------------------
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ResetTimeOut;
end;
vou diexar aqui p/ quem tiver com o mesmo problema de usuário relaxado....
NO FORMULÁRIO PRINCIPAL DE SUA APLICAÇÃO, AJUSTE A PROPRIEDADE KeyPreview PARA true,
INSIRA O COMPONENTE TTimer
E AJUSTE O INTERVALO PARA 1000 MILESEGUNDOS
---------------------------------------------
private
procedure ResetTimeOut;
public
{ Public declarations }
end;
------------------------------------
implementation
const
maxTimeOutValue = 300; // 300 segundos = à 5 minutos
var TimeOut : integer; // será incrementando pelo TTimer
{$R *.dfm}
procedure TForm1.ResetTimeOut;
begin
TimeOut := 0;
end;
-----------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
timeOut:= 0;
end;
-------------------------------------------------------
procedure TForm1.Timer1Timer(Sender: TObject);
begin
inc(TimeOut);
if TimeOut = MaxTimeOutValue then
begin
Timer1.enabled:= false;
close;
end;
end;
-------------------------------------------------------------
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ResetTimeOut;
end;
Responder
08/12/2005
Olá,
Foi uma solução mesmo, mas você usou o evento OnIdle né? Pois não encontrei em seu código onde ele começaria a contar o tempo ocioso. Tipo, seo cara vai e digita algo então ele recomeça a contar.
Valeu!
Foi uma solução mesmo, mas você usou o evento OnIdle né? Pois não encontrei em seu código onde ele começaria a contar o tempo ocioso. Tipo, seo cara vai e digita algo então ele recomeça a contar.
Valeu!
Responder
08/12/2005
na verdade o que fiz é toda vez que a aplicação for clicada ele reinicia o contador do timer ou seja ele aciona
procedure TForm1.ResetTimeOut;
procedure TForm1.ResetTimeOut;
Responder
09/12/2005
Pessoal:
O componente para controle de acesso que comercializo tem essa função de TimeOut. Quem tiver interesse, pode dar uma olhadinha na página.
O componente para controle de acesso que comercializo tem essa função de TimeOut. Quem tiver interesse, pode dar uma olhadinha na página.
Responder
Clique aqui para fazer login e interagir na Comunidade :)