Página 1 de 1
sair de um Dbedit se nao estiver usando
Enviado: 23 Jul 2010 21:07
por porter
boa noite pessoal, gostaria de saber o seguinte, tem como sair de um Dbedit apos um determinado tempo sem usar, por exemplo um cadastro de cliente, se ninguem usa-lo ou seja incluir, alterar, etc algum registro, seria pressionada automaticamente uma tecla esc por exemplo, depois de um tempo pre-estabelecido e sairia do Dbedit. Isso porque o usuario, nao esta usando o sistema, e estao abertos varios arquivos, se sair de forma automatica, todos os arquivos serao fechados.
Nao sei se expliquei direito.
desde ja obrigado.
Re: sair de um Dbedit se nao estiver usando
Enviado: 23 Jul 2010 22:26
por alaminojunior
Precisaría ver como o colega está codificando este dbedit() para sugerir algo.
O que eu aconselho é trocar o dbedit por tbrowse que é mais flexível para isso.
Re: sair de um Dbedit se nao estiver usando
Enviado: 24 Jul 2010 15:13
por ANDRIL
Amigo, abaixo segue o código que talvez venha a lhe servir.
Código: Selecionar todos
*--variavel com conteudo de tempo maximo para a ociosidade em segundos
maxocioso=5
*--abra se dbf aqui
use c:\np\produto
dbedit(00,00,24,79,"","funcao")
Aqui a funcao de controle para o seu DbEdit()
Código: Selecionar todos
function funcao
parameters modo, campo
l_=row()
c_=col()
t=field(campo)
t1=&t
@l_,c_ say t1 colo "n/w"
if lastkey()=27
return 0
elseif lastkey()=13
return 0
else
segundos=0
keyb chr(0)
do while lastkey()=0
inkey(1.00)
if lastkey()#0
keyb chr(lastkey())
exit
endif
segundos++
if segundos=maxocioso
cls
? "A funcao DBEDIT foi finalizada por ociosidade."
close all
quit
endif
@24,00 say "Tempo ocioso: "+alltrim(str(segundos))+" segundos."
enddo
return 2
endif
O ideal seria voce usar uma função em Background usando a BGEVENT.LIB que permite colocar funções rodando em segundo plano, assim, voce criaria uma função que se o sistema ( independente de onde estivesse, DbEdit, Achoice, Get, Prompt etc ) nao tivesse uso de teclado por um determinado tempo, o sistema seria bloqueado e seus arquivos fechados ou simplesmente fecharia o sistema.
Boa Sorte.
Ate+