Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi auf tasten reagiern mit onpresskey in procedure tform1 (https://www.delphipraxis.net/24396-auf-tasten-reagiern-mit-onpresskey-procedure-tform1.html)

RoKo 20. Jun 2004 15:54


auf tasten reagiern mit onpresskey in procedure tform1
 
:cry: Hilfe!!!

Ich muss morgen ein referat machen und würde ganz gerne wissen, wie ich eine procedure, mit hilfe eines tastendrucks, ablaufen lassen kann!!?? :?:

Ich habe schon vieles probiert, aber es geht einfach nicht!

Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
 IF key = [VK_K] then
ballzeichnen;
end;
bei drücken der taste "K" soll die procedure "ballzeichen" ablaufen!
außerdem habe ich schon andere schreibweisen ausprobiert und ich komme nicht weiter. mal funktioniert es, doch man kann dann alle tasten drücken außer sondertasten. aber ich möchte dass nur "K" gedrückt wird und dann geht! :x

bei der schreibweise oben wird "bezeichner nicht definiert" angegeben.
außerdem habe ich schon ausprobiert statt "[VK_K]" mal "$4b" einzugeben
-> geht allerdings alle tasten und nicht nur K

also ich komme nicht weiter bitte helft mir!

Vielen dank im voraus!

Roman

alcaeus 20. Jun 2004 15:56

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
Wie wärs denn mit
Delphi-Quellcode:
if Key = 'k' then
//...
Normale Tasten brauchen AFAIK keinen VirtualKey...

Greetz
alcaeus

Neuni 20. Jun 2004 15:59

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
Und die Virtuellen Tastencodes kann man IMHO auch ohne die eckigen Klammern schreiben!

alcaeus 20. Jun 2004 16:03

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
Virtuelle Tastencodes sind eben nicht Chars, sondern Integerkonstanten.
Deshalb müsstest du schreiben:
if Ord(Key) = VK_K then
//...

Nachdem du aber (wie schon gesagt) bei "normalen" Tasten keine Keycodes brauchst, fällt das Weg. Interessant werden diese Konstanten bei den OnKeyDown/Up-Ereignissen:
Die Taste wird nicht mehr als Char, sondern als Integer mitgegeben, was bedeutet, dass du z.B. die Strg und Alt-Tasten abfragen kannst, und somit das Zeichnen mit dem Druck der Strg-Taste starten kannst. Aber für deinen Anwendungsbereich ist der zuerst erwähnte Weg (Key = 'k') der einfachste.

Greetz
alcaeus

[add]@Neuni: Die VK's werden immer ohne eckige Klammern geschrieben.[/add]

RoKo 20. Jun 2004 16:22

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
hey leute! vielen dank!

ich sollte mir mal merken:

warum kompliziert, wenn auch einfach geht!! :wall:

naja ich komm jetzt soweit klar! aber was muss ich machen, wenn ich zum beispiel die pfeiltasten benutzen will?

danke Roman

alcaeus 20. Jun 2004 16:24

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
Code:

Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_LEFT then
    //Deine Aktion
end;
Alternativ gibts noch VK_UP, VK_RIGHT, VK_DOWN
Gib in der Delphi OH mal "Virtuelle" ein, dann müsstest du im Index den Eintrag zu den virtuellen Tastencodes finden.

Greetz
alcaeus

RoKo 20. Jun 2004 16:46

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
:corky:

super vielen Dank! Nun steht meinem Referat nichts mehr im Wege und ich bin um vieles Schlauer geworden, da ich viel grafische Sachen in Delphi programmiere und nun kann ich auch die Tastatur einbinden! :dancer2: :-D

Vielen Dank

MfG Roman

RoKo 24. Jun 2004 13:16

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
hi! Ich hab jetzt mein bescheidenes Programm fertig! :spin2:

man kann es downloaden unter OldschoolGame Pong in Delphi

viel spaß beim "zocken"!

habt ihr vieleicht einen tipp wie ich den ball schneller bekommen kann ohne viel aufwand zu betreiben? naja gut!

ich schreib dann mal ein bisschen weiter und versuch so erstmal mein glück

tchau Roko

alcaeus 24. Jun 2004 14:36

Re: auf tasten reagiern mit onpresskey in procedure tform1
 
@Roko: Für die Vorstellung von Progs haben wir hier die Freeware bzw. Open-Source-Sparten. Poste es da rein, dann bekommst du auch sicherlich ein Feedback von einigen Usern

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz