![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Yo pienso una posible solución, es hacer un Hook para el teclado, y la única distinción entre el ingreso por teclado por parte del usuario, respecto del enviado por el lector, es la velocidad, claro está, mucho más rápida esta última.
Con respecto a acceder directamente al puerto, (0x060) tiene el conflicto de necesitar establecerse por driver, a nivel del kernel, ya que XP no lo permite de otra forma, y habría que convertir la data binaria al formato que quieras. Yo particularme prefiero el método mediante un Hook, tipo TKeyboardHook, ya que todos los lectores CCD, tienen la carecterística de definir el caracter terminal, pudiendose utilizar éste para la distinción usuario/lector. Los lectores que emulan teclado son los más económicos, pero tienen sus limitaciones. Fueron creados con el fin de satisfacer terminales TPV, donde la mayoría de los casos, por no decir todos, siempre tienen un elemento con el foco, como en tu caso, un TEdit. Saludos
__________________
|
|
#2
|
||||
|
||||
|
Porbando lo que decias, a nivel de Puerto, hice este ensayo:
- Colocando 2 Memos en un form, y haciendo uso de esta dll http://logix4u.net/Legacy_Ports/Para...000/NT/XP.html
Me resulta bastante incómodo, por 2 razones. Se mezclan flags de la INT33 (mouse) con el Port 0x060 del teclado PS/2, por lo que un simple clic (Flag Dx) altera el curso del Port 0x060, efecto no deseable pero tratable. Y lo más molesto, es que si cronometrás el evento en cada KeyPress, el envío del scanner CCD equivale a mantener presionada una tecla, es decir tener un KeyDown siempre en true, aunque visualmente no lo parezca, pero las mediciones manda. Voy a seguir viendo o mejor dicho encontrando una forma de distinguir entre Usuario y Scanner CCD, pienso que el quiz está en el Buffer del teclado, Probaste mantener una tecla presionada o presionarla justo en el mismo momento que el scanner envia el dato? Saludos
__________________
|
|
#3
|
|||
|
|||
|
Lo mas sencillo para lo que intentabas hacer, (porque sopungo que ya pudiste ya que ni tiene continuidad este hilo) es usar un lector de codigos de barras serial, y desde delphi siempre sabes desde que puerto vienen la entrada y no es visible al usuario
|
|
#4
|
||||
|
||||
|
Yo seguiría el camino que te ha indicado firestone2.
Alguna vez he configurado escaneres de codigo de barras USB como SERIAL y he recogido la entrada vía COMx, sin presentar nada en pantalla. Incluso, en una ocasión, leia (sin mostrar nada al usuario) el código de barras y lo pasaba a un servidor UDP a la escucha en un Terminal Server. El usuario no se enteraba de nada, salvo que el producto aparecía en su pantalla de la aplicación corriendo en Terminal Server. Para eso: 1.- Configuraba el puerto USB como COMx. 2.- Utilizaba el componente de PSoft. www.psoft.sk (que incluye un lector de codigo de barras bastante bueno). Aunque quizá puedes utilizar otro lector de COMx. Si alguien conoce alguno, agradeceré comentarios al respecto. ![]() Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Scanner de Codigo de Barras no lee | Chogo | Varios | 4 | 17-11-2012 17:25:53 |
| uso de codigo de barras | alfil123 | Varios | 15 | 28-01-2008 04:37:42 |
| Codigo De Barras Ean-128 | marocaforo | Impresión | 2 | 12-12-2006 00:10:47 |
| Codigo Barras | novatix | Impresión | 1 | 17-02-2004 12:43:25 |
| Codigo de Barras | miguelb | Varios | 2 | 21-06-2003 00:18:01 |
|