Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um dispositivo leitor é usado para ler dados de código de barra.
O leitor é um dispositivo de uso exclusivo, da seguinte maneira:
- O aplicativo precisa declarar o dispositivo antes de habilitá-lo.
- O aplicativo precisa declarar e habilitar o dispositivo antes de começar a ler a entrada.
O objeto leitor segue o modelo geral para entrada controlada por eventos:
- Quando a entrada é recebida do dispositivo, um evento DataEvent é enfileirado usando o método auxiliar da Microsoft ScannerBase.GoodRead. Se o dispositivo receber dados inválidos, o Objeto de Serviço também poderá enfileirar um evento ErrorEvent chamando ScannerBase.FailedRead.
- Se a propriedade PosCommon.AutoDisable for definida como true, a classe ScannerBase definirá a propriedade PosCommon.EnableDevice como false. Se o Objeto de Serviço tiver implementado esse método, ele precisará desabilitar o dispositivo conforme apropriado.
Um evento DataEvent enfileirado só será entregue ao aplicativo quando a propriedade ScannerBase.DataEventEnabled for definida como true.
- A especificação UnifiedPOS (Unified Point Of Service) exige que os dados do DataEvent de entrada sejam copiados para as propriedades correspondentes antes de serem entregues ao aplicativo. O método ScannerBase.PreFireEvent, que é chamado logo antes de entregar o DataEvent ao aplicativo, atenderá a esse requisito chamando ScannerBase.DecodeScanDataLabel e ScannerBase.DecodeScanDataType se a propriedade DecodeData estiver definida como true. Normalmente, você precisa implementar esses métodos no Objeto de Serviço.
- Os dados lidos são colocados na propriedade Scanner.BaseScanData. Se o aplicativo tiver definido a propriedade ScannerBase.DecodeData como true, os dados serão decodificados nas propriedades ScannerBase.ScanDataLabel e ScanDataType.
- Antes de DataEvent ser entregue ao aplicativo, a propriedade ScannerBase.DataEventEnabled é definida como false. Isso impede que outros DataEvents sejam entregues ao aplicativo até que ele termine de processar o atual. O aplicativo define ScannerBase.DataEventEnabled como true quando está pronto para processar eventos de entrada.
- A propriedade ScannerBasic.DataCount pode ser lida para obter o número total de eventos enfileirados.
- Todos os eventos enfileirados podem ser excluídos chamando o método ScannerBasic.ClearInput.
Nesta seção
Decodificação de dados Descreve o código necessário para decodificar dados específicos do dispositivo.
Eventos do leitor Demonstra como um Objeto de Serviço de leitor usa o enfileiramento do POS para .NET para gerar eventos para aplicativos.