Czytnik kodów kreskowych

0

Witam , mam problem ktoś zaproponował mi abym napisał program który wykorzystuje czytnik kodów kreskowych i teraz nie wiem co zrobić . Czy łatwo jest coś takiego w c# oprogramować ? Jak sprawdzać
czy program dobrze działa nie maja czytnika kodów kreskowych ?:( Może jakiś na necie symulator jest czy coś ? Słyszałem że są też jakieś różne standardy tych kodów w jakim pisać ? Jakby ktoś już coś takiego robił to proszę o pomoc , może jakieś linki przydatne informacje cokolwiek będę bardzo wdzięczny .
Z góry dziękuje !!

0

Raczej zadanie nie jest problematyczne. W sumie to są np tak: 1 - czytnik podłączany poprzez USB lub tradycyjne złącze klawiaturowe (udaje klawiature) - odczytany kod trafia do aktywnego np textBoxa lub notatnika; 2 - czytnik podłączny np poprzez poczciwego RS - wykorzystać można zdarzenie DataReceive i odczytać z portu co tam siedzi ;-P

0

Wszystko zależy od czytnika. Ale przeważnie czytniki kodów zwracają kod najzwyczajniej w postaci znaków ASCII. Żadnej filozofii, żadnych skomplikowanych protokołów, tylko kilka cyfr w ASCII. Pewnie do odczytania kodu wystarczy zwykłe string kod = SerialPort.ReadLine();. Ale najlepiej jak tego kogoś popytasz co to za czytnik i poczytasz dokumentację tego czytnika.

0

a co w wypadku kiedy czytnika nie posiadam i nie mogę sprawdzić czy program dobrze działa ?
;/ bo kupić czytnik tylko żeby program napisać to mi się zbytnio nie widzi [glowa]

0

Pisz program tak, żeby działał pod każdym czytnikiem (co powinno być oczywiste). Piszesz w języku obiektowym, więc to nie jest problem. Utwórz klasę (najlepiej interfejs), której zadaniem będzie obsłużyć czytnik i zwrócić kod w postaci najlepszej dla Twojego programu np. w postaci stringa. I wtedy kod nie będzie zależeć od rodzaju czytnika i formatu danych. A jak już dostaniesz czytnik, to napiszesz odpowiednią implementację tego interfejsu. Do tego czasu korzystaj z implementacji zwracającej dowolny kod.

0

z czytnikami po serial'u czy usb jest stosunkowo latwo, ale jesli trafi Ci sie dosc popularny kiedys czytnik z 'przelotka' na kabel klawiatury - uwazaj.

z racji tego, ze faktycznie czytniki te generuja po prostu znaki ascii (uwaga! nie tylko litery, takze kontrolne sekwencje niedrukowalne), ktos kiedys wpadl na pomysl, ze czemu by ow czytnik nie mial udawac klawiatury - wtedy nie potrzeba komputera wyposazac w 'kosztowne' COM/LPT/USB, tylko sie podlacza czytnik na tym komputer a klawiature, samym kablu. sygnaly z takiego czytnika sa przez komputer widziane absolutnie bez zadnej roznicy tak samo, jakbys nacisnal klawisze na klawiaturze. bylo to genialne rozwiazanie z punktu widzenia starych np. jeszcze DOS'owych programow magazynowych, gdzie kody produktow wklepywalo sie recznie w odpowiednim 'textboxie', i nadal jest to genialne rozwiazanie, o ile chcesz aby uzytkownik musial miec FOCUS na kontrolce TextBox aby moc wprowadzic kod kreskowy (*)

ja kiedys mialem za zadanie sprawdzic czy sie da (a raczej 'wykonac' i malo kogo interesowalo czy sie da) obsluzyc sygnal z takiego czytnika BEZ FOCUSA na kontrolce do ktorej mial trafic odczytany kod.. i tutaj zaczyna sie seria problemow - bo jak masz rozpoznac czy te keypress'y ktore leca pochodza z reader'a czy z klawiatury?:)

Czesciowo przychodza z pomoca tzw. sekwencje startu/konca transmisji, ktore szczesliwie moj czytnik MS3xxxcostamxx byl w stanie po przeprogramowaniu wygenerowac. Ale, nawet opierajac sie na nich oraz na (fuj) zalozeniu 'czasowym' ze czytnik wysyla keypressy szybciej niz user na klawiszach, NIE DA SIE jednoznacznie okreslic czy ktos pisze, czy czytnik wysyla -- po 10 minutach treningu, bylem w stanie na klawiaturze swojego kompa wstukac barcode tak, ze program nie byl wstanie odroznic mnie od czytnika ;)

ah.. no wlasnie.. i do tego dochodza rózne UKŁADY KLAWIATURY -- taki czytnik jest głupi i nie wie do kabla jakiej klawiatury (102? 101? rosyjska?) jest podlaczony. Czytnik wysyla kodu kontrolne zawsze w taki sam sposob -- a jeden system operacyjny np. XP-en z klawiatura 101 zrozumie ze przylecialo Alt+numpad0, a inny system np XP-pl-102 powie juz ze przylecialo.. numpadinsert..

słowem: walcz i sie zapieraj rekami i nogami, aby byly NIE byly czytniki wpinane w kabel klawiatury :))

ps: (*) - a nawet jesli FOCUS bedzie, to uwaga na kontrolki MENU. Menu gorne okna formatki potrafi natychmiast zabrac Ci focus jesli nacisniesz "lewy alt". czytnik podlaczany w kabel klawiatury prawie na pewno przyśle Ci alt'a, zeby np. powiedziec alt+numpad0 :))

0

Wtrącę swoje 3 grosze. Otóż od jakichś 2 miesięcy chodzi aplikacja u mnie obsługująca taki czytnik (magnetyczny). Czytnik sam z siebie generuje ciąg cyfr + kod klawisza ENTER. Obsługę zrealizowałem w C# zakładając Hooka na klawiaturę, a że komputer obsługujący jest używany tylko jeszcze w 1 celu (monitoring) (i jest stary), nikt na nim nie pisze - więc nie przeszkadza ten fakt nikomu. Czytnik steruje bramą wjazdową (szlaban) i spisuje się nadzwyczaj dobrze. Więcej info na e-mail, gdyż nie zaglądam często na 4programmers.net

Pozdrawiam
mickpr (at) poczta.onet.pl

PS.
Obecnie pracuję nad mikrokontrolerem który przejmie funkcje komputera, (z racji ceny - płytka mikrokontrolera - łącznie ok 20 zł z obudową. komputer - :)... no..

1 użytkowników online, w tym zalogowanych: 0, gości: 1