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

Langage Delphi Discussion :

Gérer les touches du clavier


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut Gérer les touches du clavier
    bonjour,

    je voudrais que mon application reconnaisse les touches du clavier. J'ai essayé avec onKeyDown, onKeyPress mais vu que je suis sur un ordinateur portable, je n'ai pas de pavé numerique donc les controles, memes sur les valeurs ASCII, ne fonctionnent pas...
    Quelqu'un aurait-il une solution ??
    Merci d'avance

    Kevin

  2. #2
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    çA ne marche pas ?

    Touche A par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#$41 then caption:='gagné'; // TOUCHE A PAR EXEMPLE
    end;
    A+

    PS: testé sur portable.

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Si tu as besoin de détecter toutes les touches du clavier, même les touches de contrôle, il faut utiliser un hook. Sinon, plus simplement, utiliser l'evènement OnMessage ou un Timer pour les objets ne disposant pas d'évènement clavier. En tous les cas, si tu veux pouvoir détecter des combinaisons de touches, il faut enregistrer l'état de chacune dans un booléan :

    http://www.developpez.net/forums/sho...php?t=61903#11

  4. #4
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    regarde du cote de KeyPreview sur ta form principale

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    bon en fait je pensais que le probleme venait du fait que je ne pouvais pas acceder aux touches numeriques (celles au dessus des lettres) mais en fait meme le code de Archimède ne fonctionne pas...
    je vais étudier vos propsitions

    Merci bien

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par kevinou55 Voir le message
    acceder aux touches numeriques (celles au dessus des lettres)
    Attention, il faut (bien entendu) que le VerrNum (ou VerrMaj) soit actif...
    A noter que sur un clavier Qwerty, c'est différent, VerrMaj est désactivé pour obtenir les nombres (enfin il me semble).
    Pour éviter les erreurs dans le cvas où ton programme serait utilisé par un autre type de clavier que le tien, pense à utiliser les constantes VK plutôt que de comparer les touches avec leur correspondance nombre ou caractère.

    PS: J'ai retrouvé ce topic où je détaille un peu plus ce que je disais.

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    C'est bon !!!
    Désolé j'avais simplement oublié de metre KeyPreview a True...

    Merci pour votre aide

  8. #8
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    if key=#$31 (le 1) ça marche ? (Testé...) pour répondre à ta remarque concernant ton post à mon égard.
    AH, ok pour ton dernier post. (je viens de voir...)

    rq: 0=>#$30 1=>#$31 ,32,33,.....9=>#$39

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    Le probleme avec les contante VK c'est qu'elles ne recupèrent pas les lettres par exemple, si ??
    ce ne sont pas que les touches de controle ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment gérer des clics sur les touches du clavier:
    Par choko83 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 11/03/2008, 12h15
  2. [C#2.0] Intercepter les touches du clavier
    Par iowa dans le forum Windows Forms
    Réponses: 10
    Dernier message: 28/04/2006, 12h42
  3. Logiciel pour enregistrer les touches du clavier
    Par WELCOMSMAIL dans le forum Autres Logiciels
    Réponses: 20
    Dernier message: 27/04/2006, 14h18
  4. Valider avec les touches du clavier
    Par pierrot67 dans le forum Bases de données
    Réponses: 8
    Dernier message: 17/02/2006, 09h22

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