Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un dispositivo lector se usa para leer datos de códigos de barras.
El lector es un dispositivo de uso exclusivo, como se indica a continuación:
- La aplicación debe reclamar el dispositivo antes de habilitarlo.
- La aplicación debe reclamar y habilitar el dispositivo antes de que el dispositivo empiece a leer la entrada.
El objeto de lector sigue el modelo general de entrada basada en eventos:
- Cuando se recibe la entrada del dispositivo, se pone en cola un evento DataEvent mediante el método auxiliar de Microsoft ScannerBase.GoodRead. Si el dispositivo recibe datos incorrectos, el objeto de servicio también puede poner en cola un evento ErrorEvent llamando a ScannerBase.FailedRead.
- Si la propiedad PosCommon.AutoDisable está establecida en true, la clase ScannerBase establecerá la propiedad PosCommon.EnableDevice en false. Si el objeto de servicio ha implementado este método, deberá deshabilitar el dispositivo como corresponda.
Un evento DataEvent en cola solo se entregará a la aplicación si la propiedad ScannerBase.DataEventEnabled está establecida en true.
- La especificación de Unified Point Of Service (UnifiedPOS) requiere que los datos del evento DataEvent entrante se copien en las propiedades correspondientes antes de entregarse a la aplicación. El método ScannerBase.PreFireEvent, al que se llama justo antes de entregar el evento DataEvent a la aplicación, cumple este requisito llamando a ScannerBase.DecodeScanDataLabel y a ScannerBase.DecodeScanDataType si la propiedad DecodeData está establecida en true. Normalmente, hay que implementar estos métodos en el objeto de servicio.
- Los datos leídos se colocan en la propiedad Scanner.BaseScanData. Si la aplicación ha establecido la propiedad ScannerBase.DecodeData en true, los datos se descodifican en las propiedades ScannerBase.ScanDataLabel y ScanDataType.
- Antes de que el evento DataEvent se entregue a la aplicación, la propiedad ScannerBase.DataEventEnabled se establece en false. Esto impide que se entreguen más eventos DataEvent a la aplicación hasta que el evento actual termine de procesarse. La aplicación establece ScannerBase.DataEventEnabled en true cuando esté lista para procesar eventos entrantes.
- La propiedad ScannerBasic.DataCount se puede leer para obtener el número total de eventos en cola.
- Todos los eventos en cola se pueden eliminar llamando al método ScannerBasic.ClearInput.
En esta sección
Descodificación de datos. Se describe el código necesario para descodificar datos específicos del dispositivo.
Eventos del lector. Se muestra cómo un objeto de servicio de lector usa la puesta en cola de POS para .NET para generar eventos en las aplicaciones.