Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Auswertung mit KEY (https://www.delphipraxis.net/135770-auswertung-mit-key.html)

Johannes013 17. Jun 2009 15:45


Auswertung mit KEY
 
Hallo, :roll: :wink:

Ich möchte per KEY eine Anweisung ausführen.

Delphi-Quellcode:
procedure TMain.FahrenTimer(Sender: TObject);
begin
   if (key=vk_left) then
      begin
         Player.Left:=Player.Left-1;
      end;
end;
was ist daran falsch?

So unter dem Event OnKeyDown der Form gibt's keinen Fehler.


:coder: :?:

mirage228 17. Jun 2009 15:51

Re: Auswertung mit KEY
 
Wo ist denn "Key" definiert? Wenn Du im Timer schauen möchtest, ob eine Taste gedrück ist, dann schau mal nach Hier im Forum suchenGetAsyncKeyState.

Viele Grüße

Johannes013 17. Jun 2009 16:09

Re: Auswertung mit KEY
 
Jop,

danke............fragen hilft immer.

Teekeks 17. Jun 2009 16:15

Re: Auswertung mit KEY
 
Zitat:

Zitat von Johannes013
Hallo, :roll: :wink:

Ich möchte per KEY eine Anweisung ausführen.

Delphi-Quellcode:
procedure TMain.FahrenTimer(Sender: TObject);
begin
   if (key=vk_left) then
      begin
         Player.Left:=Player.Left-1;
      end;
end;
was ist daran falsch?

So unter dem Event OnKeyDown der Form gibt's keinen Fehler.


:coder: :?:

Key ist ja auch eine der übergebenen Variablen der procedure (bei OnKeyDown) bei einem Timer wird keine Taste übergeben...

Ansonsten: das selbe wie mirage228...

BAMatze 17. Jun 2009 18:54

Re: Auswertung mit KEY
 
Wäre es nicht besser, wenn du auf die WM_KeyDown oder WM_KeyUp Messages reagierst? Bei einem Timer führst du eine Menge únnötiger Abfragen durch, die vieleicht negativ auf die PErformanze des Programms einwirken.

MfG
BAMatze


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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