★ CODING ★ PROGRAMMATION INITIATION ALIGATOR ★ LES CARACTERES DE CONTROLE ★ |
Ali Gator - 01 les Caracteres de Controle (Micro-Mag) |
Il est de notoriété publique que le jeu à caractères (ou codes ASCII) du CPC ne débute qu'à partir du numéro 32. Quelles sont les possibilités insoupçonnées des 31 précédents ? Chaque caractère de contrôle est une instruction supplémentaire très utile pour la gestion de l'écran. A chacun correspond un caractère graphique qui s'obtient par appui simultané sur CTRL + lettre. Amusez-vous à les afficher un à un sur l'écran; cette série de signes cabalistiques s'avère des plus intéressantes. Le CHR$(7) est sans conteste le plus connu et le plus usité. Il correspond au fameux BEEP sonore. La syntaxe en est : PRINT CHR$(7) Le même résultat s'obtient par la représentation graphique de CTRL + G mise entre guillemets. De plus, CHR$(7) nécessite la frappe de sept touches contre trois seulement dans l'autre cas. La logique voudrait donc que nous utilisions la deuxième solution. Désolé pour les partisans du moindre effort, mais cette solution est à éviter, car aucune imprimante n'est capable de transcrire ces fameux caractères graphiques. En effet, utilisant pour son propre pilotage des caractères de contrôle, l'imprimante les recevra comme des ordres lui étant adressés et non comme des signes à transcrire. Dans le meilleur des cas, les caractères de contrôle n'apparaitront tout simplement pas sur le texte. Mais hélas, très souvent, c'est le plantage de l'imprimante qui vous attend. Bien sûr, si votre logiciel n'est diffusé que sur support magnétique (disc ou K7) rien ne vous empêche de les utiliser. I - Liste et fonction des caractères de contrôle 0 : sans effet. Toutefois, mis à la suite d'un autre caractère de contrôle, il assure le retour à la normale. 1 : s'il précède un autre caractère de contrôle; affichage de la représentation graphique de ce caractère. A donc le même effet que CTRL + lettre. Pour s'en convaincre, faire : 2 : éteint le curseur. Mais celui-ci se rallume après chaque message READY : PRINT CHR$(2):INPUT "VOTRE NOM";NM$ 3 : rallume le curseur. 4 : établit un mode quand il est suivi du paramètre adéquat. PRINT CHR$(4)+"0" fait passer en mode 0. D'un intérêt limité. 5 : suivi d'un code ASCII, affiche ledit code à la position du curseur graphique. Agit un peu comme la fonction TAG mais pour un seul caractère. Exemple : ORIGIN 100,100:PRINT 6 : rétablit l'affichage texte. En opposition à CHR$(21). 7 : beep; sans commentaire. 8, 9, 10 et 11 : déplacement du curseur dans les quatre directions. Nombreuses possibilités (voir leçon n°2). Autre débouché : vous avez à l'aide de quatre caractères redéfinis, dessiné un petit personnage en mode 1. Pour l'afficher, il existe cette solution : LOCATE 1,1 PRINT CHR$ (240)+CHR$(241):LOCATE 1,2:PRINTCHR$(242) + CHR$(243) ou celle qui consiste tout d'abord à transformer votre personnage en une variable du type MAN$=CHR$(240)+CHR$(241)+CHR$(8)+CHR$(8)+CHR$(10)+CHR$(242)+CHR$(243) Puis à l'afficher tout simplement par LOCATE1,1:PRINTMAN$ De prime abord un tantinet laborieuse, cette mise en œuvre facilite grandement la gestion dans le cas d'affichages ultérieurs répétitifs. 12 : même effet que CLS mais avec la possibilité de s'inclure dans une variable A$ = CHR$(12) + "AM-MAG":PRINT A$ 13 : même effet que ENTER, retour à gauche de la ligne. En souvenir du temps où les ordinateurs ne travaillaient qu'avec des imprimantes. 14 : établit le PAPER lorsqu'il est suivi d'un paramètre (voir CHR$(4) ). 15 : idem mais pour le PEN. 16 : permet a'effacer le caractère se trouvant sous le curseur. 17 : efface la portion de ligne située à gauche du curseur. 18 : idem, mais à droite. 19 : efface toute la partie de l'écran se trouvant au dessus du curseur. 20 : idem, mais pour la partie en dessous du curseur. 21 : stoppe affichage texte. En relation avec CHR$(6). 22 : avec CHR$(1), active le mode transparent. 23 : avec 1, 2 et 3, active différents modes graphiques. 24 : permet d'obtenir l'inversion vidéo. L'importance des possibilités offertes par l'utilisation des caractères de contrôle 22, 23 et 24 nécessitera une leçon entière. Déplacer un personnage sans effacer le décor? Ne rêvez plus, c'est pour le mois prochain. 25 : même effet que la commande SYMBOL, quand il est suivi des paramètres. 26 : idem, mais pour la commande Window. 27 : inutilisé pour l'écran mais bien connu des possesseurs d'imprimante, ce caractère de contrôle, associé à d'autres, permet d'obtenir les différents styles d'écriture qu'offre toute imprimante digne de ce nom. PRINT #8,CHR$(27)+CHR$(15)+CHR$(1) Cette commande établira l'écriture en mini de votre imprimante. 28 : suivi des paramètres nécessaires; remplace la commande INK. 29 : idem pour la commande BORDER. 30 : ramène le curseur dans le coin haut à gauche de l'écran. 31 : avec les paramètres; même effet qu'un LOCATE. II - Conclusion provisoire Voici succinctement énumé-rés les pouvoirs occultes des caractères de contrôle. Certains sont parfaitement inutiles car faisant double emploi avec une commande déjà existante plus facile à utiliser. D'autres au contraire ouvrent des voies originales très souvent sous exploitées (caractères établissant les modes graphiques spéciaux). Prochainement, nous nous attacherons à étudier ceux-ci plus en détails.
|