Laden...

Externes Gerät

Erstellt von pearsh vor 16 Jahren Letzter Beitrag vor 16 Jahren 3.152 Views
pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren
Externes Gerät

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

N
750 Beiträge seit 2004
vor 16 Jahren

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

?( wer suchet, der findet auch! :]

3.511 Beiträge seit 2005
vor 16 Jahren

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)

pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren

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

S
506 Beiträge seit 2006
vor 16 Jahren

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.

pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren

Danke,
Und wie kann ich das mit einem Seriellen Port bedienen?

lg Jo0oker

N
750 Beiträge seit 2004
vor 16 Jahren

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

?( wer suchet, der findet auch! :]

pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren

Ber sind die nicht von Gerät zu Gerät anders?

lg Jo0oker

726 Beiträge seit 2003
vor 16 Jahren

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.

N
47 Beiträge seit 2004
vor 16 Jahren

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.

pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren

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

726 Beiträge seit 2003
vor 16 Jahren

Wozu brauchst du ein Sample ?
Nimm doch einfach eine Textbox und scanne los.
Barcodescanner vorher an den Rechner anschließen, nicht vergessen ! 😉

pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren

Danke,
nur mal so ne frage nebenbei:
Und wenn ich zum Scannen z.B.: einen normalen Scanner nehmen möchte?

lg Jo0oker

726 Beiträge seit 2003
vor 16 Jahren

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 ? 😉

pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren

Also in dem Warenwirtschftssystem, soll man Artikel an der Artikelnummer, und dem Barcode erkännen können.

lg Jo0oker

N
47 Beiträge seit 2004
vor 16 Jahren

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.

3.511 Beiträge seit 2005
vor 16 Jahren

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)

pearsh Themenstarter:in
209 Beiträge seit 2007
vor 16 Jahren

Danke,
😁 es hat geklappt 😁

lg Jo0oker