Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Evento Codigo de barras

Hola buenos dias:
Tengo un form donde se podra capturar informacion mediante un grid, necesito conectar un lector de codigo de barras a la computadora para que cuando escanee un codigo lo busque inmediatamente en el grid y posicione el cursor en esa celda.
Mis dudas son las siguientes.
* ¿Como puedo detectar cuando se escanea un codigo de barras o cuando se escribe por medio de teclado?
* No quiero que se escriba el codigo leido del lector solo que lo ubique en el grid. El escaner escribe el codigo donde este el focus, pero para lo que necesito el focus puede estar en cualquier componente del form.

Nota. El lector esta conectado al teclado, y no al puerto serial.

les agradezco mucho su ayuda.
Responder Con Cita
  #2  
Antiguo 04-08-2008
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: may 2007
Posts: 94
Poder: 18
2-D@monic Va por buen camino
hasto donde manipulé lectores, cuando este escanea escribe la infro en un componente que esté focused y que puede recibir texto, como un TEdit. porqué no lo haces en un edit "oculto" y en su propiedad onchange codificas la búsqueda para el grid, lo puedes "ocultar" poniendole la propiedad left digamos -500, con esto no se verá en en form pero está activo, aunque esto es muy primitivo, no?.

Saludos.
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido.
Responder Con Cita
  #3  
Antiguo 04-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Evento Codigo de barras

Si, eso estaba haciendo inicialmente pero resulta que mi grid tambien esta en editable, cuando tengo mi cursor en una de sus celdas y paso el escaner pues el codigo de barras se escribe en la celda y no en el edit, ¿Hay un componente o algo que me permita leer en todo momento? Es buen aidea lo del edit oculto pero al pasar a otro componete pues tambien cambia el focus.


Saludos
Responder Con Cita
  #4  
Antiguo 04-08-2008
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: may 2007
Posts: 94
Poder: 18
2-D@monic Va por buen camino
según lo que me indicas....... es necesario que el grid esté editable?, o solo muestra info.
puedes hacer un botón que le ponga el focus al edit.
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido.
Responder Con Cita
  #5  
Antiguo 04-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Evento Codigo de barras

Es necesario que el grid este en editable, puesto que es una pantalla de captura donde el usuario ingresara datos, lo que lea el escanner solo es para posicionar el cursor en la celda puesto que el grid puede tener mas de 1000 registros, tengo otra opcion que es mediante una busqueda en el grid, da CTRL + B y se muestra otro form que realiza la busqueda, pero tengo como requerimiento que tambien la busqueda la realize mediante el escaneo del codigo de barras y la busqueda sea automatica.
Responder Con Cita
  #6  
Antiguo 04-08-2008
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: may 2007
Posts: 94
Poder: 18
2-D@monic Va por buen camino
creo que otra solución es que al momento de buscar desplegar una ventana pequeña la cual va a buscar el item con la captura y que se cierre autómáticamente cuando encuentre el objeto.

Saludos.
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido.
Responder Con Cita
  #7  
Antiguo 05-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
vento Codigo de barras

Si, voy a probar con eso, la ultima opcion que tengo es conseguirme un escanner con entrada al puerto serial, de esta manera el teclado y el escanner serian independientes y asi podria saber en que momento se escaneo el codigo.

gracias.
Responder Con Cita
  #8  
Antiguo 05-08-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
¿¿Y si el escaner no funciona, no está instalado o simplemente no se quiere usar?? No habrá forma de hacer la búsqueda??

No se entiende como tienes tu form...ojala pudieras poner una imagen de como se ve y así nos hacemos una mejor idea para ayudarte
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #9  
Antiguo 05-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Evento Codigo de barras pantalla

La pantalla de captura de mi formulario es la que se encuentra adjunta, es para capturar conteos de un inventario fisico, tiene la opcion de buscar manualmente, pero tengo como requerimiento que tambien sea por medio de codigo de barras. La busqueda que realiza manualmente la hace sobre todas la columnas del grid, por ejemplo como se muestra en la imagen si deseo buscar el numero de folio (Columna folio de marbete) 10 la busqueda la realiza por todo el grid, y como resultado encuentra muchas coincidencias, la ventaja del escanner de codigo de barras seria que el codigo trae integrado el numero de folio de marbete y realiza la busqueda sobre esa columna nada mas, espero haberme explicado.

[IMG]file:///C:/DOCUME%7E1/Mary/CONFIG%7E1/Temp/moz-screenshot.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/Mary/CONFIG%7E1/Temp/moz-screenshot-1.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/Mary/CONFIG%7E1/Temp/moz-screenshot-2.jpg[/IMG]
Responder Con Cita
  #10  
Antiguo 05-08-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Mary, tienes que subir tu imagen a un sitio como Flickr o Imageshack para que desde ahi la ligues y la podamos ver todos.

Se me ocurre que en el campo donde capturas manualmente puedas validar si el número capturado contiene el folio del marbete y si es así tratarlo como escaneado. Ojala puedas corregir lo de la imagen, con eso creo que lo vamos a resolver..

Marbete...mm me suena...hace años manejé eso de inventarios físicos con Gis y Washington Inventory Service (wis) no se si sea para la misma cosa....
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #11  
Antiguo 05-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Evento Codigo de barras pantalla

Ok, la pantalla de captura esta en este link. Los folios de los marbetes son numero consecutivos por lo que al hacer la busqueda encuentra muchas coincidencias ya que la busqueda la realiza en todo el grid, la opcion del escanner es para que mediante el codigo de barras solo busque sobre la columna de folio de marbete, pero cuando se escanee el codigo este no debe ingresarse en un text si no que solo se escanea e inmediatamente el cursor se debe posicionar en la celda del grid correcta.
gracias.

http://img93.imageshack.us/my.php?image=pantallabw8.jpg
Responder Con Cita
  #12  
Antiguo 05-08-2008
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Poder: 18
waly2k1 Va por buen camino
El codigo de barras tiene longitud fija ???
Todos los codigos una vez leidos poseen un caracter CHR(13) al final
si capturas el evento keydown o keypress(prueba ambos) y comparas
la longitud del codigo o si encuentras este caracter haces la busqueda
pero no deberias tener el grid en estado editable para buscar, sino
mientras se está editando un registro y luego se realiza una busqueda,
cómo te queda el registro editado ???

En fin, espero poder serte util en algo
saludos y exitos!
Responder Con Cita
  #13  
Antiguo 05-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Evento Codigo de barras pantalla

Claro. el codigo de barras tiene 13 caracteres, ya lo intente en el evento OnKeypress del form, de hecho la propiedad keypreview del form la pongo a true, ya que lamentablemente el grid esta en editable.

Ahora como leo todo lo que leyo el escaner en el keypress si el evento se dispara cada vez por un solo caracter?

gracias
Responder Con Cita
  #14  
Antiguo 05-08-2008
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Poder: 18
waly2k1 Va por buen camino
Ajam, en ese caso si o si necesitas un
cuadro de texto, del tipo <F3>-Busqueda
para poder capturar el codigo ingresado

Una vez capturado el codigo preguntas si el caracter
leido es 13, quiere decir que llegó al final, o bien si posee
13 digitos el texto, disparas la busqueda.

Bueno, espero puedas solucionarlo de la manera mas simple
posible.
Walter
Responder Con Cita
  #15  
Antiguo 05-08-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Con la imagen parece que se entiende mejor, veamos.

La ventana de busqueda es la que utilizas para buscar escribiendo, cuando le das aceptar te busca en CUALQUIER columna del grid...para que esta ventanita aparezca presionas antes una tecla o botón.

Lo que quieres es que sin presionar ese boton escanees algo y tu aplicación vaya al marbete que escaneaste.

Si esto es así como lo entendí hay que hacer esto:

Meter un onkeypress en el form y activar el form_preview para que tu formulario procese primero cualquier teclazo, luego:
Código:
 Si la tabla a la que está conectado el grid está en modo edición quiere decir que estás escribiendo algo, entonces dejamos pasar el caracter capturado normalmente.

Si esta en modo browse entonces quiere decir que no estas modificando nada, guardamos el caracter en una cadena y tomamos el siguiente caracter.

Repetir
  Tomar el caracter detectado
  Si es un numero 
     aumentarlo a la cadena previa
     borrar el buffer (no pasarlo a los demás controles)
  FinSI
  Si no es un numero y no se han leido los n caracteres del código
     borrar la cadena
     pasar el caracter a los demás controles.
     Salir del bucle
  FinSi  
Hasta (caracter es #13 y longitud cadeda = longitud codigo)

Si longitud cadena= longitud codigo
  buscar cadena en campo folio
  posicionar grid y darle el foco
Fin Si
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #16  
Antiguo 05-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Evento Codigo de barras pantalla

AzidRain me has entendido perfectamente, en seguida probare el codigo en el evento keypress.
Responder Con Cita
  #17  
Antiguo 05-08-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Va a ser una chambita algo pesadona porque tienes que procesar cada tecla que pase por el formulario. La única forma de saber si fue escaneada es que logres detectar la cadena de caracteres que manda el escaner, en este caso son 13 caracteres + el #13 (enter). Lo único que hay que cuidar es que el grid NO esté en modo edición, de manera que si está en modo de edición los caracteres escaneados simplemente se ignoran y ni siquiera se pasan al resto de los procesos.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #18  
Antiguo 05-08-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Una pregunta que no tiene que ver con lo que estais tratando.

Disculpad si os molesto, pero me surge una pregunta al ver la captura de pantalla de Mary Carmen G. ¿Qué componente grid utilizas? Lo digo porque me interesa saber cómo se hace para agrupar las columnas Peso, Piezas y Personal en 1er conteo, 2º conteo, etc.
Responder Con Cita
  #19  
Antiguo 05-08-2008
Mary Carmen G. Mary Carmen G. is offline
Miembro
 
Registrado: ago 2008
Posts: 36
Poder: 0
Mary Carmen G. Va por buen camino
Grid de pantalla

El grid que utilizo se llama AdvStringgrid en la pagina http://www.tmssoftware.com/site/gridpack.asp puedes encontrar unos triales segun el delphi que estes utilizando, la verdad esta muy completo y visualmente esta mucho mejor que el grid de delphi, la funcion que utilizo para agrupar celdas se llama MergeCells(); dentro de la misma pagina puedes bajarte varios ejemplos, estan muy entendibles.

Saludos.

Responder Con Cita
  #20  
Antiguo 06-08-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Muchas gracias Mary Carmen. Ya le echo un vistazo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Codigo barras truequeman Varios 1 21-02-2007 02:48:42
Codigo de Barras... Diegochr Varios 11 24-01-2007 04:51:52
Codigo barras truequeman Varios 7 17-01-2007 07:33:14
Codigo Barras novatix Impresión 1 17-02-2004 12:43:25
Codigo de Barras miguelb Varios 2 21-06-2003 00:18:01


La franja horaria es GMT +2. Ahora son las 21:07:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi