FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Extracci贸n de informaci贸n por el puerto com
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Extracci贸n de informaci贸n por el puerto com
Posted: Tue Jan 29, 2008 10:07 AM

Hola a todos.

Tengo una aplicaci贸n que captura la pesada de una balanza electr贸nica a trav茅s del puerto com1.

Actualmente he resuelto la captura con la lib hbcomm, pero intento deshacerme de estas libs y capturar esos datos con las funciones propias de FWHX.

He hecho algunas pruebas, pero hasta el momento sin 茅xito.

驴Alguien podr铆a darme informaci贸n o alg煤n ejemplo de como efectuar esta captura de informaci贸n desde el puerto com del PC?

Desde ya agradezco la ayuda que siempre me dan.

Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Extracci贸n de informaci贸n por el puerto com
Posted: Tue Jan 29, 2008 10:49 AM

Jos茅,

Revisa fwh\samples\TestComm.prg y Phone.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Extracci贸n de informaci贸n por el puerto com
Posted: Tue Jan 29, 2008 11:52 AM
Mira se la balanca no tiene una DLL propria. se si, haces asi:

Ejemplo:

STATIC xDllB             // Para Apertura de la DLL
//
FUNCTION...
        //
        xDllB := LoadLibrary( "FILIZOLA.DLL" )
        //
        DEFINE DIALOG...
        // bla... bla...
        ACTIVATE DIALOG...
        //-> salida
        FreeLibrary( xDllb )
        XDLLB:=NIL
//
RETURN NIL

//-> Tu codigo de trabajo.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Extracci贸n de informaci贸n por el puerto com
Posted: Tue Jan 29, 2008 03:35 PM

Gracias a ambos :D , har茅 algunas pruebas y les cuento....

Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Extracci贸n de informaci贸n por el puerto com
Posted: Wed Jan 30, 2008 10:00 AM
Hola Jose:
Yo he hecho comunicar con una registradora fiscal, pero la misma tiene un protocolo particular que hay que respetar. El 煤nico problema, es que con la versi贸n de FW que yo tengo, Antonio me envio un archivo COMM.OBJ para enlazar que solucionaba un problema que creo en versiones nuevas est谩 solucionado.
Te envio parte del c贸digo de comunicacion con las funciones nativas de FW.
Apertura del puerto
FUNCTION abrirport(n)
LOCAL IdPort,cDcb,nError
IdPort := OpenComm("COM"+STR(n,1),1024,256)
IF IdPort <= 0
   nError = GetCommError( IdPort)
   MsgInfo( "Error al abrir: " + Str( nError ) )
   ELSE
   MsgRun("Puerto abierto como " + STR(IdPort))
ENDIF
IF ! BuildCommDcb("COM"+STR(n,1)+":9600,n,8,1" , @cDcb)
   nError = GetCommError( IdPort)
   MsgInfo( "Error al Configurar: " + Str( nError ) )
   RETURN 0
   ELSE
   MsgRun("Puerto Configurado")
ENDIF
IF ! SetCommState( IdPort, cDcb )
   nError = GetCommError( IdPort)
   MsgInfo( "Error al setear: " + Str( nError ) )
   RETURN 0
   ELSE
   MsgRun("Puerto Seteado")
ENDIF
RETURN IdPort


Recibir informacion
FUNCTION  leer_bloque(port,n)
LOCAL bloque:= SPACE(n), nBytes 
DO WHILE .t.
   nBytes := ReadComm( port,@bloque)
   IF nBytes >= n
       EXIT
   ENDIF
ENDDO
RETURN bloque

Espero te sirva

Continue the discussion