Existe alguna forma de captura con un lector de codigo de barras un codigo sin necesidad de tener un campo con el foco para que lo lea . Seria para una gestion con fichajes de trabajadores, pero no puedo tener una pantalla con dedicacion exclusiva a la lectura de los codigos de barras¿?
Pues yo diría que no. La entrada por lector de cb se realiza como emulación de teclado... y con el teclado no puedes escribir si no estás posicionado en un edit.
Si hubiera lectores de códigos de barras autónomos con conexión TCP/IP (me suena que algo hay), podrías tener un programa esperando a recibir por el puerto correspondiente, sin necesidad de tener una pantalla dedicada.
pero el problema está en que tiene que ser automático, que al pasar la tarjeta por el codigo de barras que guarde ese dato, como en los programas de control de presencia para que fichen los empleados
Si mal no te he entendido, creo que yo lo tengo hecho como quieres.
Tengo un formulario con el siguiente aspecto:
[attachment=10872,1043]
Los controles son EDITS y BOTONES. El formulario tiene una variable local COD_BAR apuntada por el control EDIT. Después tiene una conexión a evento que salta con la señal "tecla pulsada".
[attachment=10872,1044]
Cuando se pulsa una tecla se ejecuta un evento cuyo código es el siguiente:
[attachment=10872,1045]
Cada vez que el formulario se inicializa, adquiere el foco, y cuando se pulsa una tecla salta el evento que lo que hace es dependiendo de la tecla que se haya pulsado, es como si se hubiera hecho clic con el ratón sobre uno de los botones. Si son números, irán apareciendo uno detrás de otro en el EDIT, ya que los voy insertando en la variable COD_BAR, y si pulso ENTER se ejecuta el botón que hace una búsqueda del artículo por código de barras. Como el lector de código de barras añade un retorno de carro al final de la lectura, pues es como si se ejecutara un ENTER.
Espero haberme explicado bien ya que es algo engorroso el proceso.
He trabajado con varios lectores de códigos de barras y a todos los he podido configurar para que al final del código me envíe un caracter adicinal (el código de la tecla ENTER) hacia el ordenador. Para el caso de V7 pondría el código de la tecla TAB, asi crearía un control tipo edición para leer todos los caracteres enviados por el lector de códigos de barras y como encuentra un caracter TAB al final de la cadena leída saltaria a otro control. Luego crearia un evento y lo vincularía para que se ejecute al perder el foco.
AME, no puedo ver las imagenes del ejemplo que has descrito. Se podrian volver a subir o decirme como verlas de alguna manera.
Me gustaria aprovechar tu idea plasmada para un programa de control de presencia que estoy desarrollando y que me he quedado atascado.
Gracias.