FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda sobre pistola lectora de codigos de barra
Posts: 225
Joined: Tue Feb 28, 2006 04:25 PM
Ayuda sobre pistola lectora de codigos de barra
Posted: Mon Jun 01, 2009 07:27 PM

Amigos

Tengo una pistola para scanear codigos de barra

Modelo Dyna Pos

se puede programar la lectura e impresion de codigos de
barra desde fw

los codigos son standares para todos lkos idiomas

Agradecesco informacion al respecto

Mil gracias

ME INTERESA FW Y XHB POR SER OPEN SOURCE
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Mon Jun 01, 2009 09:27 PM

Hola
Solo tienes que conectar el lector y tu aplicacion debe tener un GET activo en el momento de la captura del codigo,,, en otras palabras, en ve< de que escribas el codigo,activas el lectos,,

Salu2

Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Tue Jun 02, 2009 12:46 AM

Hola Vladimir:
Como dice Willi, y siempre y cuando la pistola lectora de códigos de barras permita emulación de teclado, solo debes conectarla a la pc, y poner en tu aplicacion un get para recolectar los datos que envia el lector de barras, igual que si tipearas los numeros desde un teclado.
Generalmente, cuando lee desde el lector, escribe los numero (o letras segun la codificacion del codigo de barras) y envia un ENTER al final. Por lo tanto en la clausula VALID del get puedes llamar a la funcion que busca en tu base de datos el codigo correspondiente para, por ejemplo, traer el precio del producto y la descripción del mismo.
El único inconveniente es si la comunicación con el lector, es por medio del puerto serie, ahí ya tienes que tener el protocolo de comunicacion del lector o un driver que decodifique el codigo enviado.
Cualquier consulta que quieras hacer, estoy a tu disposicion. Tengo varias aplicaciones corriendo con lectores de barra.

Posts: 225
Joined: Tue Feb 28, 2006 04:25 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Tue Jun 02, 2009 07:30 PM

GRACIAS POR CONTESTAR

El problema que tengo ahora es que la pistola llena el get con el codigo pero
el valid no se ejecuta.

El get lo declaro con space(12) y el codigo se llena con 12 pero nada de ejecutarse el valid

Recorto el space a 10 llena los 10 e igual no se ejecuta el valid

Alguna idea de que evento puedo usar para procesar el codigo de barras correctamente decodificado

Gracias

ME INTERESA FW Y XHB POR SER OPEN SOURCE
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Tue Jun 02, 2009 09:26 PM

Vladimir:
El lector te devuelve y coloca en el correspondiente get, el codigo de barras decodificado. Es decir, los caracteres devueltos por supuesto deben coincidir con los caracteres del codigo del producto que tienes en tu tabla, para validar .t..

A continuación te dejo como lo hago yo. (puedes adaptarlo a tus necesidades)

La primera parte es la validacion del codigo devuelto por el lector, y la segunda es donde se introduce la cantidad (que por defecto en mi programa es 1), y graba el registro en la tabla.

nNumPart := space(len(field->numpart)) ; uVar := {"", 0, "",""}
REDEFINE GET oNumPart VAR nNumPart ID 111 OF oDlg PICTURE "@!" ;
VALID IF(!Empty(nNumPart), Existe(nNumPart,@uVar,oUnd,@cUnd), .t.) //.t. es porque tengo otras opciones en mi programa,

REDEFINE GET oCanti VAR nCanti ID 112 OF oDlg PICTURE "999,999.99" ;
VALID Grabelo(oDlg,oLbx,oNumPart,@nNumPart,@uVar,nDesct,lProforma,dFecha,oUnd,cUnd,@nCanti,oCanti) ;
WHEN !Empty(nNumPart)

Espero te sea de utilidad
Saludos

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 84
Joined: Wed Nov 09, 2005 11:22 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Tue Jun 02, 2009 09:30 PM

Olá Vladimir

como disse o companheiro da cmsoft acima, falta o Enter ao final.
Normalmente esses leitores de codigos de barra permitem uma configuração, eles devem ter um cartão de códigos de configuração. Uma das configurações é o envio de CR+LF ao final do código.
Verifique isso.

Em antigos programas em clipper eu usava o SET CONFIRM OFF para evitar a necessidade do CR+LF.

[]'s

Rogerio

Posts: 225
Joined: Tue Feb 28, 2006 04:25 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Tue Jun 02, 2009 10:53 PM

Gracias por la Ayuda amigos

De momento lo he resuelto poniendo un get mas y en el evento bgotfocus de este segundo get proceso la validacion en la base de datos.

DEFINE DIALOG oDlg TITLE "CAPTURA DE BARCODE " + FWDESCRIPTION

@ 1, 2 SAY "Code.:" OF oDlg
@ 1, 6 GET oGet VAR cCad VALID MSGYESNO("ESTE NO SE EVALUA NUNCA") OF oDlg SIZE 60, 10 COLOR "W/G" PICTURE "@K"
@ 1.8, 2 SAY "ACA LO CAPTURO:" OF oDlg
@ 2, 6 GET oGet2 VAR AQUI OF oDlg SIZE 60, 10 PICTURE "9999999.99"

oGet2:bGotFocus:={ || CAPTURANDOEVENTODESPUESDELECTOR()}

@ 3, 7 BUTTON "&Ok" OF oDlg SIZE 30, 12 ACTION oDlg:End()
@ 3, 16 BUTTON "&Cancel" SIZE 30, 12 OF oDlg ACTION oDlg:End() CANCEL

ACTIVATE DIALOG oDlg CENTERED

Saludos

ME INTERESA FW Y XHB POR SER OPEN SOURCE
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Wed Jun 03, 2009 01:21 AM

Hola Vladimir:
Como dice Rogerio, tenes que tener en cuenta si el lector está configurado para enviar CR+LF (o Sea un enter) despues de leer el codigo. Eso tendría que hacer salir del oGet y ejecutar la clausula VALID.
Esto tendría que funcionar perfectamente:
DEFINE DIALOG oDlg TITLE "CAPTURA DE BARCODE " + FWDESCRIPTION
cCad := SPACE(13) // Suponiendo que los codigos de barras que lees son EAN13, los de productos de supermercado
@ 1, 2 SAY "Code.:" OF oDlg
@ 1, 6 GET oGet VAR cCad VALID CAPTURANDOEVENTODESPUESDELECTOR(oGet:cText)OF oDlg SIZE 60, 10 COLOR "W/G" PICTURE "@K"
@ 3, 7 BUTTON "&Ok" OF oDlg SIZE 30, 12 ACTION oDlg:End()
@ 3, 16 BUTTON "&Cancel" SIZE 30, 12 OF oDlg ACTION oDlg:End() CANCEL
ACTIVATE DIALOG oDlg CENTERED

STATIC FUNCTION CAPTURANDOEVENTODESPUESDELECTOR(cVar)
MsgInfo(cVar)
RETURN nil

Este ejemplo, perfectamente tendría que mostrarte la el codigo leido en un mensaje.
Espero que te sirva.

Posts: 225
Joined: Tue Feb 28, 2006 04:25 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Wed Jun 03, 2009 02:45 AM

Ese es el problema amigo
que no esta devolviendo el CRLF y no se como configurarlo para que
devuelva este caracter

EL Lector es un Dyna Pos y no tengo ni idea de como configurarlo

Ahora si imprimo el control CRLF en la impresion del codigo de barras no reconoce
el codigo el lector

El sistema de codigo de barras que uso es code 128

Gracias por la ayuda

ME INTERESA FW Y XHB POR SER OPEN SOURCE
Posts: 84
Joined: Wed Nov 09, 2005 11:22 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Wed Jun 03, 2009 11:44 AM

Vladimir
normalmente esses equipamentos são vendidos com um manual impresso e no proprio manual existem impressos os códigos de barras com a configuração.
Então veja no manual desse aparelho.
Ele deve ter algumas páginas impressas com códigos de barra de configuração.
E uma das configurações possíveis é o envio de CR+LF ao final da leitura do código.
Essa é uma configuração necessária para todos equipamentos.

[]'s

Rogerio

Posts: 2
Joined: Tue Jul 08, 2008 01:58 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Wed Oct 05, 2011 08:42 AM

> Tengo el siguiente codigo , donde el cliente introduce el lector de codigo
> de barras y mete un codigo de 13 numeros
>
> mcodart=space(len(ticket->codart1))
> lSalvar:=.F.
> lCancelar:=.F.
> DEFINE DIALOG tic_diaCodigo FROM 40,20 TO 45,70
> SET FONT OF tic_diaCodigo TO tic_Font
>
> @0,0 say "CODIGO ARTICULO:" OF tic_diaCodigo
> @0,10 GET mcodart picture "!!!!!!!!!!!!!" OF
> tic_diaCodigo
> VALID(tic_RevisaCodigo(tic_diaCodigo,mcodart),.T.)
> @1,9 BUTTON "&A_Aceptar" OF tic_diaCodigo SIZE 50, 12 ;
> ACTION ( lSalvar := .T. , tic_diaCodigo:End() )
> @1,19 BUTTON "&C_Cancelar" OF tic_diaCodigo SIZE 50, 12 ;
> ACTION (lCancelar:=.T.,tic_diaCodigo:End());
> CANCEL
> ACTIVATE DIALOG tic_diaCodigo
> if (lCancelar)
> tkey=12 /orden de salida/
> return nil
> endif
> Cuando el cliente con su pistola de codigo de barras mete un codigo , el
> cursor aparece dentro del contenido de mcodart y lo coge bien,
>
> Pero la segunda vez, el cursor esta en el boton <aceptar>
> y no coge el codigo porque el campo de codigo no esta activo (el cursor no
> aparece en campo de mcodart)
>
> COMO SOLUCIONO ESTO.
>

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Wed Oct 05, 2011 04:31 PM

Angel,

Una solución sería que no se cumpla la validación:

VALID (tic_RevisaCodigo(tic_diaCodigo,mcodart), .F.)

Pruébalo

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 11
Joined: Fri Nov 20, 2009 11:07 AM
Re: Ayuda sobre pistola lectora de codigos de barra
Posted: Sat Oct 15, 2011 01:43 AM

Angel, no se si has solucionado tu problema. Supondré que no.

No entiendo cual es el problema. Realmente se le esta diciendo al programa que DESPUES de leer hay que pinchar en aceptar o cancelar y es lo que hace.
Una vez leido hace falta la acción del usuario para pinchar en uno o en otro ANTES de leer el siguiente código.

Como dice Antonio, no saldría de la lectura de barras.

En fin, no lo entiendo, perdona. Quiero ayudarte pero no se lo suficiente de tu caso.

Continue the discussion