Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 30 Sep 2010, 20:41
je suis en train de programmer un programme qui fait défiler du texte à la manière d'un générique de fin de film.
pour l'instant le programme est un peu lent, mais il fonctionne.
le seul hic: il ne reconnait pas les fins de mot et résultat les mots sont coupés, du style:
bonjour je m'appelle persalteas et je su
is un programmeur sur ti en train de po
ster un message sur le forum de tout 82
, pour demander de l'aide sur un point d
ifficile... merci de votre soutien rap
ide...
si quelqu'un a une idée pour améliorer, merci de me la faire parvenir.
Autorisation : Membre
Nb de messages : 835
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Jeu 30 Sep 2010, 21:57
Normalement pour ça tu dois mettre un For qui avance jusqu'à ce qu'il y ait un blanc dans la chaîne où est le texte,ou jusqu'à ce que le nombre de caractères fasse la taille d'une ligne,dans ce cas tu mets un autre For qui part de l'endroit où s'était arrêté le For précédent et qui repart en arrière jusqu'à un espace.
Et tu stock dans une chaîne à afficher la sous-chaîne qui va du début du texte (ou du point où il s'était arrêté à la dernière ligne) jusqu'à la variable de ton For .
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 02 Oct 2010, 16:05
Sauf que son programme saît afficher des textes de plusieurs lignes, contrairement à cette astuce.
Une fois de plus cela me donne envie de bosser là dessus. (j'ai peu d'idées spontatanées)
---------------------- 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 : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Dim 03 Oct 2010, 13:21
Je répond à la première partie du premier message qui dit: "je suis en train de programmer un programme qui fait défiler du texte à la manière d'un générique de fin de film.".
J'ai donner ma méthode pour faire défiler mais en aucun cas pour résoudre son problème de coupe des mots.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 03 Oct 2010, 15:31
Voici un programme compliqué mais un peu astucieux, donnant aussi un défilement et faisant des retours à la ligne.
On est cependant limité à 220 caractères sans retours à la ligne. (je crois que c'est tout-de-même plus que le précédent).
Un mot ne doit pas faire plus de 22 lettres. Une optimisation est à venir sur ce point.
Input "",Str0
Str0+" "->Str0
length(Str0)->L
0->A
1->W
0->C
{0}->L1
{0}->L2
Repeat A=L
inString(Str0," ",A+1)->B
If B-C>23
Then
W+1->W
A->L1(W)
A-L1(W-1)->L2(W)
A->C
End
B->A
End
If sum(L2)øL
L-L1(W)->L2(W+1
For(B,1,58
1->C
For(A,1,W
If 52+6A-B>57
Goto A
C+L2(A)->C
Text(52+6A-B,4,sub(Str0,C,L2(A+1))
Line(0,-58-6A+B,1,-58-6A+B,0
Lbl A
End
End
Je serait quand même curieux de connaître celui de tarken.
---------------------- 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 : 22
Inscrit le : Mar 15 Sep 2009, 15:04
Posté le : Dim 03 Oct 2010, 16:28
À une heure près j'avais l'exclusivité des retours à la ligne. ; )
Mais bon comme je viens de faire ce petit programme ( weekend oblige ), je le poste quand même.
Il ne fait que les retours à la ligne. Evidemment ça pose un petit problème pour les mots de plus de 16 caractères, alors évitez les anticonstitutionnellement.
J'ai pensé à l'ammeliorer par la suite en faisant en sorte de centrer le texte sur chaque ligne.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 03 Oct 2010, 17:09
J'ai eu un peu de mal à comprendre en testant, mais j'ai finit par trouver.
Cependant il ne me semble utile qu'en association avec celui de persalteas.
Si on intègre le tiens à celui de persalteas, on aura besoin de modifier le début ainsi :
---------------------- 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 : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 04 Oct 2010, 20:48
linkakro, ton programme me met err domaine au moment de la première souschaine.
je n'ai pas encore cherhcé à comprendre pourquoi, j'ai pas beaucoup de temps désolé.
de plus tu utilises la fonction sum( que je traduit en français par suite(, a quoi ça sert, je ne connais pas!
tarken, ton programme ne bugue pas, mais pourtant il me fait des renvois à la ligne en pleine phrase:
bonjour je suis persaltea
s et je teste ce pr (là il me reste plein de place avant le bout de l'écran)
ogramme fait par linkak (je sais pas ou est passé le "ro")
je précise que j'ai recopier le prog de tarken selon tes conseils, linkakro, et que j'ai recopié mon prog après (bon bien sur en enlevant la partie du début) pour l'affichage.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 04 Oct 2010, 21:17
Le programme de tarken prévoie 16 caractères par lignes, au lieu de 25 tel que fait ton programme. (moi j'en ai prévu 22) D'où les sauts de lignes bizarres.
sum = somme (menu liste)
J'ai copié/collé mon texte du forum et envoyé en 83p dans vti, et je n'ai pas eu d'erreur. L'erreur ne doit pas venir de moi.
Il n'y a qu'une seule sous-chaîne (sub). Tu dois confondre avec carchaîne (instring).
---------------------- 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 04 Oct 2010, 21:30
Toutes les fonctions du menu liste>math permettent d'effectuer des opérations entre chaque terme d'une liste.
exemple :
somme revient au sigma majuscule en maths. Cela donne la somme de tous les termes de la liste.
prod revient au pi des produit. (ne pas confondre avec le pi trigonométrique).
---------------------- 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 : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 04 Oct 2010, 21:36
ok je vois merci.
(ps qui n'a rien à voir: le site à des ratés, non? une fois sur deux il met erreur de serveur 404 et compagnie..., a chaque fois que je change de page.)
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Lun 04 Oct 2010, 21:47
sur le programme de tarken, j'ai err domaine à la 3e ligne de son prog.
ton prog marche, linkakro.
merci beaucoup!!
toutti Invité
Posté le : Dim 10 Oct 2010, 23:28
un defilement de bas en haut c'est possible ? ah quand le texte sort de l'ecran j'ai une erreur c'est pas possible de lui dire de supprimer le text qui va sortir ?
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 10 Oct 2010, 23:59
Tu veux dire quand le texte est trop long ? Et avec lequel des programmes ?
Je pensais bosser dessus mais ce n'est pas encore fait. Je m'y remet alors.
Pour défiler à l'envers, il faudrait modifier beaucoup de choses dans mon prog.
---------------------- 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)