text

Définition Utilisation Exemple Côté technique
 

text(phrase);
Ecrit du texte
Paramètres passés:
phrase: texte à écrire
Valeur retournée:
aucune

 

Écrit une chaîne de caractère. Les caractères affichables sont :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
à á â ç è é ê ë î ï ° ± ò ó ô µ ö ÷ ù ú û ü €
0 1 2 3 4 5 6 7 8 9
! " # $ % & ' ( ) * + , - . / : ; < = > ; ? @ [ \ ] _ { | } ~

ainsi que le retour chariot se codant \n et le tabulateur \t. Pour afficher le caractère \, il faut mettre \\ .

Les caractères sont codés avec la norme UTF-8. Ceux qui correspondent au code ASCII (7 bits) occupent 1 octet. D'autes, comme les lettres accentuées, sont codés sur deux octets. Toutefois, c'est assez transparent pour l'utilisateur qui va taper un texte au clavier avec Arduino. Le caractère est décodé, puis affiché correctement. Cela par contre est gênant car la longueur d'une chaîne de caractères peut être suppérieure au nombre de caractères.

La couleur des caractères se change par setTextColor(). La couleur du fond n'est pas modifiable, elle est transparente; pour changer la couleur du fond, on peut dessiner le fond grâce à fillRect()) avant et un caractère dessus. La taille se choisit par setTextSize(). les caractères peuvent être de filiformes à extrêmement gras grâce à setTextBold(), L'empattement possible ou non par setTextSerif(). Et on peut écrire en italique ou droit avec la fonction setTextItalic(). On peut écrire dans les 4 directions en faisant appel à setTextOrient(). Le curseur texte est le point le plus en haut à gauche du prochain caractère écrit.On peut en changer sa place grâce à setTextCursor().

Après initialisation de l'afficheur et de sa librairie, les caractères sont blancs sur fond transparent, de taille 2, filiformes, avec empattements, droits, le point curseur est tout en haut à gauche, et l'écriture se fait vers la droite.

Si un caractère doit être écrit et que de sa position, il dépasserait de l'écran ou des setLimites imposées par la fonction setLimites(), l'action déclenchée dépend du choix fait par la fonction setTextKeep(). Par défaut, on tourne la page (écran effacé, curseur texte en haut à gauche). Mais on peut choisir le mode KEEP (on n'efface pas l'écran) ou le mode CUT (ce qui dépasse est ignoré).

La couleur du fond est transparente, les caractères peuvent se sur-imprimer les uns sur les autres.

La tabulation est fixe et un tabulateur vaut 20 pixels. Cela veut dire qu'après un tabulateur, l'abscisse du curseur texte vaut 20, 40, 60, ...

text() attend une String. En conséquence, on peut utiliser la puissance de C pour définir le paramètre:
- On peut utiliser la concaténation des chaînes -> String s1, s2; text(s1 + s2);
- On peut afficher un caractère, mais il faut le changer en chaîne -> char c; text(String(c));
- On peut afficher un entier ou un long, mais il faut le changer en chaîne -> int x; text(String(x));
- On peut afficher un entier court (=char), mais char c; text(String(c)); affiche le caractère, pas le nombre. Il suffit de transformer le char en entier quelconque sauf char, puis de repasser en chaîne -> char c; text(String((byte)c)); - On peut afficher le numéro du caractère -> char c; text(String(byte(c)));

Notez qu'il existe une macro pour passer les chaînes en mémoire programme:
text("Cette phrase est dans les données");
text(F("Cette phrase dans l'espace programme"));

Cela libère de l'espace pour les données et pour la pile...

 

Exemples d'utilisation:
text("Bonjour"); Ecrit le mot Bonjour

text(F("Bonjour")); Pareil, mais économise l'espace de données

String s="Bonjour"; text(s); Ecrit le mot Bonjour

text(F("Bonjour\nAu revoir")); Ecrit le mot Bonjour sur une ligne et Au revoir su la ligne d'après

text(F("\n\n\nRetour chariot ---> \\n\n")); va à la ligne 3 fois (\n), affiche "Retour chariot ---> ", affiche \n car il y a deux caractères \, puis va à la ligne (encore un \n).

text("\a"); N'écrit rien, le caractère \a n'est pas pris en charge

char lettre='c'; text(lettre); Provoque une erreur ce compilation car "lettre" n'est pas une chaîne "String"

char lettre='c'; text(String(lettre)); Affiche correctement le caractère c

int n=53; text(n); Provoque une erreur ce compilation car "n" n'est pas une chaîne "String"

int n=53; text(String(n)); Affiche 53

int n=53; text("J'ai payé "+String(n)+"?\t(c'est cher!)"); Affiche: J'ai payé 53? (c'est cher!)

 

Voir aussi:
- Fonte vectorielle Définition de la fonte utilisée
- setGraphMode(); Initialisation de l'écran
- clrscr(); Efface l'écran
- setLimites(); Limite la zone de dessin
- setTextColor(); Couleur du texte
- setTextSize(); Taille des caractères
- setTextBold(); Gras ou normal
- setTextItalic(); Italique ou normal
- setTextSerif(); Avec ou sans empattement
- setTextOrient(); Direction d'écriture des textes
- setTextCursor(); Coordonnés le point-curseur
- setTextKeep(); Choisit l'action si le texte déborde
- getTextWidth(); getTextHeight(); Retourne la taille de l'écriture de la chaine passée
- point(); Dessine un point
- line(); Trace une ligne
- circle(); Trace un cercle