Barcode Scanner Emulator
ENTER ir TAB priesagos brūkšninių kodų skaitytuvuose
Priesaga yra klavišo paspaudimas, kurį skaitytuvas siunčia iškart po dekoduotos brūkšninio kodo apkrovos. Tinkamos priesagos pasirinkimas ir teisingas jos apdorojimas programoje yra vienas dažniausių skaitytuvo integracijos klaidų šaltinių.
Kas yra priesagos ir kodėl skaitytuvai jas siunčia
Kadangi skaitytuvas apkrovą siunčia kaip neapdorotus klavišų paspaudimus be įtaisytos skirties, priimanti programa neturi patikimo būdo žinoti, kad nuskaitymas baigtas, nebent skaitytuvas prideda aiškų baigiamąjį klavišo paspaudimą. Tas baigiamasis klavišas ir yra priesaga. Be jos programos turėtų spėti apie pabaigą pagal neveiklos skirtąjį laiką, o tai lėčiau ir mažiau patikima.
ENTER (CR)
Dažniausia priesaga. Siunčiama kaip Enter/Return klavišas, atitinkantis grįžimą į eilutės pradžią, ASCII 0x0D. Daugumoje HTML formų Enter paspaudimas viename teksto lauke pateikia apimančią formą, todėl ENTER natūraliai tinka darbo eigoms „nuskaityti ir pateikti“, pavyzdžiui paieškos laukui ar vieno lauko užklausai.
TAB
Siunčiama kaip Tab klavišas, 0x09. Užuot pateikęs formą, Tab perkelia fokusą į kitą fokusuojamą elementą. Ši priesaga tinkamesnė kelių žingsnių duomenų įvedimui, pavyzdžiui nuskaityti prekės kodą → automatiškai pereiti į kiekio lauką → nuskaityti kitą prekę, nesukeliant per ankstyvo pateikimo.
CR/LF poros ir priesagos nebuvimas
Kai kuriuos skaitytuvus galima sukonfigūruoti siųsti visą CR+LF porą (tai įprasta tiekiant terminalo ar nuosekliojo tipo programas), o kai kuriuos — visai be priesagos. Tada programa nuskaitymo pabaigą turi aptikti pagal įvesties laiką.
Kodėl tai svarbu POS ir žiniatinklio programoms
Netinkama priesaga sukelia labai konkrečias, klaidinančias klaidas: ENTER priesaga kelių laukų formoje gali pateikti formą dar neužpildžius kiekio ar nuolaidos laukų, o TAB priesaga vieno paieškos lauko darbo eigoje palieka paiešką neįvykdytą, nes niekas nesuaktyvina pateikimo. Būtina priesagą derinti su darbo eiga, o ne palikti gamyklinę numatytąją reikšmę.
Kaip testuoti priesagos elgseną
Nuskaitykite į brūkšninio kodo įvesties testerį, kuris aiškiai praneša, ar nuskaitymo pabaigoje aptiktas ENTER ar TAB. Jei reikia matyti tikslius klavišų kodus (pavyzdžiui, atskirti CR nuo LF), naudokite klaviatūros įvykių testerį.
Priesagos keitimas skaitytuve
Priesagos elgsena yra skaitytuvo pusės nustatymas. Jis konfigūruojamas gamintojo programine priemone arba nuskaitant specialų konfigūravimo brūkšninį kodą, atspausdintą skaitytuvo vadove. Bendrą konfigūravimo eigą žr. brūkšninių kodų skaitytuvo konfigūravimo vadove.