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.
TRAVAMENTO DE TECLADO
Moderador: Moderadores
-
Cleiton Fidelis
- Usuário Nível 2

- Mensagens: 81
- Registrado em: 06 Jul 2004 09:44
- Localização: Divinopolis MG
-
josenilson
- Usuário Nível 1

- Mensagens: 46
- Registrado em: 14 Set 2004 10:58
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.
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.
