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

aaa -  
qbasic45 Messages postés 60 Statut Membre -
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

4 réponses

  1. emaurice Messages postés 69 Statut Membre 1
     
    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
  2. Utilisateur anonyme
     
    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
    1. Utilisateur anonyme
       
      Merci pour votre réponse.
      0
  3. emaurice Messages postés 69 Statut Membre 1
     
    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
  4. qbasic45 Messages postés 60 Statut Membre 3
     
    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