Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Barcode- und Scannertypen (https://www.delphipraxis.net/51157-barcode-und-scannertypen.html)

TheMiller 7. Aug 2005 10:53


Barcode- und Scannertypen
 
Hallo,

ich habe vor, Barcodes zu erstellen und jeden Barcode einer ID in einer DB zuzuordnen. Wird ein Code gescannt, soll aus der DB die ID und die entsprechenden weiteren Werte ausgelesen werden.

Jetzt meine Fragen:

Was muss mein BarCodeScanner genau für ein Typ sein?
Muss er in die Tastatur geschleift werden?
Er soll ja einen String zurückgeben.

Ist es relevant, welchen BarCode-Typen ich verwende?


Habe schon hier gesucht und zB die barCode-Komponente gefunden...

Danke
Bye

alzaimar 7. Aug 2005 18:53

Re: Barcode- und Scannertypen
 
Also, ein Scanner macht erstmal alles alleine, also er erkennt den Barcodetypen, dann liest er den Code, interpretiert ihn und schickt ihn zum Host.
Du kannst den Scanner über die serielle Schnittstelle, USB oder über die Tastatur anschliessen.
Ich verwende die serielle Schnittstelle, wenn ich wissen will, ob etwas eingescannt oder eingetippt wurde, ansonsten ist die Einschleifung über die Tastatur die bei weitem einfachste Möglichkeit.
Beim Scanner kannst Du, je nach Modell, einstellen:
- ob und welche Zeichen VOR dem Code geschickt werden soll
- ob ein Zeichen geschickt wird, das den Typ des Barcodes (ITF, EAN, Code39, Code128 etc) identifiziert
- ob und welche Zeichen NACH dem Code geschickt werden soll
- ob eine Checksumme, die am Barcode dranhängt, gleich mitgeprüft werden soll
etc. etc. etc.

Wenn Du z.B. eine Dateneingabe mit Barcodes vereinfachen willst, dann programmierst Du den Scanner (per Handbuch und speziellen Codes) so, das nach jedem Code ein TAB mitgeschickt wird.

Bei Barcodekomponenten solltest Du sicherstellen, das diese pixelgenau drucken. So ist z.B. beim Code39 das Verhältnis zwischen dickem und dünnem Strich als 2,4:1 definiert, mit Toleranzen als 2:1 - 3:1. Der Scanner dekodiert also die Striche und muss entscheiden, ob ein Strich dick oder dünn ist. Bei sehr kleinen Codes auf Pixelebene ist das ein Problem:
Angenommen, der Code ist so lütt, das ein dünner Strich 1 Pixel, und ein Dicker 2 Pixel breit ist, was innerhalb der Toleranz liegt. Bei schlampigen Renderern (den barcodedruckenden Komponenten) ist ein dünner Strich eben 1 oder 2 Pixel breit, und der dicke Strich 2-3 Pixel breit (aufgrund von Rundungsfehlern)! Ich würde einfach einen Barcode-Font installieren. Bei Code39 muss man aber ein '*' vorne und hinten anstellen. Um also 123 als Barcode auszudrucken, muss man *123* schreiben.

Zu Deinen Fragen:
Welchen Scanner?
CCD-Scanner sind billig und robust. Das reicht für die meisten Anwendungen, aber der Scanner muss direkt auf dem Barcode liegen. Es gibt zwar mittlerweile Scanner mit Beleuchtung, aber trotzdem ist die maximale Entfernung wenige Zentimeter.

Laser-Scanner sind teurer, aber dafür kann man den Barcode quasi aus der Ferne "abschiessen". Die Supermarktkassen haben Laserscanner. Die maximale Leseentfernung beträgt (mit speziellen Etiketten) bis zu 4 Metern!

Anschluss:
seriell, USB oder Keyboard, egal (s.o)

Typen:
Interleaved 2 of 5: Sehr kompakt, veraltet, anfällig für Fehllesungen.
Code39: Ziemlich sicher, freie Fonts erhältlich, sodass direkt (ohne Komponente) gedruckt werden kann.
Code128: Sehr kompakt, sehr sicher (mein Favorit).
u.v.a.

Daneben sind auch die 2D-Codes interessant, aber Scanner sind (noch) nicht so billig.


Hoffe, das hilft

TheMiller 7. Aug 2005 20:20

Re: Barcode- und Scannertypen
 
Ohja hilft sehr gut!

Habe inzwischen einen CCD bestellt... Muss erstmal kurz weg. Wollte nur ein Lebenszeichen geben und mich dankbar zeigen :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz