Page 1 of 1

GET continuo para captura de codigos UHF RFID.

PostPosted: Tue Mar 22, 2022 7:42 pm
by pepe_garcia
Buenas tardes a todos,
Tengo que ir introduciendo capturas de un lector de sobremesas de etiquetas RFID UHF y actualizar una base de datos con las misas. Lo hago mediante un GET, pero no consigo que funcione como antiguamente en clipper con un do while.t.. Me coge el primer codigo y no consigo que haga un loop.
Alguna idea que me pueda ayudar.
Muchas gracias de antemano.
Jose García.

Re: GET continuo para captura de codigos UHF RFID.

PostPosted: Tue Mar 22, 2022 9:35 pm
by hmpaquito
Hola,

Tienes que intentar que en cada lectura el lector, al finalizar, mande un CRLF, así abandonará el GET y volverá al inicio del bucle. Alguna vez hice algo asi. La pistola la configuró otro

Salu2

Re: GET continuo para captura de codigos UHF RFID.

PostPosted: Wed Mar 23, 2022 1:58 am
by Armando
Pepe:

Tal como te menciona hmpaquito, la pistola lectora de los códigos de barra es configurable
viene acompañada por un instructivo con diferentes códigos de barras y lo que debes hacer
es leer, con la pistola, el código de barras que la configura para agregar el CRLF.

Saludos

Re: GET continuo para captura de codigos UHF RFID.

PostPosted: Wed Mar 23, 2022 8:05 am
by pepe_garcia
Buenos días todos y gracias por contestar.

El lector es de chips UHF como los que llevan los libros. Ya manda el CTRL al final de la lectura. Lo pruebas en NOTEPAD y va bien. Lo que necesito es que la lectura sea dinámica, que se ejecute el codigo nesesario después de cada lectura para actualizar la BD y que despues de cada una el GET se reinicie para un nuevo codigo. Antes lo hacia muy facil con clipper, pero ahora me cuesta mucho despues de tantos años.

Estoy partiendo de la base, que es esta que pongo. Necesito que esa entrada, que puede ser en multiplos desde 4 hasta 24 caracteres alfanumericos pase el codigo para ejecurar una función y despues vuelva al punto de partida para otro nuevo.

Code: Select all  Expand view


#include "fivewin.Ch"

//------------------------------------------------------------------//

function Main()

   local oDlg, oFont1
   local oGet1, aVar1 = space( 24 )
   
   DEFINE FONT oFont1 NAME "TAMOA" SIZE 0,-15
   DEFINE DIALOG oDlg SIZE 540,100 PIXEL TRUEPIXEL FONT oFont1 ;
      TITLE "PROBANDO"

   @  30,30 SAY " CÓDIGO EPG :"  WIDTH 120 GET oGet1 VAR aVar1 SIZE 450,32 PIXEL OF oDlg  

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont1

return nil

 


Muchas gracias de antemano.

José García

Re: GET continuo para captura de codigos UHF RFID.

PostPosted: Wed Mar 23, 2022 8:10 am
by hmpaquito
Pepe,

Una pista rapida: tienes que meter la lectura del codigo en el VALID del get y cuando termines de procesarlo, inicializas el get con un
Code: Select all  Expand view
oGet:VarPut(Space(Len(oGet:VarGet())))
oGet:Refresh()
 
Por cierto, si no encuentra un codigo mandale un Beep() de error

Editado: Para que no abandone el get o bien devuelves false en el valid o bien utilizas un timer de muy pocos milisegundos con un oGet:SetFocus()

Salu2

Re: GET continuo para captura de codigos UHF RFID.

PostPosted: Wed Mar 23, 2022 12:15 pm
by pepe_garcia
Muchisimas gracias. Voy a probar a ver.

Ya te cuento como va.

Pepe garcia

Re: GET continuo para captura de codigos UHF RFID.

PostPosted: Wed Mar 23, 2022 1:02 pm
by cmsoft
Podria ser algo asi:
Code: Select all  Expand view

#include "fivewin.Ch"

//------------------------------------------------------------------//

function Main()

   local oDlg, oFont1, oBot
   local oGet1, aVar1 := space( 24 )
   
   DEFINE FONT oFont1 NAME "TAMOA" SIZE 0,-15
   DEFINE DIALOG oDlg SIZE 540,120 PIXEL TRUEPIXEL FONT oFont1 ;
      TITLE "PROBANDO"

   @  30,30 SAY " CÓDIGO EPG :"  WIDTH 120 GET oGet1 VAR aVar1 SIZE 450,32 PIXEL OF oDlg  VALID(MiFuncion(aVar1,oGet1))  
   @  95,00 BUTTON oBot PROMPT "Terminar" ACTION oDlg:End() PIXEL SIZE 200,32
   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont1

return nil

STATIC FUNCTION MiFuncion(aVar1,oGet1)
LOCAL valor := oGet1:cText
IF EMPTY(valor) // Si no paso nada
   RETURN .t.
ENDIF
/* Aca todo el procesamiento con el valor*/
oGet1:cText := space(24)
oGet1:Refresh()
oGet1:SetFocus()
RETURN .t.

Re: GET continuo para captura de codigos UHF RFID.

PostPosted: Wed Mar 23, 2022 2:16 pm
by pepe_garcia
Muchisimas gracias a todos.

Este último código ha sido definitivo y me ha llevado a colocar todo donde debia.

Mil gracias por vuestra ayuda.

Pepe García