Kontrolka/komponent do czytnika kodów kreskowych

0

Witam!
Chciałem zapytać czy znacie może jakąś kontrolkę lub komponent aby sparować (za pomocą WiFi lub Bluetooth) czytnik kodów kreskowych z programem napisanym w Delphi?

Chodzi o to, że pracuję nad programem do inwentaryzacji i potrzebne by mi było stworzenie takiej komunikacji. Z górę dziękuję za pomoc.

3

Czytnik kodów kreskowych działa jak "zwykła" klawiatura.
Czy miałeś kiedyś do czynienia z takim urządzeniem?

Podłączasz czytnik do kompa (nieważne jak - przez USB czy Bluetooth) i jak system go zainstaluje (jako standardowe urządzenie wejścia HiD) to potem czytnik działa jak klawiatura.

Co to oznacza?
Że jak sobie przykładowo odpalisz notatnik, a potem zeskanujesz czytnikiem kod kreskowy, to do tego notatnika zostanie wprowadzona treść, jaką masz wydrukowaną pod kodem (najczęściej same numerki).
W każdym razie - nie ma potrzeby korzystania z dodatkowych komponentów czy bibliotek - w Delphi tworzysz jakiś formularz, na nim dajesz pole Edit, a potem gdy focus będzie w tym Edicie i użytkownik coś zeskanuje czytnikiem, to zeskanowana treść trafi do tego Edit'a.

Oczywiście - można to jeszcze bardziej skomplikować, ale to musiałbyś konkretnie napisać, co planujesz ;) W każdym razie do takiej podstawowej funkcjonalności niczego więcej Ci nie trzeba, a samo skanowanie z poziomu aplikacji nie będzie się niczym różnić od sytuacji, jakby klient ręcznie wpisał kod kreskowy (znaczy - cyfry pod nim wydrukowane).

0

Dopiero zaczynam swoją przygodę z Delphi więc też może nie potrafię tego do końca sprecyzować, ale zamysł jest taki żeby czytnikiem zczytać kod produktu, następnie program z bazy danych miałby wyszukać którego produktu ten kod dotyczy i użytkownik już ręcznie wprowadzał by ilość danego towaru i po zatwierdzeniu program wprowadzał by tę ilość do bazy.

Wiem że można to zrobić prościej z bardziej złożonymi czytnikami, ale niestety mam narzucone takie ograniczenia finansowe, że mogę skorzystać tylko z tego zwykłego czytnika, który jak sam mówisz rzeczywiście swoim działaniem nie odbiega zbytnio od klawiatury.

3

Tylko pomieszałeś tutaj kilka tematów.

  1. obsługa czytnika - jak pisałem - jest to "zwykła" klawiatura, więc za bardzo nie ma o czym pisać. Dajesz pole, gdzie kod ma być wpisany, klient skanuje kod i jego treść zostaje wstawiona w to pole. Koniec tematu jeśli chodzi o czytnik ;)

  2. "program z bazy danych miałby wyszukać którego produktu ten kod dotyczy" - tutaj mamy temat związany z obsługą baz (jakiś SQL albo inny sposób, w jaki chcesz to rozwiązać). Totalnie nie ma to nic wspólnego z "kontrolką do czytnika kodów kreskowych"

  3. "mogę skorzystać tylko z tego zwykłego czytnika" w tych czytnikach nie ma niczego złego. A mają wielką zaletę - są mega proste w obsłudze - zarówno z poziomu użytkownika, jak i programisty (czy wspominałem już, że taki czytnik działa jak "zwykła" klawiatura? ;) )

  4. "Dopiero zaczynam swoją przygodę z Delphi więc też może nie potrafię tego do końca sprecyzować" - no to może (nawet nie na potrzeby forum, ale sam dla siebie) zastanów się dokładnie jak ten program ma działać. Jak sobie go rozbijesz na poszczególne składowe to łatwiej będzie Ci się skupić na pracy. Jedną z nich jest na pewno sam interface aplikacji. Druga to wspomniana baza danych - jej struktura oraz sposób komunikacji. Trzecia to właśnie ten czytnik (chociaż tu za dużo nie ma do robienia). Oczywiście pojawi się jeszcze parę innych wątków.

Jak już sobie to podzielisz i zaczniesz się zastanawiać nad poszczególnymi etapami, to pojawią sie na pewno jakieś trudności - wtedy pisz o konkretnych problemach do przeskoczenia.

0

Zapytałeś co chcę konkretnie zrobić dlatego napisałem o tych bazach (i tak planuję ją zrobić w SQL). Ale dzięki za pomoc na pewno wezmę sobie te rady pod uwagę przy tworzeniu programu ;)

1

Gdybyś miał tam u siebie qrcode to daj znać podam Ci fajny komponent do delphi. Co prawda płatny ale nie jest drogi, a działa bez zarzutu nawet na kiepskich kamerach.

0

Wiem, że trochę nie w temacie ale którą wersję Delphi i z jakiego źródła byście mi najbardziej polecili? :)

0

@John15: jak to krótą? Bieżącą, z oficjalnego źródła, czyli ze strony embarcadero. :P

3

@John15 tylko Delphi Starter (czyli darmowa wersja) jest pozbawiona komponentów do obsług baz danych wiec musisz zainstalować coś zewnętrznego np. ZeosLib
https://sourceforge.net/projects/zeoslib/

1

To może lepiej lazarus? Ma wbudowaną obsługę SQLite i jest za darmo.

2

@John15 Teraz sprawdziłem z tamtego linka ZeosLib nie ma pakietów pod aktualne wersje Delphi trzeba pobrać z GitHub
https://github.com/svn2github/ZeosLib
Ogólnie wszystko instalujesz wszystkie pakiety z DelphiXE10.2 (czyli Tokyo) w jakiej kolejności tam gdzieś jest instrukcja w PDF albo w HTML
Jeżeli baza ma być lokalna to możesz wykorzystać właśnie bazę SQLite oprócz zainstalowania tych komponentów do działania potrzebna jest biblioteka sqlite3.dll, którą pobierzesz ze strony
https://www.sqlite.org/download.html
Oczywiście interesuje Cię Precompiled Binaries for Windows, bibliotekę umieszczasz w tym folderze co plik wykonywalny programu.

0

Nie używam SQLite, ale tak mi się skojarzyło "Yes SQLite can support multiple users at once. It does however lock the whole database when writing, so if you have lots of concurrent writes it is not the database you want (usually the time the database is locked is a few milliseconds - so for most uses this does not matter). But it is very well tested and very stable (and widely used) so you can trust it." https://stackoverflow.com/questions/5102027/can-sqlite-support-multiple-users.

0

@cw Tak, zgadza się tylko jeden użytkownik może w jednym czasie dokonywać zmian w bazie ale zważywszy na potrzeby pytającego to raczej nie jest przeszkodą więc po co wyciągać armatę na muchę.

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