Autorisation : Membre
Nb de messages : 4
Inscrit le : Lun 17 Déc 2012, 12:31
Posté le : Lun 17 Déc 2012, 12:33
bonjour/bonsoir!
je suis entrain de programmer un programme de traitement de texte pour ti82stats.fr qui utilise les images de la calc.
j'ai besoin de votre aide si vous avez une idée pour faire un retour à la ligne quand il n'y a plus de place.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 17 Déc 2012, 15:10
Il est impossible de forcer un retour à la ligne dans un unique Text(). Il faut plusieurs Text() ou une boucle.
Comme des caractères ont une largeur différente, on ne peut pas baser le découpage sur le nombre de caractères sans provoquer du vide sur la droite lorsque des caractères courts sont présents.
Pour pouvoir adapter ce découpage au mieux, il faudra soit effectuer une boucle et des calculs soit afficher les caractères un à un.
Au final il est préférable de découper le texte avec une boucle, la fonction sub()/sous-chaine() et un nombre de caractères prédéterminé.
Le maximum est 23 caractères car 95pixels/4pixel/caractère=23caractères
EDIT : Il y a aussi le programme TXT de Maxence sur Espace-TI.
On dirait qu'il ne l'a pas publié en dehors du TI-Concours car je ne le retrouve pas.
Ce sujet n'a pas de raison particulière d'être urgent, même si tu comptes t'en servir pour anti-sèche prochainement, puisque des programmes performants existent.
exemple https://tiplanet.org/forum/viewtopic.php?f=8&t=9361
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 17 Déc 2012, 18:55
Il vaut mieux être débutant et persévérant que noob persistant.
Je ne retrouve pas le prog TXT de Maxence, il est en TI-Basic et très performant. (Espace-TI et TI-Concours)
Le résultat auquel je pense est ceci, à mettre à la place du simple Text(1,1,Str1).
Code
:length(Str1->L // longueur
:int(L/23)-1->M // reste de division euclidienne de la longueur -1
:For(W,0,min(M,9 // parcourt les lignes, maximum 10
:Text(W6+1,2,sub(Str1,1+23W,23 // affiche la ligne W
:End
:If W<10 and L-23(M+1
:Text(W6+1,2,sub(Str1,23W,L-23W
Remarque que l'écran commence à zéro, ça peut servir. Ici je commence l'abscisse à 2 et l'ordonnée à 1 car il reste de la place à droite et en bas. C'est plus propre.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Lun 17 Déc 2012, 19:13
Voici le topic Espace-TI de TXT, mais il me semble qu'il n'y a pas de lien de téléchargement.
Edit: j'ai contacté Maxence par MP et il m'a confié, après m'avoir confirmer qu'il n'y avait aucun lien de téléchargement, être en train de le recoder, puisque la première version comportait quelques bugs. Je tâcherais de vous informer.