Página 1 de 1
TEF - Travar o teclado
Enviado: 31 Out 2005 15:22
por cainelli
Caros colegas,
Pesquisei no forum e não encontrei resposta.
Estou com problemas com as teclas CTRL+C. Quando uso estas teclas a tela do meu programa vai subindo e na última linha fica o ^C.
Não fecha o programa, mas da este detalhe, q acho q pode causar problemas na homologação.
Gostaria de saber se alguém passou por este problema e como resolveu.
Uso clip53 + Blinker 6 no Windows XP.
Gostaria ainda de pedir q alguém me envie a CT53.LIB E CTP53.LIB para q eu possa tentar usar o KbdDisable.
Marcello.
Enviado: 31 Out 2005 17:13
por Mlizander
Se eu não estou enganado, a tecla para abortar é Alt+C, não?
E para que o programa não finalize com Alt+C ou Ctrl+Break você deve usar a função setcancel(.F.), função que pertence à Clipper.lib.
Enviado: 31 Out 2005 21:41
por cainelli
O Alt+C eu já tratei com SetCancel(.F.).
O problema é o CTRL+C mesmo. Nos testes de pré homologação da Redecard tem este teste e no meu programa esta ficando o ^C nas últimas linhas da tela.
Enviado: 31 Out 2005 22:15
por Clipper
Elementar meu caro Cainelli
No inicio do programa coloque :
SET KEY 3 TO NADA()
E crie essa função :
FUNCTION NADA()
RETURN(.T.)
Até logo.
Marcelo
Enviado: 01 Nov 2005 09:01
por cainelli

Caro Clipper, não deu certo. Me parece q antes de passar pela função Nada() ele coloca o ^C na tela.
Vc não teria a CT53.LIB para me mandar ? Gostaria de tentar desabilitar o teclado com a KbdDisable.
Obrigado,
Marcello.
Enviado: 01 Nov 2005 09:16
por Clipper
Estranho.
Eu testei essa função e ela desabilitou o CTRL+C. Quando eu pressionava CTRL+C no programa ele saia, com a função em uso simplesmente ele não faz nada, eu não tenho a Clipper Tools para a versão 5.3, vou dar uma pesquisada para ver se acho.
Até logo.
Marcelo
Enviado: 01 Nov 2005 09:46
por Clipper
Pega a CLIPPER TOOLS para 5.3 aí...
http://spravki.net.ru/clipper/ca-clipper.htm
Até logo.
Marcelo
Enviado: 01 Nov 2005 11:39
por cainelli
Vou postar aqui como resolvi o problema, para consultas dos colegas:
kbddisable(.F.)
keyboard "."
do while inkey() # 0
ntempinho:=SECONDS()
DO while .T.
IF (seconds() - ntempinho) > 0.1
exit
endif
ENDDO
ntecla:=inkey()
enddo
Na verdade esta dica já estava no forum e foi dada pelo colega Carlos Bernardi Jr.
Deu certinho!
Obrigado a todos pela ajuda.
Marcello.