OVH Cloud OVH Cloud

[DIR MX] - liste & texte ligne ..

1 réponse
Avatar
greenshot
j ais créé une liste qui compte les lignes d un texte :
oldlist=[]

textlisted = string (member("texte a lire field").text)


linelist = the number of lines in textlisted

repeat with i= 1 to linelist

oldlist.add(i)

end repeat

put oldList



j obtiens une serie de num : [1, 2, 3, 4]

puis j ais fais une fonction de random sur cette listeet ais créer une
nouvelle liste pour garder ce resultat

j obtiens par exemple pour ma newlist : [2, 1, 4, 3] -- ou un autre ordre

ce que je voudrais maintenant c est que l ordre des lignes de mon texte
change en fonction du nouvel ordre dans ma newlist

Mais je n arrive pas a faire reconnaitre les valeurs de la liste comme des
position de ligne .. toute aide est tres bienvenue, merci d avance

1 réponse

Avatar
Bubar
> j ais créé une liste qui compte les lignes d un texte :
oldlist=[]

textlisted = string (member("texte a lire field").text)



Inutile de faire string(), car c'est déjà du texte







linelist = the number of lines in textlisted
repeat with i= 1 to linelist
oldlist.add(i)
end repeat
put oldList



j obtiens une serie de num : [1, 2, 3, 4]

puis j ais fais une fonction de random sur cette listeet ais créer une
nouvelle liste pour garder ce resultat

j obtiens par exemple pour ma newlist : [2, 1, 4, 3] -- ou un autre
ordre

ce que je voudrais maintenant c est que l ordre des lignes de mon
texte change en fonction du nouvel ordre dans ma newlist


Attention : ici une ligne signifie du texte fini par un return, et non pas
une ligne d'affichage. Si c'est ce que tu veux, c'est un poil plus complexe

l=[ta liste]
textlisted="ton texte"
nb=l.count
txt=""
repeat with i=1 to nb
rnd=random(l.count)
txt=txt&textlisted.line[rnd]&return
l.deleteat(rnd)
end repeat
--Attention : txt contient un return de plus si txtlisted contient au moins
une ligne
member("texte a lire field").text=txt

--
Bubar