Optimiser les boucles de Str ?
Posté le 30/05/2014 19:26
Salut à tous !
J'ai un problème j'ai un programme ressemblant à ceci :
[b][blue]Do[/blue][/b]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]1[/maroon],Str [maroon]1[/maroon]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]2[/maroon],Str [maroon]2[/maroon]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]3[/maroon],Str [maroon]3[/maroon]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]4[/maroon],Str [maroon]4[/maroon]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]5[/maroon],Str [maroon]5[/maroon]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]6[/maroon],Str [maroon]6[/maroon]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]7[/maroon],Str [maroon]7[/maroon]
[b][blue]LpWhile[/blue][/b] [maroon]1[/maroon]
Et c'est assez lent, j'ai essayé quelque chose comme ça :
[b][blue]Do[/blue][/b]
[b][blue]For[/blue][/b] [maroon]1[/maroon][b]->[/b]X [b][blue]To[/blue][/b] [maroon]7[/maroon]
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],X, Str X
[b][blue]Next[/blue][/b]
[b][blue]LpWhile[/blue][/b] [maroon]1[/maroon]
Mais il n'apprécie pas trop le Str X... Quelqu'un aurait-il un solution pour que ça aille pus vite ?
Merci
Citer : Posté le 30/05/2014 19:29 | #
Malheureusement non... ou du moins pas à ma connaissance.
Str attend un entier de 1 à 6 en argument.
Citer : Posté le 30/05/2014 19:30 | #
Faire 7 locate ne sera pas plus rapide que faire... 7 locate :p.
Sinon, ensuite, je ne vois pas trop quoi faire d'autre pour gagner en vitesse... :-/
Citer : Posté le 30/05/2014 19:31 | #
Oui pardon je parlais plus en taille de programme
Et au fait existe-t-il une fonction capable de mélanger les caractères d'une Str ?
Citer : Posté le 30/05/2014 19:35 | #
Si tous les Str ont une taille précise, tu peux toujours les stocker tous dans un et afficher une sous partie à chaque ligne
Citer : Posté le 30/05/2014 19:41 | #
Une sorte de shuffle... je ne crois pas qu'il y ait de fonction pour ça.
Citer : Posté le 30/05/2014 19:49 | #
Sachant qu'une ligne fait au maximum 21 caractères et que tu ne peux afficher que 7 lignes en mode locate, tu peux alors tout stocker dans une seule chaine (21*7 = 147) (à condition de ne pas utiliser trop de caractères spéciaux de 2 bits).
Dans ce cas, cela donnerait :
Locate 1,X,StrMid(Str 1,21X-20,21)
Next
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 30/05/2014 19:53 | #
Merci beaucoup ! Mais pour mon programme c'est bien plus rapide qu'il y ait une Str pour chaque chaine