j'essaie vainement de trouver la solution pour justifier l'écriture à droite avec la librairie U8g2 en utilisant des écrans monochrome.
Cela m'intéresserai de le réaliser car lorsqu'on fait défiler des valeurs avec l'unité derrière avec 1,2, ou 3 chiffres (suivant la valeur à afficher), l'affichage se décale de l'unité lorsque le chiffre diminue.
Merci de votre aide si vous connaissez la ligne de commande pour cette librairie car je n'ai pas réussi à la trouver.
Merci de ton aide, j'ai regardé cette fonction mais elle renvoie seulement le nombre de pixels utilisés mais elle ne va pas faire démarrer l'écriture à droite plutôt qu'à gauche je pense?
Je dis cela car je ne suis pas un grand spécialiste de la programmation mais un pur autodidacte d'Arduino.
Oui mais quand c'est une lecture de capteur on obtient une valeur int ou float qui est affichée par Write et donc on intervient pas manuellement pour mettre des espaces, ou alors je ne vois pas je ne sais pas faire.
Comme le suggère hbachetti, sprintf te permet d'écrire une valeur (int ou float ou autre) dans un tableau de char de manière formattée, donc avec des blancs au début ou sur un nombre de digits fixe. Tu n'as plus qu'à afficher ce tableau de char sur ton écran
Exemple :
char texte[10];
int x = 34;
sprintf (texte,"%4d",x);
Cela marche (en tâtonnant) mais j'ai besoin de quelques explications car je l'ai compris ainsi:
char texte[10]; constitution d'un tableau avec 9 caractères (10-1) moi je l'ai passé à 4 car seulement 3 chiffres à afficher
sprintf (texte,"%4d",x); on charge le tableau "texte" de la valeur X . mais c'est "%4d" qui me pose problème car je ne sais pas exactement l'interpréter moi j'ai mis %3d du fait de 3 valeurs.
Merci pour l'aide et encore de votre éclairage sur la signification de cette expression "%4d" en commande
merci de l'explication ce problème est donc traité grâce à votre aide, maintenant je vais passer au problème suivant, je n'ai pas encore aplani la montagne arduino et l'informatique en général.......
Mais bon heureusement "l'union fais la force comme l'oignon fait la soupe".