TEF - Travar o teclado

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

TEF - Travar o teclado

Mensagem 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.
Mlizander
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 30 Jun 2005 16:22
Localização: Nova Iguaçu - RJ
Contato:

Mensagem 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.
Um Clip Abraço!
Marcus Lizander
cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Mensagem 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.
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem 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
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Mensagem 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.
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem 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
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Pega a CLIPPER TOOLS para 5.3 aí...

http://spravki.net.ru/clipper/ca-clipper.htm

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Mensagem 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.
Responder