CODING ★ PROGRAMMATION INITIATION - LES CARACTERES DE CONTROLE ★

Ali Gator - 01 les Caracteres de Controle|Micro-Mag)

 
LES COURS DU PROFESSEUR ALI GATOR

Sous le pseudonyme d'ALI GATOR, se cache Claude Le Moullec, Breton de 33 ans, marié et père de 2 enfants, qui partage sa vie entre l'informatique et son travail au sein des services vétérinaires. Animateur du famine ALI GATOR, pourvoyeur de programmes et d'articles de qualité, cet autodidacte éclairé trouve encore le temps de s'adonner à la plongée sous-marine et à la planche à voile.
 

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 :
FOR   H=0   TO  31 :PRINT CHR$(1)CHR$(H);:NEXT A la suite de certains caractères, il établit un mode spécifique :
CHR$(22)+CHR$(1) mode transparent
CHR$(22)+CHR$(0) retour au mode normal

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
CHR$(5)+CHR$(56) ou CLS:ORIGIN100,100:A$ ="BONJOUR":PRINT CHR $(5)+A$   (étonnant!)

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 oeuvre 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.

MICROMAG n°1

★ EDITEUR: MICROMAG
★ ANNÉE: ???
★ AUTEUR: CLAUDE LE MOULLEC

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 177 millisecondes et consultée 1006 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.