Seite 1 von 2
Abfrage F-Taste - Konsole - Suche Beispiel
Verfasst: 15.04.2008 16:52
von Ironsmurf
Hallo zusammen
ich suche ein Beispiel für die Abfrage der F-Tasten für ein Konsolenprogramm. Da ich blutiger Anfänger bin, komme ich auch mit der Erklärung in der Hilfe dazu nicht wirklich klar.
Vielen Dank im voraus für eure Hilfe
Verfasst: 15.04.2008 17:12
von Fluid Byte
Womit genau "kommst du nicht klar"?
Verfasst: 15.04.2008 17:32
von Ironsmurf
der Input Befehl soll abfragen, ob eine F-Taste gedrückt wurde,
dem entsprechend soll das Konsolenprogramm über den Gosub Befehl,
in ein Unterprogramm verzweigen.
Verfasst: 15.04.2008 17:38
von Fluid Byte
So?
Code: Alles auswählen
OpenConsole()
Result$ = Input()
If Result$ = "F" : Goto BLAH : EndIf
End
BLAH:
Debug "HALLO, ICH BIN EINE SUBROUTINE!"
Verfasst: 15.04.2008 17:42
von Kaeru Gaman
nein...

er meinte nicht die F-Taste, er meinte die F-Tasten...
Verfasst: 15.04.2008 17:46
von Fluid Byte
* lul *
Naja, der Titel ...
Abfrage F-Taste - Konsole - Suche Beispiel
Verfasst: 15.04.2008 17:57
von Ironsmurf
Stimmt
Sorry, ich meine die Funktions - Tasten
Verfasst: 15.04.2008 18:05
von Fluid Byte
So kannst es machen:
Code: Alles auswählen
Procedure KeyboardProc(lParam)
Repeat
For i=#VK_F1 To #VK_F12
Result = GetAsyncKeyState_(i)
If Result
Debug "F" + Str(i-111) + "-TASTE GEDRUECKT"
Break
EndIf
Next
Delay(10)
ForEver
EndProcedure
CreateThread(@KeyboardProc(),0)
OpenConsole()
Result$ = Input()
CloseConsole()
Verfasst: 15.04.2008 18:09
von Kiffi
... oder so:
Code: Alles auswählen
If OpenConsole()
PrintN("Press Escape to exit")
Repeat
KeyPressed$ = Inkey()
If KeyPressed$ <> ""
PrintN("You pressed: " + KeyPressed$)
PrintN("It has a raw code of: "+Str(RawKey()))
ElseIf RawKey()
Select RawKey()
Case #VK_F1 : PrintN("F1")
Case #VK_F2 : PrintN("F2")
Case #VK_F3 : PrintN("F3")
Default
PrintN("You pressed a non ASCII key.")
PrintN("It has a raw code of: "+Str(RawKey()))
EndSelect
Else
Delay(20) ; Don't eat all the CPU time, we're on a multitask OS
EndIf
Until KeyPressed$ = Chr(27) ; Wait until escape is pressed
EndIf
(leicht erweiterter Code aus der PB-Hilfe)
Grüße ... Kiffi
Verfasst: 15.04.2008 18:40
von Ironsmurf
Das Beispiel funktioniert, kann man die Abfrage auch erreichen mit den normalen Input Befel ?