TRAVAMENTO DE TECLADO

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

RONES
Usuário Nível 1
Usuário Nível 1
Mensagens: 5
Registrado em: 29 Out 2005 11:20
Localização: Itumbiara-Go

TRAVAMENTO DE TECLADO

Mensagem por RONES »

Caros Colegas.


Estou tendo problemas em travar o teclado, estou utilizando o KDBDisable so que esta funcao ela trava mas nao hora de destravar o teclado nao limpa o buffer.
Andei fazendo testes com algumas dicas do colegas do site, mas nao obtive sucesso.


Alguem tem alguma sugestão.


Obrigado.
Cleiton Fidelis
Usuário Nível 2
Usuário Nível 2
Mensagens: 81
Registrado em: 06 Jul 2004 09:44
Localização: Divinopolis MG

Mensagem por Cleiton Fidelis »

Prezado Colega Rones....

Sugestao ?

Sim. Posso estar escrevendo a maior besteira do mundo. Porem, ACHO que te serve.

FOR I=1 TO 20
CLEAR TYPEHEAD
NEXT

Abracos.
Cleiton Fidelis
Divinopolis MG
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 »

Use a KbdDisable da CATOOLS e a rotina abaixo. Pra mim deu certo.

kbddisable(.T.)

... Rotina de impressão TEF

kbddisable(.F.)
keyboard "."
do while inkey() # 0
ntempinho:=SECONDS()
DO while .T.
IF (seconds() - ntempinho) > 0.1
exit
endif
ENDDO
ntecla:=inkey()
enddo

Marcello
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Consegui homologar o meu sistema de PDV, utilizando a seguinte lógica para travar o teclado:


Nas rotinas de impressão de cupom fiscal e de transações tef (envio de arquivo, e aguardando arquivo de retorno), coloquei dentro dos meus loops´ ( Do While ... Enddo ) as seguintes linhas para limpar o buffer de teclado.


If Inkey() > 0
Keyboard ""
Endif



Por Exemplo:

Do While .T.
// comandos de impressão do cupo tef
.
.
.
If Inkey() > 0
Keyboard ""
Endif
.
. // outros comandos de impressão
.
Enddo



Dessa forma, ele vai executar os comandos de impressão e ao mesmo tempo verificar se existem teclas pendentes no buffer de teclado ( Inkey() > 0 ). Se houver, ele limpa o buffer.

Quanto as demais teclas, basta, no windows, ir nas propriedades do atalho que executa o sistema e desabilitar as teclas de atalho do windows.
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem por Mário Isa »

E eles aceitam isso?

Só desabilitando pelo atalho do Windows?

Ou querem que a sua aplicação faça isso?

Não estou conseguindo compilar com a função kbddisable()
A ct.lib que tenho aqui dá erro no blinker 7

Mário
;)
Responder