Página 2 de 2
Fechar o Sistema Automático
Enviado: 13 Set 2015 10:32
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
Fechar o Sistema Automático
Enviado: 13 Set 2015 11:14
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
Fechar o Sistema Automático
Enviado: 13 Set 2015 12:04
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.
Fechar o Sistema Automático
Enviado: 13 Set 2015 16:05
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
Fechar o Sistema Automático
Enviado: 13 Set 2015 17:13
por Eolo
Inclua um CLEAR TYPEAHEAD antes da keysec(), pra limpar o que estiver no buffer do teclado.
Ele limpa o buffer.
Fechar o Sistema Automático
Enviado: 13 Set 2015 17:47
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,
Fechar o Sistema Automático
Enviado: 15 Set 2015 06:42
por lugab
Ah, ta explicado...
Obrigado, Eolo e Toledo...
Fechar o Sistema Automático
Enviado: 15 Set 2015 13:09
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!
Fechar o Sistema Automático
Enviado: 15 Set 2015 16:28
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
Fechar o Sistema Automático
Enviado: 17 Jun 2016 09:42
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