[DIR MX] List and repeat

Le
Twinky
Hello

j'ai 20 listes nommées Reponse1 etc
Quand je fais un repeat pour éviter de mettre 20 fois
Reponse1 = [0,0,0,0] avec

global Reponse1, Reponse2 jusque Reponse20
global Reponse
repeat with i = 1 to 20
Reponse+i = [0,0,0,0]
end repeat

lors de la compilation du script je n'ai pas d'erreur
par contre quand j'appelle InitListReponse
en lecture ( play ) , ca bug !!! avec message d'erreur
" Handler not defined "

Strange non, car il est déclaré en global le Reponse !!

on InitListReponse
global Reponse1, Reponse2 jusque Reponse20
global Reponse
repeat with i = 1 to 20
Reponse+i = [0,0,0,0]
end repeat
end

si je met Reponse&i = [0,0,0,0] j'ai une erreur de script
avec le message Misplaced Operator

on dirait qu'il n'est pas possible de reinitialiser +ieurs listes
en meme temps avec un repeat afin d'éviter le
Reponse1=[0,0,0,0]
Reponse2=[0,0,0,0] and so on..

Merci pour l'aide apportée

Twinky
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ned
Le #16855861
le lingo est + un langage compilé qu'interprété, donc tes noms de var ont du
mal à être dynamique. jusqu'à MX (pour MX2004 je sais pas), la seule
solution est d'utiliser la commande "do" sur un string contenant ta ligne
lingo :

repeat with i = 1 to 20
monStr = "Reponse" & i & "=[0,0,0,0]"
do monStr
end repeat

toutefois arrivé à ce niveau, perso je trouverais plus pratique d'imbriquer
2 niveaux de listes :

mesRep = []
maRepIni = [0,0,0,0]
repeat with i = 1 to 20
add mesRep, maRepIni
end repeat

du coup au lieu de bosser sur Reponse4 par exemple, tu te retrouves à bosser
sur mesRep[4], et reponse4[1] devient mesRep[4][1]
'achement plus souple, isn'tit ? ;o)
--
------------------
Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
Ned
Le #16855851
oups, grosse erreur :
mesRep = []
maRepIni = [0,0,0,0]
repeat with i = 1 to 20
add mesRep, duplicate(maRepIni)
end repeat

sinon toutes les entrées de mesRep pointent vers la même liste
--
------------------
Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
Twinky
Ned
Le #16855821
de nada :o)

--
------------------
Ned
----------------------------------------
Bien faire et laisser braire
----------------------------------------
"Twinky" news:c6nmt9$ss5$
| Merci Ned :o)
|
|
Publicité
Poster une réponse
Anonyme