|
Posté le 03-10-2013 à 20:31 | #
|
Sais-tu que tu peut mettre plusieurs mots dans un Str ?
Exemple :
"HELLO BONJOUR KITCHEN CUISINE "->Str 1
Tu peux ensuite récupérer les mots avec un Strmid et une variable.
Les espaces sont importants car chaque mot doit avoir le même nombre de caractères, puisque le Strmid en récupère le même nombre à chaque fois |
|
|
Posté le 03-10-2013 à 22:32 | #
|
Sauf si tu stockes parallèlement le nombre de caractères ! |
|
|
Posté le 03-10-2013 à 23:38 | #
|
Tu peux aussi les séparer par des virgules par exemple. Pas besoin de stocker le nombre de caractères de chaque mots.
"HELLO,BONJOUR,KITCHEN,CUISINE"->Str 1 |
|
|
Posté le 03-10-2013 à 23:41 | #
|
ou que tu sépare les mots par un simbole que le programme reconnait et utilise pour découper les mots:
"HELLO,BONJOUR,KITCHEN,CUISINE"->Str 1
peut être découpé en "HELLO","BONJOUR","KITCHEN" et "CUISINE" par un code du type (comme toujours, écrit a la va-vite et non testé):
0->N 'ici N est le numéro du mot que l'on veut avoir -1
Str 1->Str 2
For 1->X To N
StrMid(Str 2,1+StrSrc(Str 2,","))->Str 2
Next
StrSrc(Str 2,",")>0=>StrLeft(Str 2,StrSrc(Str 2,",")-1)->Str 2
Str 2 devient le mot cherché (le premier mot ayant N=0 pour identifiant, le second N=1, etc... normalement ça marche |
|
|
Posté le 03-10-2013 à 23:41 | #
|
rofl, j'ai eut la même idée que totoyo, mais il ma fallut plus de temps a l'écrire |
|
|
Posté le 03-10-2013 à 23:43 | #
|
C'est vrai, mais ta réponse est nettement précise |
|
|
Posté le 03-10-2013 à 23:44 | #
|
plus optimisé en nombre de variables, tu peux aussi remplacer:
For 1->X To N
par:
For N->N To 1 Step -1
ça t'économise une variable |
|
|
Posté le 03-10-2013 à 23:47 | #
|
et aussi ici:
StrSrc(Str 2,",")[red]>0[/red]=>StrLeft(Str 2,StrSrc(Str 2,",")-1)->Str 2
le >0 est inutile |
|
|
Posté le 03-10-2013 à 23:52 | #
|
je viens de tester sur ma calto, le code que je te propose (avec les deux modifications d'optimisation) fonctionne parfaitement, n'oublie juste pas de stocker dans une variable le nombre de mots qu'il y a dans la chaîne (ma fonction renvois un Str vide si tu vas trop loin) et n'oublie pas que la variable N en paramètre d'entré est égal au mot que tu cherche -1 |
|
|
Posté le 05-10-2013 à 13:53 | #
|
Oh mon dieu j'avais pas pensé à ça (j'pensais pas que c'était possible non plus en fait ).
Faudra que j'modifie ça parce que le programme gagnerait vraiment en intérêt là^^
Merci de vous être intéressés à ce programme ! |
|