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
Como limpar o buffer do inkey?
Moderador: Moderadores
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
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)
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)
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
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.
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.
Neste caso não irá limpar o buffer, pelo contrário, irá inserir a simulação do pressionamento da tecla ESC.andreh escreveu:Keyboard chr(27)
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)
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)
- vagucs
- Membro Master

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


