Hallo community,
ich arbeite zur Zeit an einem Warenwirtschaftssystem, es ist auch fast vertig, nur wie kann ich es machen, dass er von einem Barcodescaner den Code list und als INT in mein Programm läd??
Ich muss doch irgendwie c# und das Gerät komunizieren lassen oder???
lg Jo0oker
hallo Jo0oker,
eine genauere Beschreibung beschert dir bestimmt auch mehr antworten.
denn aus deiner Beschreibung kann man so gut wie gar nix erkennen!
wie wird der scanner angeschlossen??
COM, parallel, CAN-BUS, Ethernet, USB, ..... 😉
nils
Barcode-Scanner sind doch im Prinzip nichts weiter als zusätzliche "Tastaturen". Die Scanner, mit den ich schon gearbeitet habe, sind meistens per USB angebunden gewesen und haben immer als Ergebnis einen String zurückgeliefert. Kann man ganz gut testen, wenn man einfach mal den Editor öffnet und etwas einscannt.
Scanner, die nur einen Int zurückliefern sind mir (noch) unbekannt. Aber selbst das dürfte nur ein eingehender Ascii-Code sein, oder aber ein String der aus Ziffern zusammengesetzt ist.
Du musst also einfach nur auf eingehende Zeichenketten achten. Sei es in einer Textbox oder sonstwo.
Allerdings schließe ich mich nils an 🙂
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Ein string wäre mir auch recht solange er nur Zahlen enthält.
Ach und ich möcht das der Scanner über USB oder COM angeschlossen wird,
und brauche ich noch ein zusätzliches tool?
Wäre gut wenn man unter Optionen das ändern könnte.
lg Jo0oker
glaube du stellst dir das ein bischen zu einfach vor.
Das einzigste was wir dir sagen können, ist wie du nen Seriellen Port bedienen kannst.
Aber was du dem Geräte schicken musst, oder was es dir schickt, hängt ja einzig und alleine vom Gerät selbst ab.
D.h du braucht eine Protokoll/Schnittsellen beschreibung von dem gerät.
hallo Jo0oker,
Und wie kann ich das mit einem Seriellen Port bedienen?
das wissen wir doch auch nicht!
deine beschreibung ist dafür absolut nicht ausreichend!
Stu42 hat doch schon geschrieben:
D.h du braucht eine Protokoll/Schnittsellen beschreibung von dem gerät.
und wenn du es vorerst beim seriellen Port belassen willst --> Foren-/Google-/MSDN-Suche nach SerialPort
nils
Die meisten Barcode-Scanner haben eine eigene API, mit der sich über COM eine Menge anstellen lässt.
Ich habe selbst schon erfolgreich eine Warenwirtschaft mit einem Scanner kombiniert.
Du mußt herausfinden, ob es eine solche API für den von dir benutzen Scanner gibt.
Ist dies nicht der Fall, ist das u.U. auch nicht so schlimm.
Probiere den Scanvorgang einfach in einer Textbox aus und werte das Ergebnis aus.
Wie Khalid bereits sagte,
Original von Khalid
Barcode-Scanner sind doch im Prinzip nichts weiter als zusätzliche "Tastaturen". [...]
Du brauchst also in der Regel keinen zusätzlichen Treiber für den Barcode-Scanner, da er als eine Art Tastatur erkannt wird.
D.h. wenn du etwas einscannst, werden die Daten so eingegeben, als ob man sie mit der Tastatur eingibt... nur schneller.
Kennt einer von euch so was wie ein sample?
Ach und eins verstehe ich noch nicht,
woher weiß c# dann, was ich dort für ein code eingelesen habe?
ICh brauche dann doch noch ein Programm was ihm die Striche in das umsetzt,
was es versteht?
Sowas wie Encoding oder?
Hier mal so ein Links, ob das sowas ist:
Klick mich
lg Jo0oker
Wozu brauchst du ein Sample ?
Nimm doch einfach eine Textbox und scanne los.
Barcodescanner vorher an den Rechner anschließen, nicht vergessen ! 😉
Danke,
nur mal so ne frage nebenbei:
Und wenn ich zum Scannen z.B.: einen normalen Scanner nehmen möchte?
lg Jo0oker
Original von Jo0oker
Danke,
nur mal so ne frage nebenbei:
Und wenn ich zum Scannen z.B.: einen normalen Scanner nehmen möchte?lg Jo0oker
in deinem Ausgangsposting wolltest du noch einen Barcode-Scanner mit einer Warenwirtschaft koppeln.
Wurde das jetzt so plötzlich geändert ? 😉
Also in dem Warenwirtschftssystem, soll man Artikel an der Artikelnummer, und dem Barcode erkännen können.
lg Jo0oker
Hallo Jo0oker,
vielleicht nochmal kurz zusammengefasst.
Nehmen wir an, du hast einen Barcodescanner über eine beliebige Schnittstelle (USB, Serialport etc.) angeschlossen.
Dieser scannt die Barcodes ein, welche im Grunde nichts anderes speichern als Zeichen.
Diese Barcodes werden vom Scanner selbständig ausgewertet und als Zeichen an den Computer weitergegeben.
Hierfür musst du nichts weiter machen, als die Barcodes mit dem Scanner einzulesen.
Für den Computer ist es so, als ob du die Zeichenfolge, in diesem Fall also die EAN (Artikelnummer), über die Tastatur eingegeben hättest.
Dein Programm muss demnach nur dafür sorgen, dass die Textbox den Focus hat während der Scanner scannt.
Im Anschluss kannst du die Artikelnummer in der Textbox einfach im Programm verwenden.
Wobei ich dir eine Umwandlung in ein Integer nicht empfehlen würde, da Artikelnummern auch mit einer 0 beginnen können.
Wie Nihat ja schrieb, musst du dein Programm in einen Zustand bringen, das auf die Zeichenfolge des Scanners wartet (sollte natürlich abbrechbar sein).
Nehmen wir mal an du scannst z.B. ne Tasse Tee. In deiner TextBox würde dann ziemlich fix z.B. folgender String auftauchen
032424232434131249876324
So. Diesen String musst du dann natürlich gegen irgendentwas auswerten. Da ist dann wahrscheinlich eine DB gefragt (bei kleineren Artikelmengen vielleicht XML). Habe jetzt in den Beispiel extra eine 0 vorangesetzt, denn (wie Nihat auch schon erwähnt hat) ist ein casten in ein Integer sehr gefährlich, da es zu unerwünschten Ergebnisses führt. Und 2D Barcodes können auch wirklich richtige Strings zurückliefern. Also z.B.
GRJKG786JH876MNBM
Da wird dann aus casten in ein Integer nichts mehr.
Besondere APIs oder sonswas für Schnittstellen braucht man in der Regel nicht.
Wie ich bereits zum Anfang geschrieben habe: Öffne dein Notepad und scann etwas ein. Das Ergebnis landet dann im Notepad. Landet es nicht im Notepad, braucht man ein speziellen Treiber, was ich allerdings für sehr sehr unwahrscheinlich halte. Denn dann müsste man zig Treiber installieren, wenn man verschiedene Scanner am laufen hat.
Also im Prinzip ist es nichts weiter als eine Usereingabe zu verarbeiten 😉
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)