Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TAstatur (https://www.delphipraxis.net/61849-tastatur.html)

Frosch 27. Jan 2006 08:14


TAstatur
 
Hallo,
ich habe eine Frage zu der Tastaturprogrammierung.

Wie kann ich es in Delphi programmieren, sodass man, wenn man z.B. den Pfeil nach oben gedrückt hält, sich ein Bild nach oben bewegt und wenn man ihn wieder los lässt, dass das Bild dann anhält.
Genauer, in was für eine Prozedur man das ganze dann schreibt und wie die "Abfragenamen" für die einzelnen Tasten lauten.
Danke im Vorraus!

Schaedel 27. Jan 2006 08:21

Re: TAstatur
 
Bemühe bitte das nächste mal die Suche...
Schau mal unter den Begriffer Virtualkeys ,OnKeydown und OnKeypress nach

ps: Herzlich Willkommen

Sascha_OW 27. Jan 2006 13:54

Re: TAstatur
 
Mach doch einfach OnKeyPress und dann:
Delphi-Quellcode:
If Ord(Key) = x then Image1.Top := Image1.Top - 25;
Ich weiss nicht genau ob das das ist was du suchst aber so habe ich das verstanden und geht auch sehr leicht das X durch den Wert ersetzen. Der einfachheit würde ich zur Steuerung asdw nehmen wie Counterstrike das auch macht

Frosch 27. Jan 2006 18:55

Re: TAstatur
 
Danke schonmal für die Antworten.

Hab ich das Jetzt richtig verstanden, dass wenn man jetzt die Taste X drücken würde, das Bild nach oben laufen würde?

3_of_8 27. Jan 2006 19:02

Re: TAstatur
 
Oder machs mit nem Timer und GetAsyncKeyState(VK_UP)<0.

Frosch 27. Jan 2006 19:15

Re: TAstatur
 
Ich weiß gerade nicht, ob ich mich zu doof anstelle, oder ob ich mich viellecht falsch versteht.
Also ich kenne das aus VisualBasic so:


If keycode = 36 then
Image1 = Image1 +1
End If


Jetzt weiß ich nur nicht, wie ich so eine Taste in Delphi abfrage. Was auf in Delphi dieses "keycode = 36"ist. Ich habe im Internet eine Liste gefunden mit "Virtuellen Tastencodes", die werden dann denke ich ja irgendwie in der Programmierung vorkommen müssen:

Zitat:

Delphi-Quellcode:
If Ord(Key) = x then Image1.Top := Image1.Top - 25;

Müsste ich hier jetzt anstelle des X den Virtuellen TAstencode für die Taste einsetzen?


--------------------------------------

Zitat:

ps: Herzlich Willkommen
Danke und Hallo an alle :hi:

3_of_8 27. Jan 2006 19:36

Re: TAstatur
 
Nein, nein, nein. Das funktioniert nur bei Tasten mit ASCII-Codes.

Du musst das ganze bei OnKeyDown machen, nicht bei OnKeyPress, und dann auch ohne das Ord().

Aber dabei musst du darauf achten, dass deine Komponente auch den Fokus hat.

Frosch 27. Jan 2006 20:42

Re: TAstatur
 
Ich glaub ich stell mich gerade verdammt doof an, habe es aber immer noch nicht verstanden.

Könnte mir jemand mal einfach nur die folgende deutsche Zeile nach Delphi übersetzen, dann wäre mir schon seh weitergeholfen.

Wenn ich die Taste mit dem Pfeil nach oben drücke, dann...





Vielen Dank nochmal und sry für den Aufwand.

3_of_8 27. Jan 2006 20:48

Re: TAstatur
 
Klick auf deine Form. Gehe unter Ereignisse und klicke doppelt auf OnKeyDown.

Schreib dann rein:

if key=VK_UP then blubb;

hanselmansel 27. Jan 2006 20:49

Re: TAstatur
 
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
If Key = VK_Up then
  ShowMessage('wuppdi!');
end;
MfG,

hanselmansel


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.
Seite 1 von 3  1 23      

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