Seite 3 von 3

Verfasst: 05.09.2005 17:02
von DarkDragon
vonTurnundTaxis hat geschrieben:Unsinn...

Code: Alles auswählen

Structure kbBytes
  b.b[256]
EndStructure

kbArray.kbBytes

Repeat
  GetKeyboardState_(@kbArray)
  Debug kbArray\b[#VK_ESCAPE]
  Delay(1000)
Until kbArray\b[#VK_ESCAPE] = 0
MessageRequester("OK", "ESCAPE and the program ends.")
End
Nur funzt es in PureBasic nicht. Weder mit nem normalen Array, noch so in ner Struktur. In anderen Sprachen schon.

Verfasst: 05.09.2005 22:16
von vonTurnundTaxis
Wie jetzt?

Verfasst: 06.09.2005 11:59
von AndyX
z.b.

Code: Alles auswählen

GetAsyncKeyState_(#VK_ESCAPE | #VK_IRGENDWAS)

Verfasst: 06.09.2005 12:21
von DarkDragon
AndyX hat geschrieben:z.b.

Code: Alles auswählen

GetAsyncKeyState_(#VK_ESCAPE | #VK_IRGENDWAS)
Das wollen wir ja garnicht.

[EDIT]
GetKeyboardState

The GetKeyboardState function copies the status of the 256 virtual keys to the specified buffer.


· lpKeyState
Points to the 256-byte array that will receive the status data for each virtual key.

Verfasst: 06.09.2005 12:32
von AndyX
vTT wollte doch ne WinAPI Funktion zum Abfragen der Tastatur :?

Verfasst: 06.09.2005 12:48
von DarkDragon
AndyX hat geschrieben:vTT wollte doch ne WinAPI Funktion zum Abfragen der Tastatur :?
Ja, für alle Tasten, und nicht für eine bestimmte.

Verfasst: 06.09.2005 13:49
von AndyX
Achso... Dann sry :)

Verfasst: 06.09.2005 17:01
von vonTurnundTaxis
Ein grundlegendes Beispiel:

Code: Alles auswählen

If OpenWindow(#PB_Any, 0, 0, 100, 100, #PB_Window_ScreenCentered, "Eingabe-Test")

Repeat
  If WaitWindowEvent() =  #WM_KEYDOWN
    If GetAsyncKeyState_(#VK_SHIFT)
      antwort$ + Chr(EventwParam())
    Else
      antwort$ + LCase(Chr(EventwParam()))
    EndIf
  EndIf
  Debug antwort$
Until GetAsyncKeyState_(#VK_ESCAPE)

EndIf
Man muss natürlich noch eine Unterscheidung bei Sonderzeichen machen, aber das dürfte als Grundlage genügen.