Zeichenfolge verarbeiten

Anfängerfragen zum Programmieren mit PureBasic.
Scream
Beiträge: 32
Registriert: 26.12.2005 15:10

Zeichenfolge verarbeiten

Beitrag 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
OptimusPrime
Beiträge: 43
Registriert: 07.03.2005 16:52

Beitrag von OptimusPrime »

Du liest die Werte am Besten in einen String,
z.B.

Code: Alles auswählen

input$
oder

Code: Alles auswählen

input.s


und ausgeben kannst Du diesen
mit

Code: Alles auswählen

MessageRequester("Fenstertitel",input$,0)
oder

Code: Alles auswählen

MessageRequester("Fenstertitel",input.s,0)
Das ist dann das Windows Message Fenster.

Mfg
Zuletzt geändert von OptimusPrime am 01.02.2006 17:28, insgesamt 1-mal geändert.
Scream
Beiträge: 32
Registriert: 26.12.2005 15:10

Beitrag 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
OptimusPrime
Beiträge: 43
Registriert: 07.03.2005 16:52

Beitrag von OptimusPrime »

Verstehe,
hast Du denn schon funktionierenden Code zum einlesen ?
Scream
Beiträge: 32
Registriert: 26.12.2005 15:10

Beitrag 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
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

hm, dann könntest du doch einfach keyboardshortcuts für 0..9 und return festlegen, oder verstehe ich dich da falsch?
Scream
Beiträge: 32
Registriert: 26.12.2005 15:10

Beitrag 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....
Benutzeravatar
AndyMars
Beiträge: 141
Registriert: 08.09.2004 11:59
Computerausstattung: Win11 Prof 64bit, i5-13500 @ 4.8 GHz, 32GB RAM, Nvidia RTX 4070 TI
Wohnort: Zürich, Schweiz
Kontaktdaten:

Beitrag 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...
Grüsse von AndyMars
Scream
Beiträge: 32
Registriert: 26.12.2005 15:10

Beitrag 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
Benutzeravatar
AndyMars
Beiträge: 141
Registriert: 08.09.2004 11:59
Computerausstattung: Win11 Prof 64bit, i5-13500 @ 4.8 GHz, 32GB RAM, Nvidia RTX 4070 TI
Wohnort: Zürich, Schweiz
Kontaktdaten:

Beitrag 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 ;> )
Grüsse von AndyMars
Antworten