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

Composants VCL Delphi Discussion :

Problème d'appui de touche dans OnKeyPress


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Problème d'appui de touche dans OnKeyPress
    Une question toute bête...

    J'utilise un évènement onKeyPress, et je veux tester si la touche sur laquelle l'utilisateur appuie est le backspace.

    J'ai regardé en débogage le code char de la touche backspace, et il me semble que c'est '#8' mais quand je teste :

    ca ne fonctionne pas...

    Me serais-je trompé sur le code char??
    Si oui, la question est quel est le code char de cette touche...?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Fais le plutôt pas l'évenement OnKeyDown (ou Up)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Key = VK_SPACE then
    Apparement, le code char est #32

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Fais le plutôt pas l'évenement OnKeyDown (ou Up)
    Le pb, c'est que 'Key' n'est plus un char mais un word, et que je ne sais pas trop comment on gère la chose...

    Apparement, le code char est #32
    Ca ne fonctionne pas non plus...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if Key = VK_BACK then
        beep;
    end;

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Ok.
    Merci à vous, portu et Reisubar, j'ai réussi à faire marcher mon code.

    Mais pour mon information personnelle, qqun connaitrait le code char de bakspace?? (ou le moyen de faire le test dans la propriété onKeyPress??)

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    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 = #8 then
        Beep;
    end;
    Ce code marche très bien chez moi... Je pense que c'est les apostrophes autour du #8 dans ton code que Delphi apprécie pas ;-)

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Je pense que c'est les apostrophes autour du #8 dans ton code que Delphi apprécie pas
    Effectivement, c'était bien ça le pb...
    On va dire que c'est à force de passer du c++ au pascal...

    merci Reisubar!!

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

Discussions similaires

  1. Simulation de touche dans un richedit
    Par firejocker dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/07/2004, 16h58
  2. problème our passer des string dans tableau d'int
    Par Battosaiii dans le forum C++
    Réponses: 9
    Dernier message: 15/07/2004, 17h42
  3. Simuler l'appui de touches
    Par immerczeck dans le forum Assembleur
    Réponses: 5
    Dernier message: 21/04/2004, 17h23
  4. Problème de rangement de structure dans un fichier ...
    Par Freeze dans le forum C++Builder
    Réponses: 8
    Dernier message: 16/12/2003, 16h46
  5. Réponses: 1
    Dernier message: 06/03/2003, 11h57

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