Como limpar o buffer do inkey?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Adalberto
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 01 Set 2007 01:09
Localização: Santa Cruz de la Sierra - Bolivia

Como limpar o buffer do inkey?

Mensagem por Adalberto »

Boa noite caros colegas.

Mais uma vez molestando vocês.

Estou procurando uma função que limpe o buffer do inkey, uso o comando KEYBOARD e depois necessito limpar a buffer. ¿Alguém pode me ajudar?. Fico a espera de suas noticias.

Muito obrigado
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Para limpar o buffer do tecldo use :

CLEAR TYPEAHEAD

Dizem que KEYBOARD CHR(0) também funciona, mas eu nunca testei.

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
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Outra forma também é utilizar o INKEY()
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
andreh
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 01 Mar 2008 08:46
Localização: ASDFDSAF

Mensagem por andreh »

Keyboard chr(27)
...
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

andreh escreveu:Keyboard chr(27)
Neste caso não irá limpar o buffer, pelo contrário, irá inserir a simulação do pressionamento da tecla ESC.

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
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

O clear typeahead e o keyboard limpam o buffer atual, de leitura da função inkey, mesmo depois deles, a função lastkey() continua retornando a ultima tecla pressionada.

Se você usa o LASTKEY para processamento, então faça uso do KEYBOARD <TECLA> seguido de um inkey(0) para um valor de tecla que vc não espere, é um dos poucos meios.

Já no xHarbour você pode usar a rotina SETLASTKEY(<VALOR>) para mudar o valor do lastkey, acompanhada do CLEAR TYPEAHEAD limpa todas as respostas de rotinas que lêem valores de teclas.
Sem mais
Wagner Nunes
www.vagucs.com.br
Responder