Ver Mensaje Individual
  #4  
Antiguo 17-03-2008
Flecha Flecha is offline
Miembro
 
Registrado: nov 2006
Posts: 59
Reputación: 20
Flecha Va por buen camino
Hola.
Ante todo muchas gracias por contestar.

Quiero prescindir del TEdit y similares porque el código leido por el scanner no debe aparecer visible en pantalla. Sin embargo, para que un TEdit, o similar, recoja lo leído por el scanner, dicho objeto debe estar:
- con Visible a True,
- con Enabled a True,
- y con el foco de la aplicación en dicho objeto

Una primera solución podría ser poner el TEdit por detrás ("Send to Back") de otros objetos (por ejemplo, un TPanel), y así no sería visible para el ojo humano. Pero es muy posible que el usuario esté tocando en otras partes del TForm haciendo que el foco vaya de un lado para el otro y que nunca esté donde yo necesito que esté (en el TEdit que recoge lo leido por el Scanner). Y además en el TForm hay otros TEdit y TDBEdit con otro tipo de información. Tampoco combiene que por error se pegue en uno de esos objetos la información leida por el scanner.

El usuario dispone de teclado y ratón para "jugar" en el TForm todo lo que quiera. Por eso necesitaría distinguir la entrada del Scanner de la entrada del teclado.

Todo control de eventos que ponga (KeyPreview:=True, o configurar OnKeyPress y/o OnKeyDown) también saltará cuando el usuario toque el teclado, y no tendré manera de distinguirlo de la entrada por Scanner.

La solución ideal creo que sería capturar la entrada del Scanner a nivel de puerto.

¿Alguna idea de cómo hacerlo?

Muchas gracias de nuevo.
Responder Con Cita