Section courante

A propos

Section administrative du site

ANSI.SYS

ANSI
Zenith Data Systems Microsoft MS-DOS 2 Externe

Syntaxe

DEVICE=ANSI.SYS

Description

Ce pilote permet de fournir un terminal ANSI.

Objectif

Le ANSI.SYS est l'un des deux exemples fonctionnels de pilotes de périphérique chargeables par l'utilisateur étant fournis sur vos disques de distribution MS-DOS version 2. L'autre pilote de périphérique est MDISK.DVD. Bien que ANSI et MDISK ne soient pas des commandes ou des utilitaires appelés au prompt du système, ils sont décrits dans cette page car ils peuvent être chargés et utilisés par l'option utilisateur.

Le ANSI.SYS est un pilote de périphérique de caractères fonctionnel vous permettant d'utiliser des séquences de caractères spéciaux (codes d'échappement) dans vos programmes pour contrôler le positionnement du curseur dans les affichages à l'écran. Les séquences de caractères spéciaux vous permettent également de redéfinir la fonction ou la signification de n'importe quelle touche du clavier. Le ANSI.SYS fournit essentiellement une émulation de terminal ANSI.

Le pilote ANSI peut être ajouté à la liste liée des pilotes de périphériques standard du système (COM1:, LPT1:,..., comme décrit dans «Fonctionnalités d'entrée/sortie») en insérant une commande DEVICE= dans le fichier CONFIG.SYS du répertoire racine. Notez qu'il s'agit de la seule manière d'installer et d'utiliser ANSI ; il est chargé en mémoire au démarrage uniquement s'il est spécifié dans le fichier CONFIG.SYS. Pour plus d'informations sur le fichier CONFIG.SYS, reportez-vous à Fonctionnalités des composantes du système.

Installation de ANSI.SYS

Pour charger (installer) le pilote ANSI, vous devez inclure une ligne de commande sous la forme suivante dans un fichier CONFIG.SYS dans le répertoire racine :

DEVICE=ANSI.SYS

Une fois que vous avez fait cela, ANSI.SYS sera chargé en mémoire chaque fois que vous démarrerez votre système.

Utilisation de l'ANSI

Pendant le fonctionnement du système, le périphérique ANSI répondra comme n'importe quel autre périphérique inclus dans la liste du système. L'ANSI est essentiellement un périphérique de type CON, en ce sens qu'il pilote le clavier et le moniteur. La différence entre ANSI et CON est que ANSI traduit les codes d'échappement ANSI en fonctions de console spéciales.

Les séquences de caractères spéciaux prises en charge par ANSI ne sont valides que lorsqu'elles sont émises via les appels de fonction MS-DOS 1, 2, 6 et 9. La séquence de caractères prise en charge permet le contrôle du curseur, l'effacement, la définition des modes de fonctionnement et la redéfinition des touches. Les codes d'échappement des fonctions prises en charge sont fournis dans la liste qui suit.

Pour tous les codes d'échappement répertoriés, les lettres "ESC" représentent le code à 1 octet pour ESC (c'est-à-dire hexadécimal 1B), et non les caractères alpha. De plus, le caractère # est utilisé pour désigner un nombre décimal spécifié avec des caractères ASCII. Une valeur par défaut est utilisée lorsqu'aucune valeur explicite n'est utilisée et/ou lorsqu'une valeur de zéro est spécifiée.

Contrôle du curseur

Fonction Mnémonique Code d'échappement Description
Cursor Position CUP ESC[#;#H] Déplace le curseur à la position spécifiée par les paramètres numériques. Le premier paramètre spécifie le numéro de ligne ; le deuxième paramètre spécifie la colonne. La valeur par défaut pour les numéros de ligne et de colonne est 1. Si aucun paramètre n'est spécifié, le curseur est déplacé vers la position d'origine.
Cursor Up CUU ESC[#A Déplace le curseur vers le haut dans la même colonne. La valeur de # spécifie le nombre de lignes déplacées. La valeur par défaut est 1 ligne. Ce code d'échappement est ignoré si le curseur est déjà sur la ligne supérieure de l'affichage.
Cursor Down CUD ESC[#B Déplace le curseur vers le bas dans la même colonne. La valeur de # spécifie le nombre de lignes déplacées. La valeur par défaut est 1 ligne. Ce code d'échappement est ignoré si le curseur est déjà sur la ligne inférieure de l'affichage.
Cursor Forward CUF ESC[#C Déplace le curseur vers l'avant (vers la droite) sur la même ligne. La valeur de # spécifie le nombre de colonnes déplacées. La valeur par défaut est 1 colonne. Ce code d'échappement est ignoré si le curseur est déjà dans la colonne la plus à droite.
Cursor Back CUB ESC[#D Déplace le curseur vers l'arrière (vers la gauche) sur la même ligne. La valeur de # spécifie le nombre de colonnes déplacées. La valeur par défaut est 1 colonne. Ce code d'échappement est ignoré si le curseur est déjà dans la colonne la plus à gauche.
Horizontal and Vertical Position HVP ESC[#;#f Déplace le curseur à la position spécifiée par les paramètres numériques. Le premier paramètre spécifie le numéro de ligne et le deuxième paramètre spécifie le numéro de colonne. La valeur par défaut pour les deux paramètres est 1. Si aucun paramètre n'est spécifié, le curseur est déplacé vers la position d'origine (identique à CUP).
Device Status Report DSR ESC[6n Le pilote de la console produit une séquence CPR. (La séquence CPR, comme décrit ci-dessous, est émise à la réception de la séquence DSR.)
Cursor Position Report CPR ESC[#;#R Cette séquence signale la position actuelle du curseur via le périphérique d'entrée standard. Le premier paramètre numérique spécifie la ligne courante et le deuxième paramètre spécifie la colonne courante.
Save Cursor Position SCP ESC[s Enregistre la position actuelle du curseur. La position du curseur enregistrée avec cette séquence peut être restaurée avec la séquence RCP.
Restore Cursor Position RCP ESC[u Restaure le curseur à la position (valeur) qu'il avait lorsque le pilote de la console a reçu la séquence SCP.

Effacement

Fonction Mnémonique Code d'échappement Description
Erase in Display ED ESC[2J Efface (efface) tout l'affichage et ramène le curseur à sa position d'origine.
Erase in Line EL ESC[K Efface du curseur (y compris la position du curseur) jusqu'à la fin de la ligne.

Mode d'opération

Fonction Mnémonique Code d'échappement Description
Set Graphics Rendition SGR ESC[#;...;#m Définit le ou les attributs de caractère spécifiés par le ou les paramètres numériques. Tous les caractères suivants, jusqu'à la prochaine séquence SGR, auront les attributs spécifiés. Les paramètres numériques valides et leurs significations sont répertoriés ci-dessous :
Valeur Description
0 Tous les attributs désactivés (noir normal sur blanc)
1 Gras activé (haute intensité)
4 Souligné activé (affichage monochrome)
5 Clignotement activé
7 Vidéo inversée activée
8 Annulation activé (invisible)
30 Premier plan en noir
31 Premier plan en rouge
32 Premier plan en vert
33 Premier plan en jaune
34 Premier plan en bleu
35 Premier plan en magenta
36 Premier plan en cyan
37 Premier plan en blanc
40 Arrière plan en noir
41 Arrière plan en rouge
42 Arrière plan en vert
43 Arrière plan en jaune
44 Arrière plan en bleu
45 Arrière plan en magenta
46 Arrière plan en cyan
47 Arrière plan en blanc
Set Mode SM ESC[=#h
ESC[=h
ESC[=0h
ESC[?7h
Appelle la largeur ou le type d'écran spécifié par le paramètre numérique. Les paramètres numériques valides et leurs significations sont répertoriés ci-dessous :
Valeur Description
0 40x25 noir et blanc
1 40x25 couleur
2 80x25 noir et blanc
3 80x25 couleur
4 320x200 couleur
5 320x200 noir et blanc
6 640x200 noir et blanc
7 Retour à la ligne activé (taper après la fin de la ligne crée une nouvelle ligne)
Reset FM ESC[=#|
ESC[=!
ESC[=0|
ESC[?7|
Réinitialise la largeur ou le type d'écran spécifié par le paramètre numérique. Les paramètres numériques valides et leurs significations sont les mêmes que pour la séquence SM, sauf que 7 tours de ligne se terminent (les caractères saisis après la fin d'une ligne sont ignorés).

Réaffectation des fonctions des touches du clavier

Code d'échappement Description
ESC[#;#;...#p
ESC["string";p
ESC[#;"string";#;#;"string";#p
Le premier paramètre numérique (code ASCII) de la séquence définit le code en cours de redéfinition ou de recartographiage. Les paramètres numériques restants définissent la séquence de codes ASCII générés lorsque la clé est interceptée. Notez cependant que si le premier code de la séquence est zéro (NUL), alors le premier et le deuxième code constituent une redéfinition ASCII étendue.

Remarque : En plus des séquences de codes d'échappement affichées, la séquence peut être n'importe quelle combinaison de chaînes de caractères et de nombres décimaux.

Par exemple, pour réaffecter les touches Q et q aux touches A et a, respectivement, les codes d'échappement suivants seraient utilisés :

Pour redéfinir la touche de fonction F10 en une commande CHDIR suivie d'un RETURN, vous utiliserez le code d'échappement suivant :

ESC[0;68;"chdir";13p

Dans cet exemple, 0;68 est le code ASCII étendu pour la touche de fonction F10. La décimale 13 est un RETURN. Si F10 est redéfini de cette manière, le répertoire de travail actuel du disque par défaut sera affiché à chaque pression sur F10.



Dernière mise à jour : Mercredi, le 24 Août 2022