Effacer
La première chose que je vais vous apprendre à faire en fait, ce n'est pas afficher du texte, mais l'effacer.
En effet, quand vous lancez votre programme, il y a souvent pas mal de texte qui traîne à l'écran, comme des calculs, ou même simplement la ligne "
prgmSDZ". Donc : prenez la bonne habitude d'
effacer votre écran en tout début de programme et à chaque fois que c'est nécessaire.
Pour cela, utilisez la commande située dans le menu
[PRGM] I/O ligne 3 :
Code : Pascal
Disp
Vous connaissez déja bien cette commande, mais pas encore sur le bout des doigts. Quel est son principe de fonctionnement ?
Quand on lui demande d'afficher un texte, elle va voir l'écran, et lui demande quelles sont les lignes disponibles. En fait,
elle écrit le texte demandé à la première ligne totalement vierge.
Donc si vous avez déja écrit un calcul à l'écran, il l'affichera juste après (d'où l'intérêt d'effacer l'écran au préalable). Si l'écran est totalement plein, il décale tout d'une ligne vers le haut et écrit le texte.
Autre point important : n'écrivez
pas plus de 16 caractères, sinon une partie du texte ne sera pas affiché, le retour à la ligne n'étant pas possible. Ce serait dommage, non ?
Je vous rappelle la syntaxe.
entre " " : le texte brut
sans " " : la valeur du calcul ou de la variable
Code : Pascal1
2
3
4
5
6 | :Disp "ABC" // Affiche ABC
:Disp "(4*5)+2" // Affiche (4*5)+2
:Disp (4*5)+2 // Là, on affiche 22
:5->A
:Disp A // on affiche la valeur de A soit 5
:Disp A+1 // Et A+1 soit 5
|
Si vous essayez, vous avez dû vous rendre compte que les textes s'alignent à gauche et les valeurs à droite. C'est normal et on ne peut rien y faire.
Code : Pascal1
2 | :Disp "RESULTAT:"
:Disp 5*6
|
Vous pouvez par contre "condenser" les commandes
Disp en les séparant par une virgule. Par exemple, avec le code précédent.
Code : Pascal
Un autre exemple pour bien comprendre.
Code : Pascal1
2
3
4
5 | :Disp "ABC"
:Disp "DEF"
:Disp "HIJ"
// Cela revient au même que...
:Disp "ABC","DEF","HIJ"
|
Le code s'écrira quand même sur 3 lignes.
Cette commande est assez simple à utiliser, mais elle devient obsolète pour des questions de mise en page. C'est pourquoi nous allons voir une deuxième commande pour afficher du texte.
Output(
Cette nouvelle commande permet d'afficher du texte là où vous voulez sur l'écran, sans vous soucier de ce qui est déja affiché. Elle prend en compte 3 paramètres (séparés par des virgules) :
- le numéro de la ligne sur laquelle elle se situe
- le numéro de la colonne sur laquelle elle se situe
- le texte ou la variable à afficher
(Rappelez-vous, l'écran peut accueillir 8x16 caractères.)
Un exemple vaut mieux qu'un long discours :
Code : Pascal1
2
3 | :ClrHome
:Output(4,5,"D")
:Output(1,1,"A
|
(Les deux syntaxes sont équivalentes, la deuxième occupant moins d'octets.)
Les lignes sont numérotées de 1 à 8. La 1 étant la plus haute, et la 8 la plus basse.
Les colonnes sont numérotées de 1 à 16. La 1 étant la plus à gauche, et la 16 la plus à droite.
Evitez de mettre des valeurs qui ne soient pas situées dans ces plages. Vous n'aurez le droit qu'à un joli message d'erreur.
Vous avez tout à fait le droit à des variables (c'est là que ça devient marrant pour faire des petits jeux) :
Code : Pascal1
2
3
4
5
6 | :ClrHome
:1->X
:2->Y
:Output(X,Y,"A"
:4->B:5->C // Cette syntaxe est possible. Elle est équivalente à 2 lignes.
:Output(B,C,"E"
|
Bien sûr, on peut afficher des textes un peu plus longs, les coordonnées étant celles du premier caractère. On peut afficher aussi les valeurs des variables comme pour
Disp.
Code : Pascal1
2
3
4 | :Output(1,1,"BLA BLA"
:5->A
:Output(2,3,A
:Output(4,3,A-2
|
On ne peut pas condenser les
Output, et le retour à la ligne n'est pas géré.
Conclusion
Pour afficher du texte , on a deux commandes :
- Disp : simple d'utilisation, mais mise en page médiocre.
- Output : plus compliqué à gérer, mais permet de faire des programmes un peu plus complexes.
N'oubliez pas de bien utiliser la commande "ClrHome" pour effacer l'écran, sans quoi vous vous retrouverez avec des écrans totalement couverts de caractères.