Donc, je voudrais savoir s'il existe un code plus rapide pour séléctionner un élément d'une liste (ici une string) autre qu'avec des For et des If ?
En clair remplacer :
:For i,1,dim(liste)
:If liste[i]=string
:Exit
:EndFor
Par quelque chose de plus efficace.

Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.
natto Le 28/09/2001 à 23:37 dim(liste)->variable
:for i,1,variable
:if liste[i]=string
:exit
:endfor
ça sera deja un peu plus rapide....

納 豆パワー!
I becamed a natto!!!1!one!
Evidemment, mais c'est pas ça que je demandait

Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.
Si t'essaies une boucle avec WHILE, c'est pas plus rapide ?
Un truc du genre
:1=l
:While list[l]=/=string (=/= different)
:l=l+1
:EndWhile
En Basic tu pourras pas tellement gagner grand chose...
pas plus de 30% je pense.
natto Le 28/09/2001 à 23:37 moi g pas envie le basic je l'aime plus

納 豆パワー!
I becamed a natto!!!1!one!
heu, j'ai un doute sur le fait que la while soit plus rapide ...
nEUrOne>
J'ai fait un test avec 2 boucles :
:For a, 1, 1000
:If list[a]=string
:Exit
:EndFor
Et l'autre :
:a=1
:While list[a]=/=string (=/= : différent)
:a=a+1
:EndWhile
Pour une liste de 1000 éléments, dont le 900ème était celui recherché.
J'ai chronométré et j'ai trouvé 34 s pour la boucle avec FOR et ; 32 s pour WHILE.
Donc les deux boucles sont quasiment aussi rapides.
chickensaver_john> Tout à fait d'accord.