Keyboardinkey()
Verfasst: 18.10.2004 10:18
Hi,
Ich möchte einen Schreibtrainer programmieren!
Das Problem ist, dass Eventwparam() offensichtlich nicht zwischen Groß - und Kleinbuchstaben unterscheiden kann. Das brauche ich jedoch für mein Programm.
Ich habe es auch schon mit KeyboardInKey probiert! Das lief aber nicht richtig! Hier mal der Code:
Währe nett, wenn ihr mir helfen könntet! Ich finde meinen Fehler einfach nicht!
MfG
Hypersoft
Edit by NicTheQuick: Code-Tags gesetzt
Ich möchte einen Schreibtrainer programmieren!
Das Problem ist, dass Eventwparam() offensichtlich nicht zwischen Groß - und Kleinbuchstaben unterscheiden kann. Das brauche ich jedoch für mein Programm.
Ich habe es auch schon mit KeyboardInKey probiert! Das lief aber nicht richtig! Hier mal der Code:
Code: Alles auswählen
;Nicht über die komische Anordnung der Gadgets wundern! Ich arbeite mit Braille (Punktschrift) und Sprachausgabe und mache so was immer zum Schluss!
directx = InitKeyboard()
If directx = 0
MessageRequester("Fehler","Auf Ihrem Computer ist kein oder ein veraltetes DirectX installiert. Bevor Sie dieses Programm nutzen können, müssen Sie DirectX
neu installieren!")
EndIf
InitKeyboard()
OpenWindow(1, 20, 20, 200, 200, #PB_Window_MinimizeGadget|#pb_window_maximizegadget, "Schreibtrainer")
CreateMenu(1, WindowID())
MenuTitle("Training")
MenuItem(1, "Start")
MenuItem(2, "Textdatei als Trainingsvorlage öffnen")
MenuItem(3, "Beenden")
MenuTitle("Modus")
MenuItem(11, "Computer soll das Training geben")
MenuItem(12, "Textdatei für das Training verwenden")
MenuTitle("Optionen")
MenuTitle("?")
CreateGadgetList(WindowID())
TextGadget(1, 30, 50, 80, 60, "Willkommen beim Schreibtrainer!")
Repeat
Select WaitWindowEvent()
Case #pb_event_menu
Select EventMenuID()
Case 1
Goto start
Case 2
Goto opentext
Case 3
Goto Ending
EndSelect
Case #pb_event_closewindow
Goto Ending
EndSelect
ForEver
start:
FreeGadget(1)
textgadget(2, 90, 50, 90, 60, "Tippen Sie die Buchstaben ein!")
StringGadget(1, 90, 90, 20, 30, "")
; Hier der Problemteil! Die Taste, die der User eingibt wird erst beim zweiten durchlauf erkannt!
Abfrage:
compkey = 97+Random(25)
compkey$ = Chr(compkey)
SetGadgetText(1,compkey$)
Repeat
Delay(30)
ActivateGadget(1)
event =WindowEvent()
ExamineKeyboard()
If KeyboardPushed(#pb_key_all) > 0
Break
EndIf
ForEver
examinekeyboard()
keypress$ = keyboardinkey()
messagerequester(keypress$,compkey$)
If keypress$ = compkey$
Goto Ending ;Einfach um zu sehen, ob er die Tasten richtig erkennt!
Else
Goto Abfrage
EndIf
opentext:
Ending:
EndMfG
Hypersoft
Edit by NicTheQuick: Code-Tags gesetzt