Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
953 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Code ASCII des touches de direction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Code ASCII des touches de direction

n°1339464
dRfELL
I want to believe.
Posté le 05-04-2006 à 10:33:37  profilanswer
 

Je n'arrive pas à récupérer le code ACSII des touches de direction (il me fait le code des 4 touches haut, bas, gauche et droite)...
en utilisant getch() ca me donne l'historiques des codes de touches frappées, normal.
 
Et sur le net, je ne trouve pas :/
 
merci d'avance :)

mood
Publicité
Posté le 05-04-2006 à 10:33:37  profilanswer
 

n°1339514
slash33
Posté le 05-04-2006 à 11:34:29  profilanswer
 

http://tcharles.developpez.com/simul/?delphi=1#VK
 
Ceux qui t'intéressent : VK_UP, VK_DOWN, VK_LEFT et VK_RIGHT.
 
Enjoy!

n°1339522
olivthill
Posté le 05-04-2006 à 11:38:50  profilanswer
 

Il n'y a pas de norme Ascii pour les flèches. Cela dépend des systèmes d'exploitation.
 
Sur un PC en mode console (DOS), les touches de direction sont récupérées par deux appels à getch().
Voici un exemple ci-dessous.


#define KBHOME 327
#define KBEND 335
#define KBUP 328
#define KBDOWN 336
#define KBPGUP 329
#define KBPGDN 337
#define KBLEFT 331
#define KBINS 338
#define KBRIGHT 333
#define KBDEL 339
 
       c0 = getch();
       if (c0==0) { /* Did user hit a non-ASCII key? */
          c1=getch()+256;        /* Read scan code for keyboard*/
          if (c1==KBUP) ...
          if (c1==KBDOWN) ...


Dans une application Windows, on utilisera le message WM_KEYDOWN et en testant si le paramètre est VK_UP, VK_DOWN, etc.
 
Sous Unix, on utilisera les bibliothèques curses, http://pdcurses.sourceforge.net/index.html , ou d'autres méthodes.


Message édité par olivthill le 05-04-2006 à 11:40:22
n°1339678
dRfELL
I want to believe.
Posté le 05-04-2006 à 14:22:05  profilanswer
 

d'accord merci à vous deux !
 
les variables c1 et c0 sont de type integer ?
 

Code :
  1. int vitesse_instantanee(int changement_vitesse)
  2. {
  3. int v_inst = 50;                //vitesse initiale
  4. int kbdir;               // touche de direction
  5.     if (changement_vitesse==0)      // Did user hit a non-ASCII key?
  6. {                           
  7.        kbdir=getch()+256;           // Read scan code for keyboard
  8.        if (kbdir==KBUP)
  9.     v_inst = v_inst+5;
  10.        if (kbdir==KBDOWN)
  11.     v_inst = v_inst-5;
  12. }
  13. return v_inst;
  14. }


 
est ce que c'est bon ca ?


Message édité par dRfELL le 05-04-2006 à 15:48:33
n°1339988
dRfELL
I want to believe.
Posté le 05-04-2006 à 19:58:09  profilanswer
 

up :)

n°1340190
olivthill
Posté le 05-04-2006 à 23:29:53  profilanswer
 

Oui getch() renvoie un entier, donc ça devrait marcher, du moins dans une application Windows de type console compilée avec un compilateur qui accepte getch(), comme par exemple BC, sans oublier de spécifier #include <conio.h>.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Code ASCII des touches de direction

 

Sujets relatifs
Code fermeture Userform[Swish]Code source pour passer un "stop"
Code VBA d'importation de module[Résolu] code instable
htmlentities et code html, pb avec <br>[Résolu] Du mal a analyser ce code
ajouter un label sur un formulaire par code?Pb de code VB sous access : FileDialog
[Batch]Explication de code svp 
Plus de sujets relatifs à : Code ASCII des touches de direction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR