KeyBoard() ERROR

Post Reply
triumvirato
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

KeyBoard() ERROR

Post by triumvirato »

Code: Select all | Expand

KEYBOARD Chr( 13 ) 


Al utilizar este comando (implementa en buffer el carácter indicado), obtengo el error al compilar:

Error: Unresolved external '_HB_FUN_KEYBOARD' referenced from C:\FIVEWIN\GESCO\VENTAS.OBJ

Utilizo FWH 805 y xHarbour, qué me falta por enlazar?
xHarbour no tiene implementado ese comando?

Gracias!
Saludos!
Last edited by triumvirato on Mon Sep 29, 2008 2:09 pm, edited 1 time in total.
User avatar
FranciscoA
Posts: 2164
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: KeyBoard() ERROR

Post by FranciscoA »

triumvirato wrote:

Code: Select all | Expand

KeyBoard( Chr( 13 ) )


Al utilizar esa función (implemente en buffer el carácter indicado), obtengo el error al compilar:

Error: Unresolved external '_HB_FUN_KEYBOARD' referenced from C:\FIVEWIN\GESCO\VENTAS.OBJ

Utilizo FWH 805 y xHarbour, qué me falta por enlazar?

Gracias!
Saludos!


Intentalo asi, a ver si te resuelve:
#include "Inkey.ch"

KEYBOARD Chr(13)
triumvirato
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Re: KeyBoard() ERROR

Post by triumvirato »

FranciscoA wrote:Intentalo asi, a ver si te resuelve:
#include "Inkey.ch"

KEYBOARD Chr(13)


Gracias Francisco, lo había probado ya y con idéntico resultado... parece que me falte algo por enlazar... y no doy con ello o xHarbour no lo tiene ya...

Saludos!
triumvirato
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Post by triumvirato »

Bueno, pues buscando y buscando y rebuscando, he encontrado estos dos hilos:
http://67.222.39.232/forums/viewtopic.p ... oard#49283
http://67.222.39.232/forums/viewtopic.p ... oard#63059

Donde se utiliza __Keyboard() como función en lugar de comando, lo he probado y perfecto.

Saludos!
User avatar
Antonio Linares
Site Admin
Posts: 42655
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 67 times
Been thanked: 96 times
Contact:

Post by Antonio Linares »

David,

Bien! :-)

No habia leido este mensaje y me alegro que hayas encontrado la solución
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Armando
Posts: 3279
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 4 times
Contact:

Post by Armando »

triumvirato:

Desde luego que la solución que encontraste te va a funcionar, perooooo
(nunca falta un pero), las teclas que estas emulando estan dirigidas al diálogo o ventana activo.

Lo recomendable es que indiques el diálogo o ventana a la que deseas enviar las teclas para evitarte dolores de cabeza, te muestro un ejemplo:

Code: Select all | Expand

Teclado(oDlg,13,1)


En este pedazo de código estoy llamando a la función Teclado() enviando el diálogo al que quiero dirigir las teclas, el código de la tecla a "oprimir" en este caso es RETURN y el número de repeticiones que deseo.

Y esta es la función Teclado()

Code: Select all | Expand

FUNCTION Teclado(oDlg,nKey,nVeces)
   LOCAL nVez
   DEFAULT nVeces := 1
   oDlg:SETFOCUS()
   FOR nVez := 1 TO nVeces
      oDlg:POSTMSG(WM_KEYDOWN,nKey,0)
   NEXT
RETURN (NIL)


Mira que primero hago activo el Diálogo al que envío la tecla, despues con un FOR - NEXT emulo el teclado nVeces y con POSTMSG se envia la tecla.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
triumvirato
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Post by triumvirato »

Armando,

Muchas gracias por tu advertencia y recomendación, las hago mías!!!!

Y con tu permiso clono tu código.

Gracias y Saludos!
User avatar
jnavas
Posts: 483
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Been thanked: 2 times
Contact:

Re: KeyBoard() ERROR

Post by jnavas »

Colega,
Agregé éste metodo en la clase TCONTROL

// JN
METHOD KeyBoard( nKey ) INLINE (::SetFocus() , ::PostMsg( WM_KEYDOWN, nKey, 0 ))

y lo aplico asi

oGet:KeyBoard(13)


triumvirato wrote:

Code: Select all | Expand

KEYBOARD Chr( 13 ) 


Al utilizar este comando (implementa en buffer el carácter indicado), obtengo el error al compilar:

Error: Unresolved external '_HB_FUN_KEYBOARD' referenced from C:\FIVEWIN\GESCO\VENTAS.OBJ

Utilizo FWH 805 y xHarbour, qué me falta por enlazar?
xHarbour no tiene implementado ese comando?

Gracias!
Saludos!
triumvirato
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Post by triumvirato »

Juan,

Muchas gracias, muy buena implementación, aunque de momento las clases a mí me quedan muy lejos!!

Gracias y Saludos!
User avatar
jnavas
Posts: 483
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Been thanked: 2 times
Contact:

Post by jnavas »

Colega

También puedes implementarla así

KEYBOARD(13,oGet)

l
/ JN

function KeyBoard( nKey , oControl)

oControl:SetFocus()
oControl:PostMsg( WM_KEYDOWN, nKey, 0 )

return nil

triumvirato wrote:Juan,

Muchas gracias, muy buena implementación, aunque de momento las clases a mí me quedan muy lejos!!

Gracias y Saludos!
triumvirato
Posts: 199
Joined: Tue Apr 22, 2008 9:54 am
Location: Valladolid, Spain.

Post by triumvirato »

Juan,

Perfecto, esto es más o menos lo que sugirió el compañero Armando y por lo que he optado, es más sencillo, sin necesidad de modificar la clase, aunque evidentemente sea más "profesional" ese sistema, el de agregar el método a la clase TControl.

Muchas gracias!!!!!
Post Reply