Abfrage F-Taste - Konsole - Suche Beispiel

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

Abfrage F-Taste - Konsole - Suche Beispiel

Beitrag 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
Es kommt immer auf die Sichtweise des Betrachters an.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Womit genau "kommst du nicht klar"?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

Beitrag 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.
Es kommt immer auf die Sichtweise des Betrachters an.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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!"
Windows 10 Pro, 64-Bit / Outtakes | Derek
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nein... :lol: er meinte nicht die F-Taste, er meinte die F-Tasten...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

* lul *

Naja, der Titel ...
Abfrage F-Taste - Konsole - Suche Beispiel
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

Beitrag von Ironsmurf »

Stimmt
Sorry, ich meine die Funktions - Tasten
Es kommt immer auf die Sichtweise des Betrachters an.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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()
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

Beitrag von Ironsmurf »

Das Beispiel funktioniert, kann man die Abfrage auch erreichen mit den normalen Input Befel ?
Es kommt immer auf die Sichtweise des Betrachters an.
Antworten