Fechar o Sistema Automático

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Fechar o Sistema Automático

Mensagem por Eolo »

É a mesma coisa: ligue o keysec() antes do ponto de parada. E desligue, depois dele.

Código: Selecionar todos

@10,10 get blablabla
keysec(27,60,,.T.)
read
keysec()
if lastkey()=27
 retu
endi
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Fechar o Sistema Automático

Mensagem por lugab »

Ih, Eolo, o KeySec() paou de funcionar também antes do read...
O programa fica paradão pq ele não faz a contagem e nunca desce por gravidade

Conhece algum Plano B ? To usando o Harbour 2.0
lugab
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Fechar o Sistema Automático

Mensagem por Eolo »

Ih, Eolo, o KeySec() paou de funcionar também antes do read...
O programa fica paradão pq ele não faz a contagem e nunca desce por gravidade
Esse “parou de funcionar” quer dizer que funcionou e depois parou de funcionar? Ou nem funcionou? Não entendi. E por que “também”?

E não é bem “descer por gravidade”. A função joga o chr(27) – ou o que for – no buffer do teclado. É como se vc apertasse a tecla ESC na execução do READ, após 1 minuto, fazendo sair do estado de espera. Aí precisa ver o que vem depois do READ, no seu código.

Bão, como a função retorna .T. ou .F., dependendo se foi ou não ativada corretamente, faça o teste aí:

ok=keysec(27,60,,.T.)
wait ok
ok=.t. // ativou
ok=.f. // não ativou

Faça um teste em separado, no começo do seu sistema, antes de qualquer outra coisa. Quem sabe tem algo atrapalhando...

Não, não tenho um plano B, porque comigo aqui funciona normal em qualquer ponto de parada (inkey(0), read, tbrowse etc).

Eu uso xHarbour. Vou pedir pra um colega, que usa o Harbour, fazer um teste.
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Fechar o Sistema Automático

Mensagem por lugab »

Eolo, eu interpretei errado.
Na verdade não fica parado como acreditei. Desce direto pelo keysec(). sem respeitar os 60 seg de pausa,
e carrega o Lastkey() com o número 13 ( certamente o <enter> do último campo da tela anterior)

Código: Selecionar todos

keyb chr(0)
inkey()
keysec(27 , 60 ,, .t.)
tresp=lastkey()
@ 24,25 say tresp ; inkey(0)
Parece q Keysec() só funciona mesmo com o Xharbour
lugab
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Fechar o Sistema Automático

Mensagem por Eolo »

Inclua um CLEAR TYPEAHEAD antes da keysec(), pra limpar o que estiver no buffer do teclado.
Ele limpa o buffer.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Fechar o Sistema Automático

Mensagem por Toledo »

lugab escreveu:Parece q Keysec() só funciona mesmo com o Xharbour
Fiz um teste com o Harbour e funcionou certinho.
lugab escreveu:To usando o Harbour 2.0
O problema tá ai, testei compilando com o Harbour 3.2 que vem com a HMG 3.4.0 e também com o Harbour 2.0 que vem com a HMG 3.0.35. Com o Harbour 3.2 funcionou certinho, já com o Harbour 2.0 não.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Fechar o Sistema Automático

Mensagem por lugab »

Ah, ta explicado...

Obrigado, Eolo e Toledo...
lugab
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Fechar o Sistema Automático

Mensagem por ANDRIL »

Creio que o uso de BGEVENTS ativaria uma função que verifica em qualquer parte do sistema a ociosidade, caso fique um certo tempo sem uso do teclado, pode-se disparar um bloqueio de tela ou mesmo sair do sistema. Acho mais conveniente porque não precisaria alterar muito no sistema como INKEY(), MENU TO, ACHOICE e MEMOEDIT.

A um tempo atras quando precisei implentar o uso da lib, criei um post veja:
https://pctoledo.org/forum/viewto ... ent#p22292


As funções estão na EVEN.LIB, não lembro de onde baixei. Como o que deseja é sair ou bloquer não vejo problema como o relatado no
post (prender o primeiro plano).

Boa sorte!
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
paiva_dbdc
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 12 Nov 2012 09:58
Localização: uberlandia mg

Fechar o Sistema Automático

Mensagem por paiva_dbdc »

eu parametrizei no cadatro da empresa quanto minutos pode ficar sem mexe excedeu dou close all e saiu.

no menu , preview no browser etc sao atualizadas essas variaveis


posso procurar

PAiva
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Fechar o Sistema Automático

Mensagem por janio »

Há para HARBOUR alguma função ou biblioteca para verificar a OCIOSIDADE ou INATIVIDADE do sistema? Que funcione, inclusive, com as bibliotecas visiuais (hwgui, miniguia, fivewin, etc)

Janio

[EDITADO]
Acho que no tópico abaixo tem a solução!
Vou testar!

viewtopic.php?f=45&t=15002&p=88212&hilit=inatividade#p88212
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Responder