Suche GetKey() Ersatz ...
Übersicht

![]() |
bruZardBetreff: Suche GetKey() Ersatz ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
... oder etwas ähnliches ...
Sucu-X hat mir empfohlen in einer For ... To Schleife alle möglichen ASCII Codes durchzugehen und per KeyDown() zu testen ob eine dieser Tasten gedrückt wurde ... funktioniert von den Werten her ganz gut, ist aber nicht das was ich will. Es geht um eine eigene Input-Routine welche den Program-Flow nicht unterbricht und mir fehlt einfach mal eine "welche-Taste-hat-denn-der-User-nun-gedrückt?" Funktion. Auch meine Versuche über StandardIO waren nicht wirklich von Erfolg gekrönt. Hat jemand von Euch für einen derartigen Fall bereits eine Lösung gefunden oder kennt jemanden der mal von jemandem gehört hat dass dieser jemanden kennt welcher vom seinen Bruder erfahren hat das dieser jemanden kennt der darüber gelesen hat? Ich brauche gar keine großartigen Quelltexte, einfache Stöße in die richtige Richtung genügen. P.S.: Bitte nehmt Abstand davon mir KeyDown() empfehlen zu wollen... danke ![]() |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
bruZard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Offenbar geht es Euch wie mir und den Usern des engl. Forums ... keiner findet eine wirklich gute Lösung.
Etwas halbgares habe ich dennoch gefunden, es stammt aus dem Sample "BPaint" von Simon Armstrong. Kleinigkeiten habe ich bereits geändert, für eine voll funktionsfähige Routine fehlt aber sicher noch der eine oder andere Tweak. Code: [AUSKLAPPEN] Function GetKey() Local i,shft If KeyHit(8) Return 8 If KeyHit(32) Return 32 If KeyDown(KEY_SHIFT) For i=0 To 9 If KeyHit(48+i) Return Asc(Mid$(")!@#$%^&*()",i+1,1)) EndIf Next For i=0 To 25 If KeyHit(65+i) Return 65+i EndIf Next If KeyHit(KEY_TILDE) Return Asc("~") If KeyHit(KEY_MINUS) Return Asc("_") If KeyHit(KEY_EQUALS) Return Asc("+") If KeyHit(KEY_OPENBRACKET) Return Asc("{") If KeyHit(KEY_CLOSEBRACKET) Return Asc("}") If KeyHit(KEY_BACKSLASH) Return Asc("|") If KeyHit(KEY_SEMICOLON) Return Asc(":") If KeyHit(KEY_QUOTES) Return 34 If KeyHit(KEY_COMMA) Return Asc("<") If KeyHit(KEY_PERIOD) Return Asc(">") If KeyHit(KEY_SLASH) Return Asc("?") Else For i=0 To 9 If KeyHit(48+i) Return 48+i EndIf Next For i=0 To 25 If KeyHit(65+i) Return 97+i EndIf Next If KeyHit(KEY_TILDE) Return Asc("`") If KeyHit(KEY_MINUS) Return Asc("-") If KeyHit(KEY_EQUALS) Return Asc("=") If KeyHit(KEY_OPENBRACKET) Return Asc("[") If KeyHit(KEY_CLOSEBRACKET) Return Asc("]") If KeyHit(KEY_BACKSLASH) Return Asc("\") If KeyHit(KEY_SEMICOLON) Return Asc(";") If KeyHit(KEY_QUOTES) Return Asc("'") If KeyHit(KEY_COMMA) Return Asc(",") If KeyHit(KEY_PERIOD) Return Asc(".") If KeyHit(KEY_SLASH) Return Asc("/") If KeyHit(KEY_RETURN) Return 13 EndIf End Function |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
![]() |
Suco-XBetreff: ....... |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.blitzbasic.com/Comm...opic=43564
Mark hat nun eine Funktion eingebaut. GetChar. Module Synchen und ab. Auf den ersten Blick scheint das alles Bugfrei und ausgereift zu sein. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
ManiacBetreff: Re: ....... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Suco-X hat Folgendes geschrieben: http://www.blitzbasic.com/Comm...opic=43564
Dumdidum C++ lässt grüßen (:
Mark hat nun eine Funktion eingebaut. GetChar. Module Synchen und ab. Auf den ersten Blick scheint das alles Bugfrei und ausgereift zu sein. Mfg Suco |
||
User posted image
^^ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group