π
<-
Chat plein-écran
[^]

[Astuce] Centrer horizontalement un texte en Ti-Basic

Regroupement de tous les tutoriaux z80 (82/83/84)

[Astuce] Centrer horizontalement un texte en Ti-Basic

Message non lude Eliastik » 24 Déc 2016, 17:16

Bonjour,

Je vais vous présenter une petite astuce pour centrer horizontalement un nombre ou un texte qui est contenu dans une variable sur l'écran graphique, ce qui n'est pas facile si cette valeur varie au cours de l’exécution du programme.

Pour un nombre :

Code: Tout sélectionner
1+ent(log(abs(**Votre variable contenant le nombre**→L
Texte(**Coordonnées verticales**,.5(94-4L),**Votre variable contenant le nombre**

Si votre nombre est un nombre décimal, remplacez la première instruction par :
Code: Tout sélectionner
non(**Votre variable contenant le nombre**)+som(0 ou partDéc(abs(**Votre variable contenant le nombre**10^(somCum(binomFRép(13,0))-2-partEnt(log(abs(**Votre variable contenant le nombre**+non(**Votre variable contenant le nombre**→L

Sur TI-83 Premium CE avec OS 5.2 minimum, il est possible de remplacer la première instruction par l'instruction suivante (qui est beaucoup plus simple, mais pas compatible avec toutes les calculatrices) :
Code: Tout sélectionner
length(toString(**Votre variable contenant le nombre**→L

Si vous voulez afficher votre nombre en grand format, remplacez la dernière instruction par :
Code: Tout sélectionner
Texte(-1,**Coordonnées verticales**,.5(94-6L),**Votre variable contenant le nombre**

Explications :

L'instruction 1+ent(log(abs(**Votre variable contenant le nombre**→L calcule le nombre de chiffres composant le nombre, et la stocke dans la variable L.

L'instruction Texte(**Coordonnées verticales**,.5(94-4L),**Votre variable contenant le nombre** affiche ce nombre sur l'écran graphique, centré. Le calcul .5(94-4L) soustrait au nombre de pixels horizontaux totaux de l'écran (94) le nombre de pixels composants le nombre (4 car chaque caractère est composé de 4 pixels horizontaux) et divise le tout par 2 (dans ce cas je multiplie par 0.5 pour optimiser le calcul, ce qui revient au même).

Pour un texte :

C'est plus simple, car une instruction existe pour connaître le nombre de caractères d'une chaîne : longueur(
Ne fonctionne que pour les variables Chn/Str.

Code: Tout sélectionner
longueur(**Votre chaîne de caractère**→L
Texte(**Coordonnées verticales**,.5(94-4L),**Votre chaîne de caractère**

Si vous voulez afficher votre texte en grand format, remplacez la dernière instruction par :
Code: Tout sélectionner
Texte(-1,**Coordonnées verticales**,.5(94-6L),**Votre chaîne de caractère**

Exemple :

Voici une capture d'écran d'un de mes programmes (TI-Chrono, disponible ici) qui centre automatiquement le nombre de secondes restantes (ici dans la fonction minuterie, je les ai mis à 10 000 pour que vous voyez bien l'effet produit) :

Image

Voilà pour cette astuce !

Crédit :

Codes pour connaître le nombre de chiffres composant une variable trouvé ici : http://tibasicdev.wikidot.com/number-one-liners
Dernière édition par Eliastik le 25 Déc 2016, 20:58, édité 1 fois.
Avatar de l’utilisateur
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 12.5%
 
Messages: 12
Inscription: 04 Déc 2015, 13:09
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: [Astuce] Centrer horizontalement un texte en Ti-Basic

Message non lude Adriweb » 24 Déc 2016, 21:00

Note: pour CE avec OS 5.2 minimum, pour obtenir la longueur de quelque chose, il suffit de faire length(toString(quelquechose
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb


Retourner vers Tutoriaux

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1047 utilisateurs:
>1022 invités
>20 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)