salut
je veux savoir comment je peux programmer les fléches de clavier a l'aide de compilateur turbo c++
avec les librairies standar
merci d'avance
salut
je veux savoir comment je peux programmer les fléches de clavier a l'aide de compilateur turbo c++
avec les librairies standar
merci d'avance
Je ne sais pas PDCurses est utilisable avec Turbo C++ (je n'ai jamais utilisé cet environnement), mais je crois que conio est disponible et devrait te permettre de jouer avec les flèches du clavier.
Venant du monde Unix, je n'ai jamais utilisé cette bibliothèque, mais c'est sans doute une piste.
Thierry
Salut,
Vu que tu utilise TC++ ...
Ce code ne sera du tout pas portable !
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 #include <conio.h> <...> enum keyEvent { HAUT=72,BAS=80,DROITE=77,GAUCHE=75 }; <...> int key; /* Lecture sans écho*/ key=getch(); if( key==224 || key==0 ) { /* Touche étendue ! Lecture du deuxième code */ key=getch(); switch( key ) { case HAUT : /* Traitement ...*/ break; case BAS : /* Traitement ...*/ break; case DROITE : /* Traitement ...*/ break; case GAUCHE : /* Traitement ...*/ break; } }
Je pense que ce n'est pas possibleEnvoyé par =ratsmok
EDIT : La réponse est aussi dans la FAQ : Comment gérer les touches étendues (F1..F12, flèches) ?
"programmer les fléches de clavier" n'a aucun sens. Si tu veux dire détecter, avec les fonctions standards, ce n'est pas possible. Il faut utiliser l'extension conio (<conio.h> livrée avec Turbo C) et les fonctions :
et savoir que les flèches sont une séquence de 2 caractères : 0 et un autre dont la valeur te sera révélée par ce petit programme de test :
- kbhit() (detection de frappe)
- getch() (lecture sans attente)
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 /* Turbo C */ #include <conio.h> int main (void) { int fin = 0; clrscr (); while (!fin) { int c = getch (); switch (c) { case 0: if (kbhit ()) { c = getch (); cprintf ("EXT : c= 0 %d\n\r", c); } break; case 27: /* ESC */ fin = 1; } } return 0; }
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