Entwickler-Ecke

Sonstiges (.NET) - Eingehenen Barcode-String splitten und FremdProgramm geben


flohmaus - So 18.02.18 21:52
Titel: Eingehenen Barcode-String splitten und FremdProgramm geben
Hallo Entwickler Team,

ich stehe vor einem Problem mit C#

Ich möchte den eingehenden String vom BarCodeleser splitten und den 2. Teil einem Fremdprogramm, das den Fokus hat wieder weitergeben.
Das Programm muss im Hintergrund arbeiten und die eingehenen Barcode überwachen, und das Ergebnis weitergeben.

Barcode-String: 0000123456-123456 (10Stellen-TeileID)

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
string Barcode = "Fahrzeugnummer-123456";
string[] Erg = Regex.Split(Barcode, "-");

foreach (string TeileID in Erg)
{
    Console.WriteLine(TeileID);
}

Wie überwache ich den Barcode-Reader und wie gebe ich das Ergebnis weiter?

Könnt Ihr mir bitte helfen?

Grüsse

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: Titel (leicht) geändert.
Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Mo 19.02.2018 um 10:20


Ralf Jansen - So 18.02.18 22:31

Wie du Daten aus dem konkreten Barcodeleser bekommst solltest du im Handbuch des Barcodelesers finden. Das kann dir niemand per Ferndiagnose mitteilen nur aufgrund der Feststellung das es ein Barcodeleser ist.
Wir könnten raten das es über die Tastaturschnittstelle geht aber das wäre wie gesagt nur geraten.


Palladin007 - So 18.02.18 22:43

Ich würde jetzt auch auf Tastatur-Schnittstelle tippen.
Der Scanner gibt den Barcode als Eingabe durch, gefolgt durch einen Zeilenumbruch, der das Ende vom Barcode signalisiert.

Problematisch ist das beobachten der Tastatur-Inputs, wenn Du keine Benutzeroberfläche hast, schließlich soll es ja im Hintergrund ausgelesen werden.
Du musst also entweder eine normale Windows-Anwendung (WPF oder WinForms) ohne Oberfläche oder einen Service implementieren, der die Windows-Messages (WinAPI) abhört.

Spontan hab ich das dazu gefunden:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/88ae8842-5301-4b15-830e-1d6282303508/how-to-listen-to-keyboard-inputs?forum=netfxbcl

Ist aber nicht gerade das einfachste Thema, die WinAPI ist - naja - unhandlich :D
Ich würde an deiner Stelle als aller erstes nur das mit Tastatur-Abhören testen, ob Du das aus einem Services heraus ans Laufen bekommst.
Wenn das nicht klappt, ist die einfachste Variante eine Benutzeroberfläche mit TextBox. Wenn Du beim TextChanged-Event einen den Enter-Key abfängst, kannst Du sehr einfach den Barcode-Input abgreifen. Das setzt allerdings voraus, dass die TextBox den Fokus hat.


flohmaus - Fr 23.02.18 20:43

Vielen Dank für die Antworten und Tipps!

Ich versuche den String abzufangen und per TCP weiterzugeben.

Viele Grüße
Peter


Ralf Jansen - Fr 23.02.18 20:54

Das haben wir verstanden aber du hast uns immer noch nicht mitgeteilt wie die Daten in den PC kommen.
Welche Schnittstelle benutzt dein Barcodeleser? Stellt er sich gegenüber dem PC als Tastatur dar?