Fórum Logoff Automatico - 5ª Tentativa #168660

10/07/2003

0

Tenho um aplicativo em IB6. Cadastro uma senha para cada usuário. Pretendo fazer com q ao passar um determinado tempo(ex. 5 a 10 minutos) se o usuario NAO utilizar o sistema o proprio fara logoff automatico e entrara na tela de logon.


Tem alguem q possa passar-me um exemplo deste.


DESDE JA AGRADEÇO A SUA ATENÇÃO.


sds
Anderson


Agaraujo

Agaraujo

Responder

Posts

10/07/2003

Wagnerpb

dê uma olhada no código abaixo, é so uma idéia...

São utilizados dois componentes RXTIMER
.
.
.
.
implementation

{$R *.dfm}

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If WTravaSistema = True then
begin
WTravaSistema:=False;
RxTimerEvent2Timer(Sender);
end
else
WTravaSistema:=False;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
WTravaSistema:=False;
end;

procedure TForm1.RxTimerEvent1Timer(Sender: TObject);
begin
WTravaSistema:=True;
end;

procedure TForm1.RxTimerEvent2Timer(Sender: TObject);
begin
If WTravaSistema = True then
Label1.Caption:=´Sistema travado!!!´
else
Label1.Caption:=´Sistema destravado!!!´;
end;

end.



Espero ter ajudado...


Responder

Gostei + 0

10/07/2003

E_gama

Uma alternativa seria:

Primeiro: TODOS os seus formulários devem saber que o tempo determinado se esgotou, e devem fechar automaticamente;
Uma solução para isso, seria vc criar nos formulários uma procedure que responda a ´mensagens´ enviadas a ele. Ao receber a mensagem, o formulário faz tudo que é necessário para fechar-se automáticamente para evitar qualquer problema...

Segundo: No seu formulário principal, vc tem que colocar um componente TTimer para temporizar o tempo desejado para que seja feito o ´logoff´.
Quando o tempo estourar, ele verifica quais formulários estão abertos, e envia a eles a mensagem de ´fechamento´.

Preparei um pequeno exemplo, pegue-o no link abaixo:
[url]www.salesiano.com.br/egama/ClubeDelphi3.zip[/url]

Tem que pensar ainda em como detectar quando o usuário está ou não utilizando o sistema. Vou pensar em algo aqui e qq coisa lhe contacto...


Responder

Gostei + 0

10/07/2003

Theuscr

O código pra executar o Logoff do Windows pode ser achado na API do Windosw, mas já facilitarei seu trabalho:
ExitWindows(EWX_LOGOFF,EW_RESTARTWINDOWS);


Fácil, neh??? :roll:


Responder

Gostei + 0

10/07/2003

Motta

De uma olhada no help em

TApplication.Idle , pode te ajudar


Responder

Gostei + 0

10/07/2003

E_gama

Utilizando a dica do amigo Motta, alterei o exemplo anterior
Baixe-o o arquivo que enviei no post anterior novamente para testar...

Faça o seguinte teste:

Quando vc executar a aplicação, ele vai abri um Form com um Botao e uma Caixa de Texto.
O Form tambem contem um Timer de 5 segundos...

ao clicar no botao, ira abrir um novo form em branco.
Se vc ficar esperando ele vai dar uma mensagem para fechar em 5 segundos (vc é claro pode configurar isso), mas se depois que clicar no botao, vc ficar digitando algo na caixa de texto (sem fechar o novo form que abriu), a aplicação seguira normalmente, mas se vc ficar mais do que 5 segundos sem digitar nada, a mensagem para fechar será mostrada novamente...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar