Página 1 de 1

Comando Keyboard ??

Enviado: 12 Dez 2007 17:16
por Dércio_Luiz_Zanatta
Comando keyboard chr() não funciona depois de compilado com Xharbour..

Fiz um teste bem simples..

? Lastkey() && 13, pois a última tecla pressionada foi Enter
keyboard chr(32) && deveria jogar barra de espaço para o buffer do teclado
? Lastkey() && 13 Deveia ser 32, mas continua 13

alguém tem alguma idéia do pq não funciona isso ?

Enviado: 12 Dez 2007 17:50
por janio
Experimente Keyboard(13) em vez de Keyboard chr(13)


Jânio

Enviado: 13 Dez 2007 00:32
por fladimir
Seguinte galera não comecei o tópico mas tamo aí para encontrar a solução... resolvi testar o exemplo do Dércio trocando pela dica do Janio ficou assim o código:

Código: Selecionar todos

? Lastkey()     
Keyboard(32) 
? Lastkey() 


E o Resultado foi:

Código: Selecionar todos

HbMake v1.20 - xHarbour Make Utility
Copyright (C) 2000-2007 xHarbour project - http://www.xharbour.org
xHarbour build 1.1.0 Intl. (SimpLex) / Borland C++ 5.5.1

     Compiling :TEST.PRG
     ┌────────────[ 100% ]───────────────┐
     │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│
     └─────────────────────────────────┘

C:\BCC55\BIN\ilink32  @makefile.lnk
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

C:\x>test.exe

         0
         0
C:\x>
Então continuando o debate não tenho a mínima idéia pq não funcionou... pq usando tanto o exemplo do Dércio qto do Jânio da o mesmo resultado... alguém sabe o pq... ?

:-o

Enviado: 13 Dez 2007 00:57
por Maligno
fladimir escreveu:

Código: Selecionar todos

? Lastkey()     
Keyboard(32) 
? Lastkey() 
Note que você inseriu o código ASCII no buffer, mas não o tirou de lá. Troque o último LastKey() por InKey().

Detalhe1: o comando Keyboard tanto recebe um número, quanto string ou uma matriz de valores (num e/ou char).

Detalhe2: o XHarbour também tem a função HB_KeyPut().

Enviado: 14 Dez 2007 13:33
por Dércio_Luiz_Zanatta
Ola pessoal..
Encotrei a solução para o problema do Keyboard() com Xharbour..
Substitui pela função SETLASTKEY() e funcionou perfeitamente..
Um grande abraço e obrigado a todos..