Leçon n°3:L'affichage en mode texte.
Dans le dernier numéro, nous avons vu comment saisir
des données dans la HP grâce à la fonction INPUT.
Nous verrons maintenant comment les lui faire afficher
en mode texte.
Pourquoi et qu'est ce que le mode texte.
En mode texte, on ne peut afficher que les caractères de la HP sur les lignes d'affichage. Pourquoi cela ? Tout simplement car il est beaucoup plus facile d'afficher en mode texte qu'en mode graphique, et qu'il est très souvent suffisant pour des programmes simples qui ne soient pas des jeux.
Limites du mode texte.
Pour utiliser correctement ce mode sans générer des affichages plus ou moins innattendus il faut en connaître ces limites.
Les fonctions du mode texte.
Ce sont les fonctions qui permettent d'afficher le texte sur l'écran de la HP. Elles ne sont pas très nombreuses.
- La fonction DISP :
Elle permet d'afficher notre ligne de texte. Elle demande toutefois 2 arguments :
Ce que l'on veut afficher.
Le numéro de la ligne sur laquelle on veut afficher notre texte. (Numéro compris entre 1 et 7).
Par exemple si on veut afficher BONJOUR sur la seconde ligne d'affichage il faut faire :
<< " BONJOUR" 2 DISP >>
Remarque :
Avec DISP il n'est pas nécessaire que le premier argument soit une chaîne de caractère. DISP accepte tous les types. On peut donc très bien afficher une équation sans aucun problème.Toutefois, si vous tapez exactement la séquence précédente, le texte ne va s'afficher que très brièvement. Pour remédier à ce problème, voir ce qui suit.La fonction FREEZE :
Cette fonction permet de geler l'affichage sur une ligne donnée. En plus clair, tant que vous n'appuyer sur aucune touche, l'affichage n'est pas actualisé, donc pas modifié. Cette fonction est assez peu utilisée, car on lui préfère un 0 WAIT. Sa syntaxe demande un seul argument : le numéro de la ligne à geler.
En reprenant notre exemple précédent, nous allons faire en sorte que l'affichage se gèle sur les 7 lignes pour nous permettre de lire le BONJOURS. En effet si on ne gèle l'affichage que sur la seconde ligne, on ne pourra pas encore voir ce qui est affiché. << " BONJOUR" 2 DISP 7 FREEZE >>L'interruption avec un 0 WAIT.
On la préfère à un FREEZE car si le programme comporte une suite qui doit s'exécuter après le FREEZE, le programme ne fait pas de pause et ne vous permet donc pas de lire ce qu'il affiche. Un 0 WAIT bloque la machine tant que l'utilisateur ne presse pas de touches. La machine étant bloqué, l'affichage n'est pas actualisé, ce qui nous permet de lire le texte.
Pour lire le texte on va donc arrêter la machine grâce à un 0 WAIT :
<< " BONJOUR" 2 DISP 0 WAIT >>Remarque :
La fonction 0 WAIT renvoie dans la pile le numéro de la touche enfoncée.La fonction CLLCD.
Maintenant, nous savons comment faire afficher quelquechose à la HP sur la ligne de notre choix. Or l'affichage généré n'est pas très beau car le fond de la pile reste affiché. La fonction CLLCD permet justement de faire le ménage et de se retrouver avec un écran complètement vide.
Cette fonction ne nécessite aucun argument. Elle doit bien sûr s'employer avant d'afficher car sinon elle effacera ce qui sur l'écran. Notre programme d'affichage devient donc : << CLLCD "BONJOUR" 2 DISP 0 WAIT >>La fonction MSGBOX.
Si vous avez une HP48S/SX ceci ne vous concerne pas. :-(
Cette fonction permet de faire afficher à la HP une boîte avec du texte. Celle-ci ressemble aux boites d'avertissements que génère la HP.
Cette fonction ne réclame qu'un seul argument : Le texte à afficher dans la boîte.
Par exemple si on veut que notre boîte affiche ATTENTION, il faut faire : << "ATTENTION" MSGBOX >>
La fonction TEXT.
Elle permet de revenir dans le mode texte lorsque par exemple on était en mode graphique. C'est assez rare que l'on ait besoin de cette fonction.
Sa syntaxe ne nécessite aucun argument.
![]()
Voilà, c'est fini pour ce numéro. Dans le prochain numéro on s'attaquera aux tests conditionnels et un peu aux boucles. D'ici là, bonne programmation !