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
37
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
37
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
9
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
37
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