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 :
- ESC[65;81p (A devient Q)
- ESC[97;113p (a devient q)
- ESC[81;65p (Q devient A)
- ESC[113;97p (q devient a)
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.