Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.