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 :

Comment attendre la saisie d'une touche ?


Sujet :

Langage Delphi

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    538
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 538
    Points : 122
    Points
    122
    Par défaut Comment attendre la saisie d'une touche ?
    Bonjour à tous

    J'ai oublié comment attendre l'entrée de n'importe quelle touche avec Application.ProcessMessages !

    Je veux faire un While [attendre la touche] do Application.processMessages !

    merci

  2. #2
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    en mode console ou en mode fiche ?
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  3. #3
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Citation Envoyé par bvsud Voir le message
    Bonjour à tous

    J'ai oublié comment attendre l'entrée de n'importe quelle touche avec Application.ProcessMessages !

    Je veux faire un While [attendre la touche] do Application.processMessages !

    merci
    Normalement le principe c'est plutôt de gérer les évènements (style onClick). Quand on en est à faire un While [attendre la touche] do Application.processMessages c'est qu'on s'est trompé quelque part dans la structure du logiciel. Bon je te rassure ça m'est déjà arrivé.
    Tu veux faire quoi exactement ?

  4. #4
    Membre régulier Avatar de khaled-benloucif
    Inscrit en
    Octobre 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2008
    Messages : 74
    Points : 77
    Points
    77
    Par défaut
    Bonjour,
    si ton programme est fenêtré, affecte la propriété KeyPreview de ta fiche à true et regarde du coté des Evènements OnKeyPress, OnKeyDown etOnKeyUp.

    Si par exemple t'a pas de fenêtre, disons entre le begin et end de ton programme principal, utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    ...
    var Msg: tagMsg;
    begin
     while GetMessage(Msg, 0,0,0) do
      case Msg.message of
       WM_XXX1: ;// traite ton message 1
       WM_XXX2: ;// traite ton message 2
       ...
      end
    end.
    de cette, manière tu évite de faire une attente active et ton processeur sera soulagé.
    to be xor not to be, that's the flag

  5. #5
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    538
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 538
    Points : 122
    Points
    122
    Par défaut
    Citation Envoyé par khaled-benloucif Voir le message
    Bonjour,
    si ton programme est fenêtré, affecte la propriété KeyPreview de ta fiche à true et regarde du coté des Evènements OnKeyPress, OnKeyDown etOnKeyUp.

    Si par exemple t'a pas de fenêtre, disons entre le begin et end de ton programme principal, utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    ...
    var Msg: tagMsg;
    begin
     while GetMessage(Msg, 0,0,0) do
      case Msg.message of
       WM_XXX1: ;// traite ton message 1
       WM_XXX2: ;// traite ton message 2
       ...
      end
    end.
    de cette, manière tu évite de faire une attente active et ton processeur sera soulagé.
    C'est très bien Merci Khaled.

Discussions similaires

  1. Comment bloquer la saisie d'une touche dans un TEdit ?
    Par bahamut100 dans le forum Débuter
    Réponses: 6
    Dernier message: 01/11/2007, 11h35
  2. Comment limiter la saisie sur une TextBox ?
    Par dcollart dans le forum ASP.NET
    Réponses: 5
    Dernier message: 27/11/2006, 14h41
  3. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  4. [CF][C#/PPC] Comment être à l'écouter d'une touche du clavier ?
    Par freddyboy dans le forum Windows Mobile
    Réponses: 6
    Dernier message: 18/05/2005, 17h32
  5. Comment détecter la frappe d'une touche ?
    Par Bubonik software dans le forum C
    Réponses: 17
    Dernier message: 11/12/2003, 21h52

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