[ASCII MS-DOS] Code des touches fléchées

Fermé
aaa - 18 mars 2006 à 11:53
qbasic45 Messages postés 55 Date d'inscription vendredi 14 décembre 2012 Statut Membre Dernière intervention 15 juin 2019 - 22 déc. 2012 à 20:59
bonjour à tous,

je voudrais connaître le code ascii msdos des flèches directionnelles. j'ai essayé de lancer l'interpréteur de commandes dos et de faire Alt+0,Alt+1,Alt+2,Alt+3,Alt+4,... ... jusqu'à je ne sais quel nombre. j'ai cru trouver le code mais je me suis aperçu que cétait des caractères qui déplacent le curseur de texte en haut, en bas, à gauche ou à droite.

j'ai cherché sur beaucoup de sites mais je n'ai pas trouvé les flèches directionnelles.

ne me dites quand même pas que y en a pas !

merci d'avance
A voir également:

4 réponses

emaurice Messages postés 66 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 22 décembre 2012 1
22 déc. 2012 à 07:12
Bonjour Lupin A,

Certes, depuis mars 2006, il s'est passé bien des choses
Peut-être votre question demeure d'actualité

Juste une question:
dans quel environnement souhaitiez vous mettre en oeuvre la détection des touches ?

J'ai peut-être la moitié de la réponse que vous attendiez,
mais dans un environnement sensiblement différent, celui de QBasic

De toute façon, QBasic, emploi en grande partie, l'environnement MSDOS
Et donc les contrôles d'interruptions pourraient être les mêmes

Hormis que je ne sais pas comment saisir et détecter sous MSDOS

Il m'arrive comme vous de chercher des astuces dans des 'librairies' de scripts.
Les interruptions sont
déplacement
vers le haut = code Hexadécimal = 0x48, décimal = 72
vers le bas = code Hexadécimal = 0x50, décimal = 80
vers la gauche = code Hexadécimal = 0x4B, décimal = 75
vers la droite = code Hexadécimal = 0x77, décimal = 77

Et dans un environnement QBasic, des FUNCTIONS et SUB permettent ainsi de naviguer dans des répertoires.

Je crains ne pas répondre à vos attentes dans un environnement MSDOS
il faudrait que je recherche ce que je possède d'autre en MSDOS pour faire la liaison
JE viens d'effectuer un essai MSDOS, en vain pour le moment :
SET /P naviguer=[touche]
IF /i %naviguer% EQU 0x4B GOTO ActionAGauche
Echec et Mat en MSDOS


En QBasic
il s'agit, ( EXTRAITS ) de :
SUB SelectFile (Chemin$, FileName$)
SUB ReadData ()
SUB ReadFiles (Path$, Masque$, Files$(), FLen&(), Attr%(), Masque%, NbreFich%)
SUB SelectEntry (Titre$, Liste$(), Nbre%, x%, y%, b%, H%, Choix%)
SUB DrawBox (xl%, yl%)
FUNCTION Interr% (num%, AX%, BX%, CX%, DX%)

Probablement les avez-vous déjà en recherchant dans votre librairie QBasic
Exemple de programmes les mettant en oeuvre:
\LibProg\ :
INTERUPT.BAS
FSELECT.BAS
SOURIS.BAS
GRAPHSOU.BAS

Voilà donc la moitié du chemin, mais dans un environnement sensiblement différent.

Je ne vous abreuve pas de suite d'adresses web utiles concernant le MSDOS auprès d'informaticiens experts hors Forum.

Comme toujours, il m'arrive souvent de découvrir des sujets intéressants, au moment de mes recherches. Mais les années se sont écoulées !

Bien cordialement
Eric
1
Utilisateur anonyme
18 mars 2006 à 14:26
Bonjour,

vous avez votre réponse :

je vous cite :
je me suis aperçu que cétait des caractères qui déplacent le curseur de texte en haut, en bas, à gauche ou à droite
fin citation

si le focus est en éditon dans un texte, c'est ce qui se produit
quand vous utiliser les flèches directionnelles.

pour changer le focus d'objet vous devez combiné
avec [Alt] [TAB] pour choisir l'application, [TAB] pour
changer le focus et les flèches pour vous déplacer dans
l'objet.

Lupin
0
Utilisateur anonyme
7 avril 2006 à 14:12
Merci pour votre réponse.
0
emaurice Messages postés 66 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 22 décembre 2012 1
22 déc. 2012 à 07:18
Ah! Complément immédiat :

J'aurai pu ajouter l'évidence :
Les codes d'interruptions ne s'inscrivent pas dans le code ASCII !
Puisque par exemple le code 0x4B = 75, n'a rien à voir avec le code ASCII 0075, lettre K.

L'accès aux codes d'interruptions est donc d'un accès très particulier de lecture du clavier, dans le contexte des SubRoutines existentes en librairie QBasic.

Je sais qu'il existe un autre moyen trivial de lecture INKEY$, mais ce n'est pas celui-ci qui est mis en oeuvre dans les SubRoutines indiquées.

Et concernant MSDOS, je n'ai pas approfondi pour le moment.

Bien cordialement
Eric
0
qbasic45 Messages postés 55 Date d'inscription vendredi 14 décembre 2012 Statut Membre Dernière intervention 15 juin 2019 3
22 déc. 2012 à 20:59
BONJOUR
REM CODE CLAVIER DES FICHIERS EN QBASIC 4.5
CLS :
10 REM
LOCATE 10, 10: PRINT "ok"
z$ = "": z$ = INKEY$
IF z$ = "" THEN 10
IF z$ = "f" THEN END
IF z$ = CHR$(0) + CHR$(72) THEN PRINT "HAUT"
IF z$ = CHR$(0) + CHR$(75) THEN PRINT "GAUCHE"
IF z$ = CHR$(0) + CHR$(80) THEN PRINT "BAS"
IF z$ = CHR$(0) + CHR$(77) THEN PRINT "DROITE"
GOTO 10
0