Seite 1 von 2
Zeichenfolge verarbeiten
Verfasst: 01.02.2006 17:11
von Scream
Hallo,
ich hab mal ne Frage, und zwar hab ich vor mit einem Barcodeleser eine Zeichenfolge einzulesen (Barcodeleser funktionieren wie Tastaturen, eine mögliche Ausgabe von einem Barcodeleser sieht z.B. so aus: 1234567 gefolgt von einem Return). Diese Zeichenfolge soll aber nicht in ein Stringgadget geschrieben werden, sondern ähnlich wie Tastenkürzel verarbeitet werden.
Beispielsweise liest der Barcodeleser: 1234567 + Return ein und mein Programm soll beispielsweise eine Windows Message ausgeben.
Hat jemand eine Ahnung wie man sowas machen kann??
Mfg
Scream
Verfasst: 01.02.2006 17:23
von OptimusPrime
Du liest die Werte am Besten in einen String,
z.B.
oder
und ausgeben kannst Du diesen
mit
oder
Das ist dann das Windows Message Fenster.
Mfg
Verfasst: 01.02.2006 17:28
von Scream
hmm ja das könnte ich so schon machen.....aber ich will dem benutzer die möglichkeit bieten, dass er egal wo er sich momentan in meinem programm befindet, das er was über den barcodeleser einlesen kann.
Scream
Verfasst: 01.02.2006 17:30
von OptimusPrime
Verstehe,
hast Du denn schon funktionierenden Code zum einlesen ?
Verfasst: 01.02.2006 17:35
von Scream
speziell für diesen part des programm nicht.....
Im grunde genommen kann es ja auch ein leeres fenster mit einem MessageRequester.....
Ich suche im grunde genommen einen befehl der tastatureingaben "on the fly" aufnimmt und verwertet......
Scream
Verfasst: 01.02.2006 18:11
von Zaphod
hm, dann könntest du doch einfach keyboardshortcuts für 0..9 und return festlegen, oder verstehe ich dich da falsch?
Verfasst: 01.02.2006 18:17
von Scream
ehm ich glaub nicht....ich hoffe das wurde richtig verstanden, der code der aus dem barcode ausgelesen wurde ist nicht 1 oder 2 oder 3 usw.....sondern eine feste zusammenhängende zahl....
Verfasst: 01.02.2006 18:28
von AndyMars
Wenn ich Dich richtig versteh, simuliert der Barcodeleser doch Tastatureingaben - die kommen immer als einzelne Codes an. Klar ist es am Schluss ein zusammenhängende Zahl, aber erst, wenn man es z. B. in ein StringGadget eingibt... Ich glaube eigentlich auch, das die Idee von Zaphod funktioniern könnte...
Verfasst: 02.02.2006 17:47
von Scream
ah stimmt.....jetzt verstehe ich das erst richtig was Zaphod geschrieben hat....Hmm die Frage ist nur wie macht man sowas den keyboardshortcuts??
Gruß
Scream
Verfasst: 02.02.2006 18:36
von AndyMars
Vielleicht kannst Du das nicht genau so programmieren, je nach dem, was Dein Programm sonst noch so macht (z. B. wenn es schon ein Menü hat...). Und logisch wären die Zahlen dann irgendwie weiter zu verarbeiten. Aber das Prinzip solltest Du so jedenfalls erkennen...
Code: Alles auswählen
If OpenWindow(0,10,10,100,100,#PB_Window_SystemMenu,"Shortcuts")=0 : End : EndIf
AddKeyboardShortcut(0,#PB_Shortcut_0,0)
AddKeyboardShortcut(0,#PB_Shortcut_1,1)
AddKeyboardShortcut(0,#PB_Shortcut_2,2)
AddKeyboardShortcut(0,#PB_Shortcut_3,3)
AddKeyboardShortcut(0,#PB_Shortcut_4,4)
AddKeyboardShortcut(0,#PB_Shortcut_5,5)
AddKeyboardShortcut(0,#PB_Shortcut_6,6)
AddKeyboardShortcut(0,#PB_Shortcut_7,7)
AddKeyboardShortcut(0,#PB_Shortcut_8,8)
AddKeyboardShortcut(0,#PB_Shortcut_9,9)
Repeat
event=WaitWindowEvent()
;Ich verwende hier keine klassische Select struktur, weil die MenüIDs mit den Zahlen übereinstimmen...
;Funktioniert nicht mit dem Zahlenblock!
If event = #PB_Event_Menu
Debug EventMenuID()
EndIf
Until event=#PB_Event_CloseWindow
(juchu - 50 ;> )