Compartilhar via


Implementação do Leitor (Documentação do SDK do POS para .NET v1.14)

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.