sitko 0 Denunciar post Postado Abril 12, 2004 Olá Pessoal,Preciso fazer com que meu sistema chame a tela de logon do usuário automaticamente depois de um determinado tempo que o sistema esteja inativo, isso seria muito util, pois muitos usários esquecem suas maquinas com o sistema logados em seus nomes dando total acesso a outros usuários sem que efetuem o logon.Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Abril 12, 2004 coloca um timer no formulário de senha......vai ser facil.... Compartilhar este post Link para o post Compartilhar em outros sites
sitko 0 Denunciar post Postado Abril 13, 2004 até ae é facil, o problema é eu detectar que o sistema esta inativo ou seja ninguem esta usando o mesmo, pois a partir desse momento o tempo começa a contar. Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Abril 13, 2004 primeiro elabore uma rotina leve...depois faça o segunte...coloque o timer funcionando...sempre que alguma coisa for mudada você começa a contar denovo.....sacou? Compartilhar este post Link para o post Compartilhar em outros sites
sitko 0 Denunciar post Postado Abril 14, 2004 Olá Proteus,O que você se refere alguma coisa for mudada? se for em questão a dados, impossivel, pois o sistema esta em rede e nesse caso não daria certo.Valeus... Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Abril 14, 2004 quando o sistema está inativo você não mexe nem no mouse.. e nem no teclado... certo???tipo quando tá em modo de espera...pode ser que estes eventos sirvam pra você Compartilhar este post Link para o post Compartilhar em outros sites
sitko 0 Denunciar post Postado Abril 14, 2004 Você tem alguma função onde eu detecto se ou mouse e teclado estão parados?Valeus. Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Abril 14, 2004 a minha ideia não era essa....a minha ideia era... no on key press e no om mouse move zerar o contador....num é bem mais simples ????só tem um probleminha...se o kra abrir o seu sistema. e sem fecha-lo for digitar um testo no word..... o programa não vai detectar nenhuma tecla e vai continuar contando.....mas pode ser que te atendamas se for do seu interesse eu posso pesquisar isso...mas com certeza você vai ter que recorrer a uma api.... Compartilhar este post Link para o post Compartilhar em outros sites
WiCkEd 0 Denunciar post Postado Abril 15, 2004 Ah cara eu uso da seguinte maneira: Coloco um Timer no Form principal e deixo ativo contando, toda vez que um outro formulário é chamado ou fechado eu zero a contangem, entretando se nenhum form foi aberto, ou form é aberto e ficar muito tempo, eu deixo 2 minutos, daí chamo o form de logon.A idéia de keydown ou mosemove é mais precisa, mas em alguns forms não dá pra pegar captar pq outros componentes ficam focados. Compartilhar este post Link para o post Compartilhar em outros sites
sitko 0 Denunciar post Postado Abril 17, 2004 Olá Proteus e Wicked,Valeu amigos, montei o esqueminha e esta funcionando certinho...Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
proteus 0 Denunciar post Postado Abril 19, 2004 então mostra...eu não sei quanto ao Wicked, mas eu tô curioso pra saber como ficou Compartilhar este post Link para o post Compartilhar em outros sites
sitko 0 Denunciar post Postado Abril 21, 2004 Coloquei um Timer no formulário principal com o seguinte procedimento:procedure TFrmPrincipal.TAtivaTempoTimer(Sender: TObject);begin if CheckBox2.Checked = True then Begin V_TempoPercorrido := V_TempoPercorrido + 1; if V_TempoPercorrido >= 300 then if FrmLogon = Nil then begin V_TempoPercorrido := 0; FrmLogon := TFrmLogon.Create(Application); FrmLogon.ShowModal; FrmLogon.Release; end; end; if FrmLogon <> Nil then V_TempoPercorrido := 0;end;Em todos os forms do projeto nos enventos OnKeyPress e OnMouseMove mando a variavel V_TempoPercorrido := 0 ou seja, em qualquer tecla que se teclar ou qualquer movimento do mouse a variavel zera iniciando a contagem do timer e caso não se tenha nenhum tipo de ação o sistema chama a tela de logon automaticamente após o tempo determinado vencer.Caso o form tenha obejtos sobre ele tipo panel, você terá que colocar o comando sobre o evento do panel.Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
Jr Cavalo 0 Denunciar post Postado Julho 14, 2004 Ae pessoal, gostei do assunto e gostaria de dizer que tambem possuo uma rotina essencial para este fundamento, muito boa mermo. Usando tambem um Try Icon. Compartilhar este post Link para o post Compartilhar em outros sites
Ezequiel Arcanjo 0 Denunciar post Postado Junho 29, 2010 Coloquei um Timer no formulário principal com o seguinte procedimento: procedure TFrmPrincipal.TAtivaTempoTimer(Sender: TObject); begin if CheckBox2.Checked = True then Begin V_TempoPercorrido := V_TempoPercorrido + 1; if V_TempoPercorrido >= 300 then if FrmLogon = Nil then begin V_TempoPercorrido := 0; FrmLogon := TFrmLogon.Create(Application); FrmLogon.ShowModal; FrmLogon.Release; end; end; if FrmLogon <> Nil then V_TempoPercorrido := 0; end; Em todos os forms do projeto nos enventos OnKeyPress e OnMouseMove mando a variavel V_TempoPercorrido := 0 ou seja, em qualquer tecla que se teclar ou qualquer movimento do mouse a variavel zera iniciando a contagem do timer e caso não se tenha nenhum tipo de ação o sistema chama a tela de logon automaticamente após o tempo determinado vencer. Caso o form tenha obejtos sobre ele tipo panel, você terá que colocar o comando sobre o evento do panel. Abraços. O código do nosso amigo está beleza! Só falta 2 detalhes se não da erro declarar a variavel V_TempoPercorrido: integer; e o segundo é begin if CheckBox2.Checked = True then Begin V_TempoPercorrido := V_TempoPercorrido + 1; if V_TempoPercorrido >= 300 then if FrmLogon = Nil then begin V_TempoPercorrido := 0; FrmLogon := TFrmLogon.Create(Application); FrmLogon.ShowModal; FrmLogon.Release; FrmLogon:=Nil;// Se não ele não executa novamente o código. end; end; if FrmLogon <> Nil then V_TempoPercorrido := 0; end; Mais no geral o código funciona perfeito! Compartilhar este post Link para o post Compartilhar em outros sites