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
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".Envoyé par Raptor20
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.
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)Envoyé par Raptor20
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
Alors si tu utilises MinGW (dev-C++, wxDev-C++, Code::Blocs, MinGW Studio) tu peux utiliser la bibliothèque CONIO et la fonction getch().Envoyé par Raptor20
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
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
Je vois qu'il y a d'autre interesse
La meme question pour moi svp
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.Envoyé par Maverick27
A toi de faire les affichages nécessaires et d'en tirer les conclusions...
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 */ }
Sinon, il doit bien y avoir une doc dans MSDN... Euh... je te laisse chercher !
Pas de Wi-Fi à la maison : CPL
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...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager