1

Voilà je voudrais découper tout une phrase en 26 caractères jusque là pas trop difficile mais le truc difficile c qui faut pas que les mots soit coupé.
Exemple :

"Bonjour comment ça va moi ça va mais ..."
Il faut la découper en partie de 26 caractères avec que des mots entier, il faut pas ...com" et "ment ... sur l'utre ligne j'ai fait un prog pour ça met il est vachemen lent
Voilà Merci d'avance
Sm]i[le
Et mon super site : http://smile.fr.online.fr

2

Il suffit de repérer les espaces puis de créer une liste de mots.
Ensuite tu additionne les moits dans l'ordre de cette liste en content les espaces si ça dépasse les 26 caractères tu retire le dernier mot que tu a pris.
Tu affiche le texte et tu continue.

Je ne vois rien de complexe, tu veux faire comme words, je crois que ça ce nomme wordswrap?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

3

oui c'est ca et oui, c'est facile à faire ...

4

Voilà ce que j'ai fait pourr l'instant mais c super lent :

decoup(str)
Prgm
{}->stl
1->last
0->esp
For k,1,dim(str)
If k-last>26 Then
If esp=/=0 Then
mid(str,last,esp-last)->stl[dim(stl)+1]
esp->last
0->esp
Else
mid(str,last,26)->stl[dim(stl)+1]
last+26->last
EndIf
EndIf
If ord(mid(str,k,1))=32 and k-last=/=26
k+1->esp
EndFor
mid(str,last,26)->stl[dim(stl)+1]
EndPrgm

Si vous avez des conseils
Sm]i[le
Et mon super site : http://smile.fr.online.fr

5

Le mieux serait de partir de la droite de la phrase... Etant donné qu'on écrit de gauche à droite, non ? non ? bon.

6

Comment veut tu faire plus rapide avec le TI-Basic. Déjà que remplir une liste c'est lent comme dans ton programme.
Essaye d'utiliser une librairie comme Vertel. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

7

Je doute que Vertel puisse le faire... Je sais pas trop... (et c'est là que Vertyos s'amène et me slape et répond à son problème) gol

8

Ben je sait pas moi je voit plus vertel comme une librairie graphique je l'utilise pour pas grand chose d'autres roll
Sm]i[le
Et mon super site : http://smile.fr.online.fr

9

Vertel est peut être capable de faire mumuse avec les variables et donc d'effectuer certaines opérations bien plus rapidement que le TI-Basic. Du genre extraire un mot dans une chaîne.

Je ne vois pas comment accélérer ton programme. J'avais réalisé un mini traducteur mot à mot sur TI92 et tu ne peux pas t'imaginer la lenteur extrême.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

10

ARG C pas fait pour me rassurer ça
Sm]i[le
Et mon super site : http://smile.fr.online.fr

11

Disons que le Ti-basic c'est bien beau pour les programmes courts qui demandent pas midi à 14 heures. Moi-même pour mon manoir, j'ai fait une boucle assez petite (en longueur) concernant la gestion du curseur... Et le curseur bouge à 2 mm/heure.

12

Avant d'écrire quoi que ce soit, quand en découpant 26 char on tombe au milieu d'un mot, tu préfere modifier de façon a avoir une chaine correcte de moins ou plus que 26 caractères ? (en gros, si on coupe un mot, on le vire de la chaine ou au contraire on l'ajoute quitte a dépasser un peu les 26 caractères ?)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

13

Je veux une chaine dans ce cas de moins de 26 caractères
Ca doit pas dépasser 26
Sm]i[le
Et mon super site : http://smile.fr.online.fr

14

decoupe(s)
func
local a,b,r
dim(s)»a
{}»r
while a>0
26»b
while b<=a and mid(s,b,1)<>" "
b-1»b
endwhile
left(s,b-1)»r[dim(r)+1]
mid(s,b+1)»s
a-b»a
endwhile
return r
endfunc

Après, il doit surement y avoir moyen d'accelerer avec vertel, par exemple en travaillant sur une liste au lieu d'une chaine (ce qui vire la 2eme boucle while, celle qui ralenti le plus).
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

Merci bcp je vais essayer ça tout de suite
Sm]i[le
Et mon super site : http://smile.fr.online.fr

16

et comment on fait pour travailler sur une liste au lieu d'un chaine ??
Sm]i[le
Et mon super site : http://smile.fr.online.fr

17

C quoi ton signe <> ??
Sm]i[le
Et mon super site : http://smile.fr.online.fr

18

Ya un DOmain ERROR je comprends pas pk on prend la dimension de s c tjs 1
Sm]i[le
Et mon super site : http://smile.fr.online.fr

19

Ça marche j'ai testé après coup. <> c'est différent. Pour travailler avec des listes tu fais seq(mid(s,i,1),i,1,dim(s))»l ou bien seq(ord(mid(s,i,1)),i,1,dim(s))»l au début.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

20

ça marche tjs pas ya un domaine ERROR
fautbien faire
decoupe("La phrase à découper")
Sm]i[le
Et mon super site : http://smile.fr.online.fr

21

nan ça marche pas ça m'enerve mais bon je vais cherchetr d'ou vient ce domain Error
Merci qd meme
Sm]i[le
Et mon super site : http://smile.fr.online.fr

22

Argh, mais arrêtez de noter <> pour "différent"! La notation /= est comprise par la calculatrice, donc utilisez celle-là!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

23

Smile > Y'a pê une petite erreur de recopie, mais ça doit être un ou deux caractères maximum. A la limite tant mieux, comme ça je suis sûr que tu seras obligé de comprendre l'algo au lieu de l'utiliser directement tongue
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

24

La notation /= est comprise par la calculatrice? hum
(d'ailleurs, ce serait quand même utile les caractères unicode - ♫ )

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

25

Pollux :
La notation /= est comprise par la calculatrice? hum

Oui! Essaye. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

26

Nan le bug en fait c'est qd ya pas un espace dans ce qui faut découper alors là ya un domain ERROR voilà le pk du comment
Désolé de t'avoir embeter mais c vrai ça ma obligé a réfléchir a l'algo
Sm]i[le
Et mon super site : http://smile.fr.online.fr

27

Ah oui en effet, y'avait un test de plus à faire, j'avais même pas pensé à ce cas grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

28

Pouempêcher le bug
faut passer en revu une fois tout le fichier pour voir ? Ou ya une meilleur technique
Sm]i[le
Et mon super site : http://smile.fr.online.fr

29

t'as qu'à tester avec instring, ça devrait être rapide.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)