Dela via


Skannerimplementering (POS för .NET v1.14 SDK-dokumentation)

En skannerenhet används för att läsa streckkodsdata.

Skannern är en exklusiv enhet enligt följande:

  • Programmet måste göra anspråk på enheten innan den aktiveras.
  • Programmet måste göra anspråk på och aktivera enheten innan enheten börjar läsa indata.

Skannerobjektet följer den allmänna modellen för händelseenhetsindata:

  • När indata tas emot från enheten placeras en DataEvent-händelse i kö med hjälp av Microsoft-hjälpmetoden ScannerBase.GoodRead. Om enheten tar emot felaktiga data kan serviceobjektet också köa en ErrorEvent-händelse genom att anropa ScannerBase.FailedRead.
  • Om egenskapen PosCommon.AutoDisable är inställd på true anger klassen ScannerBase egenskapen PosCommon.EnableDevice till false. Om serviceobjektet har implementerat den här metoden måste enheten inaktiveras efter behov.

En DataEvent-händelse i kö levereras endast till programmet när egenskapen ScannerBase.DataEventEnabled är inställd på true.

  • UnifiedPOS-specifikationen (Unified Point Of Service) kräver att data från inkommande DataEvent kopieras till motsvarande egenskaper innan de levereras till programmet. Metoden ScannerBase.PreFireEvent, som anropas precis innan DataEvent levereras till programmet, uppfyller detta krav genom att anropa ScannerBase.DecodeScanDataLabel och ScannerBase.DecodeScanDataType om egenskapen DecodeData är inställd på true. Vanligtvis måste du implementera dessa metoder i tjänstobjektet.
  • Skannade data placeras i egenskapen Scanner.BaseScanData . Om programmet har angett egenskapen ScannerBase.DecodeData till true avkodas data till egenskaperna ScannerBase.ScanDataLabel och ScanDataType .
  • Innan DataEvent levereras till programmet är egenskapen ScannerBase.DataEventEnabled inställd på false. Detta förhindrar att ytterligare DataEvents levereras till programmet tills det har slutfört bearbetningen av den aktuella. Programmet anger ScannerBase.DataEventEnabled till sant när det är redo att bearbeta inkommande händelser.
  • Egenskapen ScannerBasic.DataCount kan läsas för att hämta det totala antalet köade händelser.
  • Alla köade händelser kan tas bort genom att anropa metoden ScannerBasic.ClearInput .

I det här avsnittet

  • Datadekodning Beskriver den kod som krävs för att avkoda enhetsspecifika data.

  • Skannerhändelser Visar hur ett skannertjänstobjekt använder POS för .NET-köer för att skapa händelser till program.