IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Keypress pas détecté


Sujet :

Lazarus Pascal

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Keypress pas détecté
    Bonjour, je travaille en Pascal avec le logiciel Lazarus pour créer un jeu type "mario"

    Pour gérer le déplacement du personnage j'utilise le clavier d'ou l'utilisation de la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
    begin
          if (key = 'q') and (not Caribou.fkeydroite) then
            begin
                 Caribou.fkeygauche := True;
                 showmessage('coucou');
            end
         else if (key = 'd') and (not Caribou.fkeygauche) then
            Caribou.fkeydroite := True
         else if key = 'z' then
            Caribou.fkeyhaut := True;     
    end;
    J'ai d'abord pensé que l'erreur venait de mon programme, mais en fait je me suis rendue compte que ça ne détectait tout simplement pas quand j'appuyais sur les touches. ( En effet, j'ai inséré le showmessage('coucou'); pour voir s'il apparaissait quand j'appuyais sur q et rien ...).

    Du coup je me demande si cela ne vient pas du fait que je lance mon programme avec un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.BtnlancerjeuClick(Sender: TObject);
    begin
      Timer.Enabled := true;
      lancerjeu(); //procedure qui declenche le programme principal
    end;
    Est-ce que l'utilisation de ce bouton ne court-circuite pas l'utilisation de la méthode Keypress ?
    Ma forme est visible et enabled.
    Sur internet on parle d'utiliser Keypreview, mais je ne trouve pas cette méthode sur Lazarus.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 299
    Points
    11 299
    Billets dans le blog
    6
    Par défaut
    KeyPreview est une propriété de TForm pour gérer les touches-clavier correspondant à des caractères imprimables :
    si mis à True, la fiche voit les KeyPress de ses composants avant eux
    sinon, les événements leur arrivent directement

    exemple ici
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci énormément pour l'aide! Je cherchais Keypreview dans les évènements et non pas dans les propriétés.
    Bonne continuation

Discussions similaires

  1. Le Lecteur DVD n'est pas détecté
    Par mario52 dans le forum Composants
    Réponses: 8
    Dernier message: 05/07/2008, 22h35
  2. Dossier SendTo, raccourcis pas détectés
    Par Jidewe dans le forum VB.NET
    Réponses: 5
    Dernier message: 27/05/2008, 17h04
  3. [XML] [RSS] La mise à jour du flux n'est pas détectée par le lecteur
    Par magicbisous-nours dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 03/03/2008, 20h23
  4. [Deployment] persistence.xml pas détecté
    Par fisico dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 24/08/2007, 21h56
  5. événement OnDrawTab pas détecté
    Par OutOfRange dans le forum Delphi
    Réponses: 4
    Dernier message: 24/09/2006, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo