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

C Discussion :

Lecture du clavier


Sujet :

C

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Lecture du clavier
    Bonsoir
    Je voudrais savoir quel est le "nom" des touches Entrer Echap ainsi que celui des fleches afin que mon programme puisse les reconnaitre dans le but d'executer l'action correspondante ( en fenetre dos )
    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par Raptor20
    Bonsoir
    Je voudrais savoir quel est le "nom" des touches Entrer Echap ainsi que celui des fleches afin que mon programme puisse les reconnaitre dans le but d'executer l'action correspondante ( en fenetre dos )
    Merci
    Je ne comprends pas ce que tu veux dire par "nom".
    Quelle fonction(s) utilises-tu pour savoir quelle touche est enfoncée ?
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui c'est ca
    Par exemple si l'utilisateur appuye sur la touche Echap, le programme le reconnait et execute l'instrution correspondante dans mon programme

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Raptor20
    Oui c'est ca
    Par exemple si l'utilisateur appuye sur la touche Echap, le programme le reconnait et execute l'instrution correspondante dans mon programme
    Les fonctions standards du C sont faites pour saisir une ligne de texte, donc terminée par un <enter> ('\n'). Elle utilisent stdin, et le système gère la correction de saisie. (BACKSPACE)

    Si tu veux une fonction de bas niveau pour saisir directement ESC ou les flèches etc, il faut utiliser d'autres fonctions, non portables. Quel est ton système ?
    Pas de Wi-Fi à la maison : CPL

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je suis sous windows xp

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Raptor20
    Je suis sous windows xp
    Alors si tu utilises MinGW (dev-C++, wxDev-C++, Code::Blocs, MinGW Studio) tu peux utiliser la bibliothèque CONIO et la fonction getch().

    Si ce n'est pas déjà fait (à vérifier) installer CONIO (C'est un DevPak)
    Ajouter libconio.a (conio) à la configuration de l'IDE
    Inclure <conio2.h> dans les sources qui en ont besoin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <conio2.h>
    [...]
       int c = getch();
     
       if (c == 27) /* ESC */
       {
          /* ... */
       }
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    Ok merci ca marche
    Et pour les fleches c'est quoi ?
    Peut on trouver quelque part les numeros correspondant a toutes les touches du clavier Azerty
    Merci

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je vois qu'il y a d'autre interesse
    La meme question pour moi svp

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Maverick27
    Ok merci ca marche
    Et pour les fleches c'est quoi ?
    Peut on trouver quelque part les numeros correspondant a toutes les touches du clavier Azerty
    Merci
    Bah, tu peux le trouver toi même. Ce qu'il faut savoir, c'est que les touches 'étendues' envoient 2 caractères au lieu d'un. Sous Windows, le premier caractère est 0 ou 224. Si on lit 0 ou 224, on peut donc chercher à savoir si il y a encore un caractères dans le buffer. Pour ça, on utilise kbhit(). Ensuite, selon le caractère lu, on a affaire à telle ou telle touche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
       int c = getch();
       switch (c)
       {
       case 0; 
          if (kbhit())
          {
             c = getch();
             /* touche 'etendue' : 0-x  */
          }
          else
          {
              /* touche 'simple' : ASCII 0 */
          }
          break;
     
       case 224; 
          if (kbhit())
          {
             c = getch();
             /* touche 'etendue' :  '224-x ' */
          }
          else
          {
              /* touche 'simple' : ASCII 224 */
          }
          break;
     
       default:
             /* touches 'simples' : ASCII c */
       }
    A toi de faire les affichages nécessaires et d'en tirer les conclusions...

    Sinon, il doit bien y avoir une doc dans MSDN... Euh... je te laisse chercher !
    Pas de Wi-Fi à la maison : CPL

  10. #10
    wkd
    wkd est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 112
    Points : 65
    Points
    65
    Par défaut
    la meilleure technique:

    passer dans une fonction qui retourne le code assci et qui apres, dans ton programme principale, compare la valeur lue à ta valeur désirée
    Le forum est là pour ceux qui ont déjà passé des heures et des heures à chercher la petite bête et qui n'ont pas encore trouvé le moyen de l'attraper...

Discussions similaires

  1. Lecture du clavier avec PL/SQL
    Par pascal_T dans le forum PL/SQL
    Réponses: 3
    Dernier message: 08/09/2008, 10h23
  2. Lecture au clavier
    Par Isabella dans le forum SQL
    Réponses: 5
    Dernier message: 18/02/2008, 13h28
  3. [Débutant] Problème de lecture au clavier
    Par -papinou- dans le forum Pascal
    Réponses: 5
    Dernier message: 06/02/2008, 16h23
  4. [débutant] lecture entree clavier
    Par bendamen dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2007, 09h24
  5. Lecture au clavier
    Par Hibou57 dans le forum Linux
    Réponses: 4
    Dernier message: 03/01/2007, 03h22

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