4/ Utilisation de l'imprimante graphique. Radio Shack TRS-80 CGP-115
4/Utilisation de l'imprimante graphique
Séquence de mise en tension automatique
Quand l'imprimante est convenablement branchée, elle exécute un sous programme intégré de courte durée qui met le porte-stylos à zéro et trace quatre petites cases dans chacune des couleurs disponibles, à la mise en tension. On peut ainsi s'assurer q ue chaque stylo a assez d'encre et qu'il trace correctement avant de mettre l'imprimante en service.
Si le couvercle est ouvert à la mise en tension, l'imprimante exécute le programme mais les stylos ne touchent pas le papier. On évite ainsi que le stylo écrive sur le cylindre quand il n'y a pas de papier dans la machine.
DODO
Figure
1 1.
Séquence de mise en tension automatique
A près avoir tracé les quatre cases, le stylo revient à la marge de gauche.
L'imprimante graphique est alors en mode de texte et prête à l'utilisation.
Fonctionnement manuel
On peut changer la couleur de stylo à l'aide du sélecteur de couleur et faire avancer le papier à l'aide de la touche d'avance de papier.
Commande par programme
On peut utiliser la puissance intégrale de l'imprimante graphique à partir d'un programme BASIC. On peut utiliser des codes de commande (CHR$ ( ) ) pour envoyer des instructions à l'imprimante et des données à imprimer. Dans cette section, nous étudierons les codes de commande dans l'ordre en partant de CHR$ (08) pour arriver à CHR$ (29). Nous verrons ensuite les commandes graphiques dans l'ordre alphabétique.
Avec chaque code ou commande, nous donnerons un bref exemple. Les exemples remplissent deux fonctions. Ils montrent d'abord l'utilisation de la commande.
Ensuite, ils montrent l'utilisation des combinaisons de commandes pour dessiner avec l'imprimante graphique. Quand on a compris la simplicité de programmation graphique, on peut préparer ses propres programmes (pour des programmes plus complexes, voir l'annexe A).
- 1 5 -
Codes de commande
CHR$
(8)
Recul (mode de texte)
Commande le recul du stylo d'un caractère à la fois. CHR$ (8) est très utile quand on doit souligner.
Exemple
10 LPRINT "A";
20 LPRINT CHR$(8 ) ;
30 LPRINT CHR$(95)
Ce programme imprime la lettre A, recule (ligne 20) et imprime un soulignage.
CHR$
(11)
Recul de ligne (mode de texte)
CHR$ ( 1 1 ) fait reculer le papier d'une ligne à la fois. Cette commande s'utilise souvent pour les caractères d'indice supérieur.
Exemple
1� REM SUPERSC RIPT DEMONSTRATION
212! PRINTl=l:-2, "2 " ;
30 P RINT#-2,CHR$ C 1 1 ) ;
40 PRINT#-:2, "2 " ;
50 PRINT#-2,CHR$C 1 0 )
50 END
REM LINEFEED
CHRS
(18)
Sélection du mode graphique
Quand l'imprimante est en mode de texte, cette commande la met en mode graphique.
-
1 6
-
Exemple
1 0 L PR INT CHR $ < 1 8>
10 PR INT#-2, CHR $ C 1 8 )
CHR$
(17)
Sélection du mode de texte
S'utilise pour imprimer un texte. D'autres commandes permettent d'imprimer des mots en mode graphique mais CHR$
( 17) permet facilement de passer en mode de texte et d'imprimer du texte entre des éléments graphiques.
Exemple
20 PR INT#-2, CHR $ C 1 7)
20 L PR INT CHR$( 1 7 )
CHR$
(29)
Rotation du porte-stylos (mode de texte)
Cette commande fait avancer l e porte-stylos d'une couleur. CHR$ (29) sert à changer de couleur â partir du mode de texte ; il faut connaître la couleur suivante. Si l'on désire la couleur aprês la position suivante, on doit utiliser cette commande à plusieurs reprises.
Exemple
1 0 L PR INT CHR $ ( 29)
10 PR INT#-2, CHR $ C 29>
Commandes graphiques
Les commandes suivantes ne peuvent s'utiliser qu'en mode graphique.
-17-
A
Retour au mode de texte (remise
à
l'état initial)
A
Cette commande déplace le porte-stylos â la marge de gauche (sans tracer de trait et sans mouvement vertical) et ramêne l'imprimante en mode de texte.
Dans ce cas, l'origine est également redéfinie (â l'état initial) â la marge de gauche.
Exemple
10 LPRINT CHR$(18)
20 LPRINT
11
A
11
30 LPRINT
11
A
11
Cet exemple met l'imprimante en mode graphique (ligne 1 0). La ligne 20 ramêne l'imprimante en mode de texte. La ligne 30 imprime la lettre A. c
Changement de couleur
C color ffcolor'' est une expression numérique de 0 a 3 qui est optionnelle; si on l'omet, la machine utilise O.
Si l'o q
1
= rmf installé les stylos dans l'ordre précédemment suggéré, on a 0
�
2
= vert et 3
= bl�{,
\..
= noir,
Sinon, le stylo que l'on a installé à la position n° 1 détermine la couleur obtenue quand on envoi.e la commande de couleurs à l'imprimante.
Exemple
1 0 LPR INT " Ci "
10 PR INT #-2, " C l "
-18-
L'exemple de programme suivant montre l'utilisation de la commande C. On y utilise aussi CHR$ ( I 8) qui est la commande de sélection de mode graphique.
Remarquer que ce programme est écrit pour l'ordinateur couleur TRS-80. Si l'on désire le passer sur un autre TRS-80, remplacer PRINT # -2, par L PRINT.
Le programme suppose aussi que les stylos sont installés comme l'indique le tableau 3.
1 0 REM COLO R SELECT
20 PRI NT#-2
30 P R I NT#-2, CHR$ ( 1 8 ) : P R I NT#-2, " C0"
40 P R I NT#-2, CHR$ C 1 7 ) ; : P R I NT#-2, " I LOVE VOU"
50 P R I NT#-2, CHR$ ( 1 8 ) : P R I NT#-2, "Ci "
60 P R I NT#-2 , CHR$< 1 7 ) ; : PRI NT#-2, "JE T' AIME"
70 PR INT#-2, CHR$C: 18) : P R I NT#-2 , "C2"
80 P R I NT#-2, CHR$<:17 ) ; : PRI NT#-2, "YO TE AMO "
9121 P R INT#-2, CHR$ < 1 8 ) : P R I NT#-2, "C3"
1 0121 PRINT#-2, CHR$ ( 17) ; : P R I NT#-2, " I CH L I EBE D I CH"
1 1 121 PRI NT#-2, CHR$ ( 1 8 ) : P R I NT#-2, " C0 "
1 2121 P R I NT#-2, " A "
1 3121 END
Si l'on exécute (RUN) ce programme on obtient:
I LOVE VOU
JE T' A IM E
V O T E AMO
I CH L I EB E D ICH
- 19-
D
Tracê (absolu)
D destination .....
. udestination" précise le point d'arrivée désiré en coordonnées X et Y.
( Le point de départ de la ligne correspond
à la position présente du stylo). On peut répéter destination pour tracer plus d'une ligne.
D trace une ligne â partir de la position présente du stylo j usqu'au point de destination. L e point de destination (extrémité du trait) se présente sous la forme x, y dans laquelle X et Y représentent une paire de coordonnées par rapport il l'origine.
Si l'on spécifie plus d'une paire de coordonnées, la ligne se continue alors jusqu'au deuxiême point, puis jusqu'au troisième, etc. X et Y sont des valeurs comprises entre -999 et 999.
Exemple
10 REM DRAWING EXAM PLE
20 LPRI NT CHR$ ( 1 8 ) : REM TURN ON GRAPHICS
30 LPRI NT " 00, 1 00, 1 0!2), 1 00, 1 00 , 0, 0, 0 "
40 LPRI NT "A"
50 END
Cet exemple permet de tracer une case. Ne pas oublier que le papier a 480 degrés de large et que sa hauteur atteint 999 degrés. Nous n'avons pas spécifié d'origine particuliére; ce stylo est donc parti de 0,0. Les points de la case sont il 0, 0 0,
I OO 1 OO,
1 OO
I
OO. O.
H
Retour
à
l'origine
H
La commande H ramêne le stylo à l'origine sans tracer de ligne.
Exemple
1 0 L PRI NT " H"
10 P RI NT #-2, " H "
1
Réglage de l'origine (initialisation)
1
Cette commande fixe l'origine il la position présente de la pointe du stylo.
-20-
Exemple
1 0 REM RELOCATE O R I GI N
20 P R I N T#-2, CHR$C 1 8 )
30 P R I NT#-2, " 0240, 0 "
40 PRINT#-2, " I"
50 END
Ce court programme trace une ligne jusqu'au centre du papier, puis fixe l'origine à ce même centre.
J
Tracé (relatif)
J destination
• • • • •
PPdestination" précise le point d'arrivée jusqu'où l'on veut tracer; il correspond à des coordonnées X et Y. (Le point de départ correspond à la position présente du stylo). "déstination" peut se répéter pour passér plus d'une ligne.
.
L a commande J trace une ligne de la position présente du stylo jusqu'au point
d
'
ar .
dl:1&&t-
·
. et Y unités vers négatifs).
�
n
t
d'ar
� d
'Ir. rJ
.
(
Ou vers 1e t v-a s et
1 i: a:
X
unités vers léV
gaüGne s1 X et Y sont
Quand le stylo est à la nouvelle position, on peut continuer la ligne jusqu'à un autre point en indiquant une autre paire de valeurs X et Y. Le nouveau point se mesure à partir du précédent et non à partir de la position d'origine du stylo.
Les valeurs X et Y doivent être comprises entre -999 et 999.
Exemple
1 0 REM R ELA T I VE DRAW I NG
2� LPRINT CH R$( 18)
3(2) LPR I NT " J(2), 100, H:10 , l?J, (2) , -112) 0, -10(2), 011
40 END
Avec ce programme, on trace la même case que dans l'exemple de la commande
D, mais on spécifie différemment les coins. La ligne 30 se lit ainsi :
"Du point présent, tracer une ligne jusqu'au point à 0 degré vers la droite
(sens X) et à 1 OO degrés vers le haut (sens Y). A partir de ce point, tracer une ligne
à'bO degré vers la droite et à t-0011.egrés vers le bas.
Pour terminer, tracer/file igne à
1 OO
_ degrés vers la gauche et à 0 degré' vers le haut."
1
•
, •
-21-
M
Déplacement (absolu)
Mx, y x y précise une position sur l'axe X qui est une valeur numérique comprise entre -999 et 999.
' ·· précise une position sur l'axe Y qui est une valeur numérique comprise entre -999 et 999.
La commande M déplace le stylo de sa position présente au point spécifié par x, y sans tracer de ligne. x et y doivent être compris entre -999 et 999.
Exemple
1 0 PRI NT#-2, " M 1 00, - 1 00 "
1 0 L PRINT " M 1 00 , - 1 00 "
L
Type de ligne
L type
Par "type", on entend le genre de ligne que l'on désire tracer; il correspond â une expression numérique entre 0 et
15.
"type" est facultatif. Si on l'omet, 0 est utilisé. 0 correspond â un trait plein.
Les valeurs de l a
15 créent différents types de pointillés; plus la valeur est élevée, plus les pointillés sont espacés.
La commande L permet de spécifier différents types de tracés. On peut spécifier un trait plein ou 1 5 types différents de pointillés. Le tableau suivant indique les types de traits disponibles:
Types de trait
Trait spécifié
0
1
2
3
4
Trait tracé
-22-
9
10
11
12
5
6
7
8
13
14
1 5
Exemple
10 REM LINE SAMPLE PROGRAM
20 PRINT#-2,CHR$C18 )
30 P RINT#-2, "L3"
40 PRINH!:-2, "J48(2), 0"
512! P RINT#-2, "A"
60 END
La ligne 30 fixe le type de ligne â
3.
Le programme trace un pointillé sur le papier. Si on le désire, on peut ajouter une instruction pour changer la couleur. p
Impression des caractères de texte
P characters
''characters" correspond â des caractères alphabétiques (A â Z) ou â des caractères numériques.
La commande P permet d'imprimer des caractères alphabétiques ou numériques en mode graphique sans devoir retourner au mode de texte. Les caractères peuvent se composer de toute suite de lettres ou de chiffres.
Quand la commande est exécutée, l'imprimante est encore en mode graphique.
-23-
Exemple
1 0 L PR INT " PGRAPH I C PR INTER" _
Permet d'imprimer la suite de caractères G R APHIC PRINTER quand l'imprimante est en mode graphique. s
Taille des caractères
S site
�'site" précise la taille des caractères imprim�; elle correspond à une valeur numérique comprise entre 0 et
63_
''site" est facultatif. Si on l'omet, la machine utilise O.
La commande S permet de préciser taille du caractère tracé avec la commande
P. "size" peut être une valeur numérique comprise entre 0 et au caractère le plus petit (80 caractéres par ligne) et par ligne).
63;
0 correspond
63 au plus gros ( 1 caractère
Utiliser la formule suivante pour déterminer la taille des caractères imprimés par rapport
à la valeur numérique spécifiée: car./l
=
80/(taille + 1) dans laquelle car./l est le nombre de caractères par ligne et la taille est la valeur numérique spécifiée avec la commande S.
En mode graphique lorsque la taille des caractères est reglée par la commande
"s", la taille reste la même quand vous retournez au mode de texte.
Q
Rotation du sens d'impression (PRINT DIRECTION)
Q direction
"direction" spécifie le sens d'impression; il correspond à une valeur numérique de 0 à
3.
''direction" est facultatif; si on l'omet, la machine utilise O.
A la mise en tension (mode de texte), la machine utilise QO.
Quand on passe en mode graphique, on peut cependant spécifier l'un des quatre sens d'impression de caractères. Voir le tableau 5.
-24-
Sens spécifié
0
1
2
3
Sens d'impression
Sens d'impression
De gauche à droite
De haut en bas
De droite à gauche {il l'envers)
De bas en haut
Tableau 5
Si l'on utilise le mot JON comme exemple, on a:
•
QO (de gauche à droite) donne JON.
· QI (de haut en bas) imprime
0 z
·
· Q2 (de droite à gauche) donne Nüf
Q3 (de bas en haut) imprime z
0
-,
Example
10 REM WR I T I NG S I DEWAYS
20 PRI NT#-2, CHR$ C 1 8)
22 PRI NT#-2, "M50,0" : REM ALLOW LEFT MARG I N
30 I N PUT "TY PE YOUR NAME
11
; N$
40 P R I NT#-2, " P " ; N$ : REM W R I TE YOUR NAME
50 P R I NT#-2, " Q 1 " : REM CHANGE D I RECT I ON
60 PRI NT#-2, " P" ; N$ : REM WRITE YOUR NAME
70 P R I NT#-2, "Q2 " : REM NOW UPS I D E DOWN
80 P R I NT#-2, " P "; N$ : REM W R I TE YOUR NAME
90 P R I NT#-2, "Q3" : REM CHANGE D I RECT I ON
1 00 PRI NT#-2, " P" ; N$ : REM WR I TE YD UR NAME
1 10 PRI NT#-2, "Q0" : REM BAC�< TO R I GHTS I D E UP
1 20 PRI NT#-2, " A'' : REM BACK TO TEXT MODE
1 30 END
- 25-
R
Déplacement (relatif)
Rx, y x y spécifie un point sur l'axe X ; c'est une valeur numérique comprise entre
-999 et
999. spécifie un point sur l'axe Y ; c'est une valeur numérique èomprise entre
-999 et
999.
Cette commande déplace le stylo de la position présente au point qui est à x degrés vers la droite (ou vers la gauche si x est négatif) et à y degrés vers le haut (vers le bas si y est négatif).
Exemple
10 REM SAMPLE OF RELATIVE MOVE
20 LPRINT CHR$ ( 18) : REM TURN ON GRAPHICS MODE
30 LPRINT " R100, 0 "
4121 LPRINT " R121, -10011
: REM MOVE T O RIGHT 100 STEPS
: REM NOW MOVE 1 00 STEPS DOWN
50 LPRINT " J-100 , 100" : REM NOW DRAW A LINE BACK TO THE
BEGINNING
60 LPRINT " A " : REM AND QUIT
70 END
1 . La ligne 30 déplace le point de 1 00 degrés vers la droite et de 0 degré vers le haut.
2. La ligne 40 déplace le point de 1 00 degrés vers le bas et de 0 degré vers la droite.
3. La ligne 50 retrace le mouvement relatif vers l'origine, annulant les déplacements des lignes 30 et 40.
X
Tracé des axes
X-Y
I l
X axis, step, interval f faxis " précise l'axe à tracer; c'est une valeur numérique qui correspond
à l (axe X) ou à 0 (axe Y).
"step" précise la graduation (distance) entre les marques de mesure sur l'axe ; C:est une valeur numérique comprise entre
-999 et
999. ffinterJ1al" précise le nombre de répétitions de ffstep '� c'est une valeur numérique comprise entre 1 et 255.
- 26 -
La commande X permet de tracer un axe de coordonnées (X-Y), de le diviser en unités spécifiques de mesure (graduations) et d'indiquer le nombre d'unités de mesure â tracer sur cet axe.
Si ''axis " vaut 0, l'imprimante trace un axe vertical ( Y). Si "axis " vaut 1 , l'imprimante trace un axe horizontal ( X).
On peut aussi diviser l'axe en segments. C haque degré ayant 0.2 mm, on peut facilement fixer la distance exacte entre les marques de segment. On peut avoir de 1 â 255 intervalles, chacun ayant de 1 à
999 degrés de long. Si l'intervalle est négatif, l'axe est tracé â partir de la gauche ou vers le bas, suivant l'axe choisi.
Exemple
10 LPR I NT 11 X0, 6, 20" trace un axe vertical â partir de la position prèsente. Il se produit un tiret
(graduation) tous les les 6 degrés (20 tirets au total).
10 PRI NT#-2, 11 X 1 , - 1 0 , 1 611
Cette commande produit un axe horizontal vers la gauche de la position présente du stylo, avec 1 6 sections de 1 0 degrés chacune.
10 REM X-Y A X I S TO BE DRAWN
20 LPRI NT : LPR I NT CHR$ ( 18 ) : REM GO I NTO GRAPH I C MODE
30 LPR I NT " M240, -240 " : REM MOVE TO SPEC I F I ED POI NT
40 L PR I NT 11 I 11 : REM SET NEW O R I G I N
50 LPR I NT " X 1 , 40 , 6 "
60 L PR I NT 11H11
70 LPR I NT " X l, -40, 6''
80 L PR I NT 11H11
: REM HALF OF X-A X I S
: REM MOVE PEN TO OR I G I N
: REM OTHER HALF OF X -A X IS
: REM MOVE PEN TO OR I G I N
90 LPRINT " X0 , 20 , 1 2 " : REM HALF OF Y-A X I S
1 00 L PR I NT " H " : REM MOVE PEN T O OR I GI N
1 10 LPR I NT " X0 , -20, 1 2 " : REM OTHER HALF OF Y-A X IS
1 20 L PR I NT "A"
: REM RESET, MOVE PEN TO LEFT
1 30 END
-
2
7
-
Ce programme donne des axes de coordonnées de ce genre :
-28-

Публичная ссылка обновлена
Публичная ссылка на ваш чат обновлена.