Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
EDITTEXT (203 octets)
Mecha le 22/03/2010 à 22:13
Bonsoir bonsoir
Je vous présente un de mes programmes qui permet de simplifier la mise en page d'un texte sur le graphique de votre calto.
Tout d'abord, voci le fameux programme dont il est question:
Code
ClrHome
Output(4,3,"MECHA (2010)
FnOff
AxesOff
ClrDraw
1ü (
) A
1ü (
) B
2ü (
) C
Repeat 0
" ü (
) Str9
While Str9ø"õ" and Str9ø"ö" and Str9ø"ô
sub(Str8,A,1ü (
) Str9
A+1ü (
) A
End
If B>55
Then
Pause
ClrDraw
1ü (
) B
End
Text(B,1,sub(Str8,C-1,A-C
A+1ü (
) C
B+6ü (
) B
If Str9="ö
Then
Pause
ClrDraw
1ü (
) B
End
If Str9=ô
Then
Pause
ClrDraw
AxesOn
FnOn
Output(1,1,"
Stop
End
End
Votre texte est à inclure dans Str8 comme ceci:
Code
"[VOTRE TEXTE]ü (
) Str8
Certains symboles permettent de modifier la mise en page de votre texte:
- Tapez õ pour passer a la ligne.
- Tapez ö pour mettre le programme en pause et passer à une nouvelle page lors de la pression de la touche [ENTER].
- Tapez ô pour finir votre texte.
Vous pouvez aussi inclure votre texte dans un programe. Exemple:
Code
"EXEMPLE DE TEXTEõPASSE A LA LIGNEöNOUVELLE PAGEõVOUS VOYER C'EST ASSEZõSIMPLE D'UTILISATIONôü (
) Str8
prgmEDITTEXT
Surtout, n'oubliez pas le ô à la fin de votre texte.
õ -> [2ND]+[MATRX]+[3]
ö -> [MATRX]+[DROITE]+[2]
ô -> [2ND]+[MATRX]+[ENTER]
ü -> [STO->]
ø -> [2ND]+[MATH]+[2]
Le seul problème, c'est que le programme est assez long à afficher un texte.
Si vous avez des idées pour améliorer le programme, n'hésitez pas à en faire part

Monstercrunch le 23/03/2010 à 15:24
Ça a l'air super sympa, mais un petit 83p ne serait pas de refus !Mecha le 23/03/2010 à 17:06
Tu peux très bien faire un copier/coller dans TI Graph Link non ?!
Mais tiens,
cado 
linkakro le 23/03/2010 à 22:34
C'est interessant ! Bravo. Mais ça ne me sert pas.Rézus le 24/03/2010 à 15:42
Pour accélérer le programme tu peux remplacer tes boucles Lbl/Goto par des boucles For(Mecha le 24/03/2010 à 17:10
Rézus a écrit :
Pour accélérer le programme tu peux remplacer tes boucles Lbl/Goto par des boucles For(
En effet, j'y avais pas pensé. Mais que mettre après For( ?
Je peux mettre un For(I,1,? mais que mettre à la place du '?' ?
Ca accélèrerait le programme si je met un While ou un Repeat ?
linkakro le 24/03/2010 à 17:59
ça dépend de ton but ou de la lisibilité
While A=1 ----> tant que A=1
repeat A=1 -----> jusqu'à ce que A=1
for(variable,valeur_départ,valeur_fin,pas ----> à chaque boucle la variable est incrémentée du pas, qui peut être négatif.
Le for est avantageux quand il y a des incréments ou décréments systématiques.
Le pas est par défaut 1
Le repeat ne le fait le test qu'à la sortie tandis que le while permet de faire un test aussi à l'entrée
Si le but est juste une boucle infini alors tape while 1 ou repeat 0
N'oublie pas le End à la place du goto, ce serait balot ^^Mecha le 24/03/2010 à 20:30
linkakro a écrit :
ça dépend de ton but ou de la lisibilité
While A=1 ----> tant que A=1
repeat A=1 -----> jusqu'à ce que A=1
for(variable,valeur_départ,valeur_fin,pas ----> à chaque boucle la variable est incrémentée du pas, qui peut être négatif.
le for est avantageux quand il y a des incréments ou décréments systématiques.
si le pas est positif alors une valeur de fin inférieure à la valeur de départ provoque une boucle infini. le pas est par défaut 1
le repeat ne le fait le test qu'à la sortie tandis que le while permet de faire un test aussi à l'entrée
si le but est juste une boucle infini alors tape while 1 ou repeat 0
n'oublie pas le End à la place du goto, ce serait balot ^^
Merci
J'ai édité le premier post !
Bon maintenant je vais essayer de faire un système pour pouvoir aligner le texte à droite, le centré (...)
linkakro le 24/03/2010 à 20:53
Attention j'ai corrigé mon message précédent (celui cité) !
Quand j'ai dit que le for devenait infini avec valeur de fin inférieure à celle du début je me suis complètement trompé !Rézus le 27/03/2010 à 21:41
Non,tu ne t'es pas trompé,quand le pas est positf,si la valeur d'arrivée est inférieure a la valeur de départ,la boucle est infinie (ou s'arrête quand elle atteint 9E99 mais la faut vraiment y aller) ça marche aussi si la valeur qui est incrémentée ne peut pas être égale à la valeur d'arrivée,exemple:For(A,0,1,2linkakro le 28/03/2010 à 00:23
Sur ma
82 stat fr ce n'est pas la cas !
Quand je met W,10,2,1 la boucle n'est pas lue, W,2,3.5,1 elle est lue pour W=2 puis W=3. Et pour W,2,2,1 elle est lue une fois.
Conclusion : Sur ma
82-stat-fr, pour un pas positif, l'entrée dans la boucle ne se fait que si [début] [<ou=] [fin] et la sortie se fait si W>[fin] (strictement). Donc une valeur même qui n'est pas exactement atteinte provoque tout de même un arrêt.
Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.