Barcode Scanner Emulator
Suffixen ENTER och TAB i streckkodsläsare
Ett suffix är en tangenttryckning som en läsare skickar direkt efter den avkodade streckkodsnyttolasten. Att välja rätt suffix och hantera det korrekt i programmet är en av de vanligaste källorna till integrationsfel med läsare.
Vad suffix är och varför läsare skickar dem
Eftersom en läsare skickar nyttolasten som råa tangenttryckningar utan inbyggd avgränsare har det mottagande programmet inget tillförlitligt sätt att veta att avläsningen är klar, om inte läsaren lägger till en uttrycklig avslutningstangent. Den avslutningen är suffixet. Utan ett suffix skulle program behöva gissa att inmatningen är klar med en tidsgräns för inaktivitet, vilket är långsammare och mindre tillförlitligt.
ENTER (CR)
Det vanligaste suffixet. Skickas som tangenten Enter/Return och motsvarar vagnretur, 0x0D i ASCII. I de flesta HTML-formulär skickar ett tryck på Enter i ett enda textfält det omgivande formuläret, vilket gör ENTER till ett naturligt val för flöden av typen ”läs av och skicka”, till exempel en sökruta eller en uppslagning i ett enda fält.
TAB
Skickas som tangenten Tab, 0x09. I stället för att skicka ett formulär flyttar Tab fokus till nästa element som kan få fokus. Det här suffixet föredras i flerstegsregistrering, till exempel läs av produktkod → gå automatiskt till antalsfältet → läs av nästa artikel, utan att utlösa en för tidig sändning.
Par av CR/LF och inget suffix
Vissa läsare kan konfigureras att skicka ett helt par CR+LF (vanligt när terminal- eller serieprogram matas), och vissa kan konfigureras utan suffix alls. Då måste programmet upptäcka att avläsningen är klar med hjälp av inmatningens timing.
Därför spelar det roll för POS och webbappar
Fel suffix ger mycket specifika och förvirrande buggar: ett ENTER-suffix i ett formulär med flera fält kan skicka formuläret innan antal eller rabatt har fyllts i, medan ett TAB-suffix i ett flöde med en enda sökruta lämnar sökningen oexekverad eftersom inget utlöste en sändning. Suffixet måste matcha flödet och inte bara lämnas på fabriksinställningen.
Så testar du suffixbeteende
Läs av i streckkodsinmatningstestaren, som uttryckligen rapporterar om ENTER eller TAB upptäcktes i slutet av avläsningen. Om du behöver se de exakta tangentkoderna (till exempel för att skilja CR från LF) använder du i stället tangentbordshändelsetestaren.
Ändra suffixet på läsaren
Suffixbeteende är en inställning på läsarsidan. Den konfigureras antingen med tillverkarens programverktyg eller genom att läsa av en särskild konfigurationsstreckkod som är tryckt i läsarens handbok. Se guide för konfiguration av streckkodsläsare för den allmänna konfigurationsprocessen.