Ayuda sobre pistola lectora de codigos de barra

Ayuda sobre pistola lectora de codigos de barra

Postby Vladimir Zorrilla » Mon Jun 01, 2009 7: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
Vladimir Zorrilla
 
Posts: 225
Joined: Tue Feb 28, 2006 4:25 pm
Location: PERU

Re: Ayuda sobre pistola lectora de codigos de barra

Postby Willi Quintana » Mon Jun 01, 2009 9: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
User avatar
Willi Quintana
 
Posts: 1019
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Ayuda sobre pistola lectora de codigos de barra

Postby cmsoft » 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.
User avatar
cmsoft
 
Posts: 1289
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ayuda sobre pistola lectora de codigos de barra

Postby Vladimir Zorrilla » Tue Jun 02, 2009 7: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
Vladimir Zorrilla
 
Posts: 225
Joined: Tue Feb 28, 2006 4:25 pm
Location: PERU

Re: Ayuda sobre pistola lectora de codigos de barra

Postby FranciscoA » Tue Jun 02, 2009 9: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
Last edited by FranciscoA on Tue Jun 02, 2009 9:38 pm, edited 2 times in total.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda sobre pistola lectora de codigos de barra

Postby rogerio » Tue Jun 02, 2009 9: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
User avatar
rogerio
 
Posts: 84
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Re: Ayuda sobre pistola lectora de codigos de barra

Postby Vladimir Zorrilla » 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
Vladimir Zorrilla
 
Posts: 225
Joined: Tue Feb 28, 2006 4:25 pm
Location: PERU

Re: Ayuda sobre pistola lectora de codigos de barra

Postby cmsoft » Wed Jun 03, 2009 1: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.
User avatar
cmsoft
 
Posts: 1289
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ayuda sobre pistola lectora de codigos de barra

Postby Vladimir Zorrilla » Wed Jun 03, 2009 2: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
Vladimir Zorrilla
 
Posts: 225
Joined: Tue Feb 28, 2006 4:25 pm
Location: PERU

Re: Ayuda sobre pistola lectora de codigos de barra

Postby rogerio » 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
User avatar
rogerio
 
Posts: 84
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Re: Ayuda sobre pistola lectora de codigos de barra

Postby angelcv » Wed Oct 05, 2011 8: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.
>
angelcv
 
Posts: 2
Joined: Tue Jul 08, 2008 1:58 pm

Re: Ayuda sobre pistola lectora de codigos de barra

Postby Antonio Linares » Wed Oct 05, 2011 4: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ayuda sobre pistola lectora de codigos de barra

Postby AndresRomero » Sat Oct 15, 2011 1: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.
AndresRomero
 
Posts: 11
Joined: Fri Nov 20, 2009 11:07 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 66 guests