Combinaison de touche

Résolu
cs_djtinou Messages postés 7 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 24 mars 2010 - 3 août 2009 à 02:10
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 10 août 2009 à 22:25
bonjour je fais des petite animation et j'ai super mario sur mo ecran et quand j'appui (onkeydown) sur la touche flecher a droite il marche j'aimerai mnt tjs dans le onkeydown que quand j'appui sur espace et la touche fléchéde droite mon super mario court coment faire svp merci d'avance (sur delphi5)

6 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
3 août 2009 à 02:30
GetAsyncKeyState
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
3 août 2009 à 16:09

unit Unit14;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm14 = class(TForm)
    Timer1: TTimer; // réglé a 45ms
    Label1: TLabel;
    procedure Timer1Timer(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form14: TForm14;

implementation

{$R *.dfm}

procedure TForm14.Timer1Timer(Sender: TObject);
var S : String;
begin
  S := '';
  if GetAsyncKeyState(VK_UP) < 0 then       S := S + 'UP ';
  if GetAsyncKeyState(VK_DOWN) < 0 then     S := S + 'DOWN ';
  if GetAsyncKeyState(VK_LEFT) < 0 then     S := S + 'LEFT ';
  if GetAsyncKeyState(VK_RIGHT) < 0 then    S := S + 'RIGHT ';

  if GetAsyncKeyState(VK_SPACE) < 0 then    S := S + 'SPACE ';

  if GetAsyncKeyState(VK_CONTROL) < 0 then  S := S + 'CTRL ';
  if GetAsyncKeyState(VK_LCONTROL) < 0 then S := S + 'LEFTCTRL ';
  if GetAsyncKeyState(VK_RCONTROL) < 0 then S := S + 'RIGHTCTRL ';

  if GetAsyncKeyState(VK_SHIFT) < 0 then    S := S + 'SHIFT ';
  if GetAsyncKeyState(VK_LSHIFT) < 0 then   S := S + 'LEFTSHIFT ';
  if GetAsyncKeyState(VK_RSHIFT) < 0 then   S := S + 'RIGHTSHIFT ';

  if GetAsyncKeyState(VK_RETURN) < 0 then   S := S + 'ENTER ';

  if GetAsyncKeyState(VK_CAPITAL) < 0 then  S := S + 'CAPSLOCK ';

  if GetAsyncKeyState(VK_BACK) < 0 then     S := S + 'BACKSPACE ';

  if GetAsyncKeyState(VK_TAB) < 0 then      S := S + 'TAB ';


  Label1.Caption := S;
end;

end.
3
cs_djtinou Messages postés 7 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 24 mars 2010
3 août 2009 à 15:49
et on l'utilise comment? les tutos sont en anglais dans delphi.
0
cs_djtinou Messages postés 7 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 24 mars 2010
3 août 2009 à 20:18
Merci super réponse elle ma beaucoup aidé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
10 août 2009 à 18:00
[Hors sujet]
Unit14 ? lol
sujet

Cordialement, Bacterius !
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
10 août 2009 à 22:25
sous Delphi 2009, si dans le dossier Project il existe deja des unités il nome le nouveau projet a la suite ...

et comme je fait pas le menage dans le dossier Project ...
0
Rejoignez-nous