π
<-

[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

Unread postby Eliastik » 24 Dec 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: Select all
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: Select all
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: Select all
length(toString(**Votre variable contenant le nombre**→L

Si vous voulez afficher votre nombre en grand format, remplacez la dernière instruction par :
Code: Select all
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: Select all
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: Select all
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
Last edited by Eliastik on 25 Dec 2016, 20:58, edited 1 time in total.
User avatar
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 12.5%
 
Posts: 12
Joined: 04 Dec 2015, 13:09
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby Adriweb » 24 Dec 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

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79%
 
Posts: 14749
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to Tutoriaux

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1239 utilisateurs:
>1166 invités
>65 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)