Combinaison de touche [Résolu]

Signaler
Messages postés
7
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
24 mars 2010
-
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
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

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
32
GetAsyncKeyState
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
32

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.
Messages postés
7
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
24 mars 2010

et on l'utilise comment? les tutos sont en anglais dans delphi.
Messages postés
7
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
24 mars 2010

Merci super réponse elle ma beaucoup aidé
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
[Hors sujet]
Unit14 ? lol
sujet

Cordialement, Bacterius !
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
32
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 ...