Partilhar via


Implementação do scanner (documentação do SDK do PDV para .NET v1.14)

Um dispositivo de scanner é usado para ler dados de código de barras.

O scanner é um dispositivo de uso exclusivo, da seguinte forma:

  • O aplicativo deve reivindicar o dispositivo antes de ativá-lo.
  • O aplicativo deve reivindicar e ativar o dispositivo antes que o dispositivo comece a ler a entrada.

O objeto do scanner segue o modelo geral para a entrada da unidade de 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 incorretos, o objeto de serviço também pode enfileirar um evento ErrorEvent chamando ScannerBase.FailedRead.
  • Se a propriedade PosCommon.AutoDisable estiver definida como true, a classe ScannerBase definirá a propriedade PosCommon.EnableDevice como false. Se o seu objeto de serviço implementou esse método, ele precisará desativar o dispositivo conforme apropriado.

Um evento DataEvent enfileirado só será entregue ao aplicativo quando a propriedade ScannerBase.DataEventEnabled estiver definida como true.

  • A especificação UnifiedPOS (Unified Point Of Service) requer 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 pouco antes de entregar o DataEvent ao aplicativo, atende a esse requisito chamando ScannerBase.DecodeScanDataLabel e ScannerBase.DecodeScanDataType se a propriedade DecodeData estiver definida como true. Normalmente, você precisa implementar esses métodos em seu objeto de serviço.
  • Os dados digitalizados 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 do DataEvent ser entregue ao aplicativo, a propriedade ScannerBase.DataEventEnabled é definida como false. Isso impede que mais DataEvents sejam entregues ao aplicativo até que ele termine de processar o atual. O aplicativo define ScannerBase.DataEventEnabled como true quando estiver 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 Secção

  • Decodificação de dados Descreve o código necessário para decodificar dados específicos do dispositivo.

  • Eventos do scanner Demonstra como um objeto de serviço do scanner usa o enfileiramento do PDV para .NET para gerar eventos para aplicativos.