Necesito información para trabajar mi aplicación de almacen con una lectora de código de barras, cual es el código, ¿necesito algún ocx?, AGRADEZCO POR ANTICIPADO SU AYUDA Y SI NO ES MOLESTIA LE AGRADECERÍA QUE ME ENVÍE LA RESPUESTA A mariovv@latinmail,com
1 Respuesta
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Existen infinidad de objetos OCX que contemplan comunicación por medio del puerto serial, (claro esto en caso de querer resolver tu problema por medio de un scanner serial), dichos objetos son prácticamente proporcionados por el fabricante del scanner, por ejemplo, NCR, es fabricante de terminales que están dedicadas a la cobranza de artículos, tipo supermercado, estas terminales están compuestas de un visor, un scanner, un monitor, un teclado que incluye un lector de tarjetas, y por supuesto la unidad central de procesos, todo esto a su vez, maneja un pequeño protector de choques de corriente ya se a la baja o a la alta, y ademas un pequeño UPS, que permite que la maquina continué trabajando aun registre un corte de corriente eléctrica, claro, todos estos dispositivos son manejados por un programa, y dicho programa utilica objetos OCX, los cuales pueden ser incluidos para un programa adicional que no tiene ninguna relación con NCR, así mismo existen otras empresas como EPSON, que tienen las mismas características y ventajas, aunque no consigas un objeto OCX, OLE, etc. tienes la ventaja de crear uno, el cual simplemente deberá escuchar y leer del puerto serial, y poder configurar lo más esencial, ya sabes, paridad, velocidad, etc. el resto lo hará el scanner y tu programa., por cierto podrías darte una vuelta por las páginas de NCR www.ncr.com y/o EPSON www.epson.com http://www.barcodediscounters.com/psc-inc-.html --> en esta pagina encontraras varias posibilidades de dispositivos lectores de codigos de barra. Ahora permíteme proponerte 2 formas de solucionar el problema de la lectura de códigos de barra por medio de un scanner, y tu mismo podrás elegir cual es el que se acondiciona más a tus necesidades, y posibilidades. Por medio de un puerto serial Si el origen del dato es por medio de un puerto serial. Esto significa que el proceso debe ser manejado por un objeto propio del fabricante, por ejemplo uno tipo ocx, ole, activex. O uno propio siempre del mismo tipo, si este es el caso entonces en el evento donde es recibido el dato, inmediatamente después, obligas al datawindow a posicionarse en el siguiente registro, para añadir un registro nuevo utilizas la función InsertRow(0) la cual te devuelve el numero del registro nuevo, para posicionarte en la siguiente linea o registro utilizas la función SetRow(<row>) acompañada de ScrollToRow(<row>), y SetColumn(<column_name o column_number>), el efecto sera lo que pretendes. Por medio de la interrupción del teclado. Si se trata de un scanner el cual esta pegado al puerto ps2 del teclado y se encuentra entre este y el teclado, la situación difiere, primero el propio scanner añade un carácter de return, al dato que recupera de la lectura, y la envía directamente al teclado, esto significa que en cualquier lugar en donde el cursor se encuentre y tenga capacidad de recibir datos por medio del teclado, pintara y asignará el valor indicado, entonces el salto deberá ser controlado directamente por medio del evento key, en el datawindow este evento no existe, pero puede ser añadido, simplemente en el área de eventos, haces un click derecho, añades uno nuevo y en el área de event_id indicas el evento dwnkey. Una vez añadido con la ayuda del choose case, preguntas por el valor de key, si este es un KEYENTER! Entonces, añades un nuevo registro, posicionas el cursor en al registro nuevo, luego en la columna, y esperas el siguiente. Con este ultimo proceso tienes que tener el cuidado que siempre, el cursor deberá estar apuntando al campo donde deberá ser asignado el valor que leerá el scanner, de lo contrario este será asignado en cualquier lugar y no tendrá el efecto que buscas.