[VB] KeyPress Funktion

Shaki

Ensign
Registriert
Dez. 2005
Beiträge
200
Hi also arbeite gerade an ein Tastaturprogramm und da will ich das wenn ich beispielsweise a drücke das dann steht "das ist der kleinbuchstabe a" .Das ist ja alles kein problem dafür hab ich den programmcode hier :
If Chr(KeyAscii) = "a" Then
MsgBox ("Das ist der kleinbuchstabe a")
Aber ich will auch das wenn ich "Shift" und dann "a" drücke das er sagt "Das ist der Großbuchstabe A" hat jemand ein plan wie ich das hinbekomme mit Shift und dann A?
 
AW: KeyPress Funktion

Also als erstes wäre es ganz lieb, wenn du mal dazuschreibst, in welcher Programmiersprache du das ganze realisieren willst (und diese nächstemal auch im Titel angibst).

Dann solltest du beachten, dass du bei einem Großbuchstaben bzw eigentlich bei fast jeder Taste, wenn Shift gedrückt wird, einen ganz anderen ASCII-Wert zurückbekommst.
Dementsprechend müsstest du also gar nicht auf Kleinbuchstabe + Shift prüfen, sondern eher generell sagen "Das ist der "+kleineodergrosse(KeyAscii)+" Buchstabe "+Chr(KeyAscii), wobei "kleineodergrosse" einfach prüft, ob der Ascii-Wert deines Buchstabens zwischen A und Z oder zwischen a und z liegt.
 
AW: KeyPress Funktion

Ich versuche auch schon eine ganze zeit den ascii code für die pfeiltasten herauszufinden und komme da nicht weiter... wäre schön wenn mir einer von euch helfen könnte.
PS: Denke mal, dass die Programmiersprache Visual Basic gemeint ist.
 
AW: KeyPress Funktion

für die pfeiltaste (genau wie die strg-, alt-, shift-, fX-taste) wirst du keinen ascii-code finden, da sie keinen hat. da musst du die scancodes auswerten. (allerdings weiß ich gerade nicht, wie man das mit vb macht.)
 
AW: KeyPress Funktion

Hmm schade...aber kannst du mir erkllären was es mit den scancodes auf sich hat? Dann kann ich evtl rausfinden wie das mit VB funktioniert.
 
AW: KeyPress Funktion

die scancodes sind einfach die codierungen für die tasten. die wird dir eingetlich direkt von dem wm_keyXXX-event geliefert, das existiert natürlich bei einer konsolenanwendung nicht, da müsste man mal in den konsolenfunktionen von windows schauen.
 
AW: KeyPress Funktion

Aber es müsste ja eigentlich möglich sein die "Windowsdaten" mit einzubinden.
Somit könnte man dann darauf zugreifen, aber das würde zum grössten Teil wieder eine ganz andere Programmiersprache mit sich führen.
 
AW: KeyPress Funktion

Also wenn ihr das über die winAPI machen wollt, dann müsst ihr für 'normale' zeichen einfach die WM_KEYDOWN Message abfangen, die dann auf virtual key code (wParam) und key data (lParam) besteht.
Sobald ALT gedrückt ist, wird aber WM_SYSKEYDOWN verwendet, also dann diese Message auswerten, also TranslateMessage und WM_SYSCHAR abfangen :)

Ich hoff das passt jetzt alles so, mehr hab ich auf die schnelle nicht gefunden.
 
AW: KeyPress Funktion

Ja is auch ne möglichkeit...ich für meinen Teil werde mich jetzt erstmal damit beschäftigen
 
AW: KeyPress Funktion

Mit VB kann man sehr wohl die Tasten ganz einfach abfragen. Es ist in den ASCII-Sonderzeichen "versteckt". Weil man die glaube ich nur mit Shift+Zahl von der Tastatur abfragen kann (keine Garantie dafür :D).
Ich habe aber ein Programm, die Pfeiltasten mit chr(37) bis chr(40) abfragen kann. Von links im Uhrzeigersinn glaub ich.

Und um die andere Frage zu beantworten (falls es um VB geht) kannst du es bei KeyPress nicht direkt abfragen, weil KeyPress nur eine Taste verarbeiten kann. Sonst kann ich dir folgenden Link nur empfelen:
http://www.activevb.de/tipps/vb6tipps/tipp0130.html

gruß
bassti
 
AW: KeyPress Funktion

Alles klar vielen Dank Bassti
Jetzt kann ich endlich weiter machen.
 

Ähnliche Themen

Antworten
6
Aufrufe
1.121
Green Mamba
G
Antworten
4
Aufrufe
1.043
Green Mamba
G
Zurück
Oben