Seite 2 von 2
Verfasst: 02.02.2006 20:33
von Scream
ah super vielen dank
Scream
Verfasst: 16.02.2008 13:09
von H.Brill
Hallo,
hätte da auch ne Frage :
Wie bekomme ich den ganzen Text auf einmal ausgelesen ?
So wie jetzt unten im Code wird ja Zeichen für Zeichen
gelesen. In der Listbox stehen dann 1. Zeichen, 1. + 2. Zeichen,
1., 2. + 3. Zeichen usw. also wie eine Pyramide.
Ich will es gerne mit #PB_EventType_Change machen, da
alles automatisch gehen soll. Ansonsten müßte ich noch
einen Button zum Abfragen machen.
Code: Alles auswählen
Global Quit.l
If OpenWindow(0, 10, 10, 400, 250, "Barcode", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ButtonGadget(1,5, 10,100, 20, "Ende")
ButtonGadget(2,120, 10, 100, 20, "Info")
StringGadget(3,5, 50, 240, 20, "")
ListViewGadget(10, 5, 100, 380, 120, #PB_ListView_Clickselect)
EndIf
Quit = 0
Repeat
EventID.l = WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Quit = 1
Case 2
MessageRequester("Info", "Hallo !", #PB_MessageRequester_Ok)
Case 3
Select EventType()
Case #PB_EventType_Change
AddGadgetItem(10, -1, GetGadgetText(3))
EndSelect
;SetGadgetText(3, "")
EndSelect
EndSelect
Until Quit = 1
EndIf
End
Verfasst: 16.02.2008 14:23
von mk-soft
Warum immer so kompliziert. Barcodeleser werden über Serial, Netzwerk oder USB angeschlossen. Die meisten Geräte liefert ein ASCII Protokoll. Also ein String der ausgewerte werden muss.
Mit den Ergebnisstring kann man dann ganz normal weiterarbeiten.
Verfasst: 16.02.2008 14:30
von Kaeru Gaman
würd' ich auch so sehen...
das in tastatureingabe umzuwandeln,
damit es in gadgets auftauchen kann,
ist wohl ne leistung von zusatzsoftware.
schau mal in die anleitung von dem barcodeleser,
da sollte ein kommunikationsprotokoll drinstehen.
Verfasst: 16.02.2008 15:48
von H.Brill
Nö, ist keine Zusatzsoftware notwendig bzw. dabei.
Es ist ein Scanner mit Tastaturweiche. Einfach reinstecken
und sich wohlfühlen.
Siehste ja auch oben, daß es mit nem simplen StringGadget
geht. Die Frage war ja nur wegen der Automatisierung beim
Einlesen ohne Zutun des Anwenders.
Also Scannen, den EAN Code vom Stringgadget lesen und ab
in die Listbox, halt nur voll automatisch.
Verfasst: 16.02.2008 17:00
von Kaeru Gaman
> Die Frage war ja nur wegen der Automatisierung beim
> Einlesen ohne Zutun des Anwenders.
anderes gerät kaufen.
das was du hast ist eben ein ganz spezielles mit seiner tastaturweiche.
andere stecken an USB oder COM und kommunizieren über vernünftige protokolle.
solche lassen sich dann als stationärgeräte an nem fließband anbringen und sowas.
Verfasst: 17.02.2008 09:02
von H.Brill
Habs ja deswegen gekauft, damit es einfach zu
handhaben ist und ich nicht noch über ser. oder
usb - Schnittstellen kommunizieren muß.
Mittlerweile hab ich es selber rausbekommen.
Ich muß halt nur nen Zähler mitführen, der die
Anzahl der vom Scanner gelieferten Zeichen zählt.
So funktioniert es nach meinen Vorstellungen :
Code: Alles auswählen
Global Quit.l, x.l
If OpenWindow(0, 10, 10, 400, 250, "Barcode", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ButtonGadget(1,5, 10,100, 20, "Ende")
ButtonGadget(2,120, 10, 100, 20, "Info")
StringGadget(3,5, 50, 240, 20, "")
ListViewGadget(10, 5, 100, 380, 120, #PB_ListView_Clickselect)
EndIf
Quit = 0
x = 0
Repeat
EventID.l = WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Quit = 1
Case 2
MessageRequester("Info", "Hallo !", #PB_MessageRequester_Ok)
Case 3
Select EventType()
Case #PB_EventType_Change
x = x + 1
EndSelect
If x = 13 ; 13 Zeichen EAN - Code
AddGadgetItem(10, -1, GetGadgetText(3))
SetGadgetText(3, "")
x = 0
EndIf
EndSelect
EndSelect
Until Quit = 1
EndIf
End
Verfasst: 20.02.2008 15:06
von Tafkadasom2k5
In diesem Fall fragste die Länge der EANs ab- ist natürlich praktikabel. Wäre es aber nicht günstiger, das #CRLF abzufangen? Somit wären auch EAN128 etc kein Problem mehr für deine Software
Edit:
Viele Scanner mit Tastaturweichen bieten sogar eine Art Konfiguration an- da lassen sich die interessantesten Kombinationen von "untipparen" Zeichen als Terminator des Strings einstellen. Damit bist du dann auf ner relativ sicheren und skalierbareren Seite.
Verfasst: 20.02.2008 19:10
von H.Brill
Ja, habe ich mittlerweile auch so gemacht.
Da ist ein ganzes Heftchen mit Barcodes dabei,
mit denen man den Scanner programmieren kann.
(start configuration, end configuration, save conf.
usw.). Klappt mit allen Barcodes prima.