FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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. |
#5
|
|||
|
|||
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.
|
#6
|
||||
|
||||
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. |
#7
|
|||
|
|||
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. |
#8
|
||||
|
||||
¿¿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|| |
#9
|
|||
|
|||
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] |
#10
|
||||
|
||||
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|| |
#11
|
|||
|
|||
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 |
#12
|
|||
|
|||
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! |
#13
|
|||
|
|||
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 |
#14
|
|||
|
|||
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 |
#15
|
||||
|
||||
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|| |
#16
|
|||
|
|||
Evento Codigo de barras pantalla
AzidRain me has entendido perfectamente, en seguida probare el codigo en el evento keypress.
|
#17
|
||||
|
||||
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|| |
#18
|
|||
|
|||
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.
|
#19
|
|||
|
|||
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. |
#20
|
|||
|
|||
Muchas gracias Mary Carmen. Ya le echo un vistazo.
|
|
|
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 |
|