equivalence programation / mmf
Salut a tous,
jai 7 objects actifs A1 a A7
je voudrai faire une boucle pour appliquer la meme logique aux 7, en l'occurence sauver leur position.
jai essaye dans un on loop le code suivant :
X( "A" + Str$( LoopIndex(l))
ce qui me donnerai sur un objet tableau pour ecrire en (1,1):
write Value X( "A" + Str$( LoopIndex(l)) to (LoopIndex(l),1)
mais rien a faire , mmf refuse ce code.
est impossible ou je le fais mal?
merci de m'eclairer.
jp
Re: equivalence programation / mmf
MMF2 n'est pas capable de gérer les noms d'objets dynamiquement (dommage).
Pour faire ça il faut utiliser un qualifier attribué à tous les objets que tu veux parcourir. Ensuite tu "spread" (réparti) une valeur dans une "alterable value" du "qualifier" et tu parcours tes objets avec une fastloop via le qualifier. [img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]
Re: equivalence programation / mmf
merci Sphax,
oui c'est vraiement dommage car c'est un truc utilise par tous les programeurs et ça racourcit bien le code tout en restant comprehensible(Yves, François , est ce envisageable ???)
je vais essayer ton astuce.
Re: equivalence programation / mmf
Oui c'est tout a fait faisable, c'est meme une bonne idee. Ce serait assez lent...
Re: equivalence programation / mmf
Salut François,
ce serait lent? pourquoi ?
j'utilise ces substitutions partout et c'est hyper pratique.
en fait je ne suis pas tres sur mais je me demande si la substitution ne se fait pas a la compilation ce qui fait qu'en execution , il a tres peu d'incidence sur la vitesse?
Re: equivalence programation / mmf
<div class="ubbcode-block"><div class="ubbcode-header">Posté à l'origine par: Francois</div><div class="ubbcode-body">Oui c'est tout a fait faisable, c'est meme une bonne idee. Ce serait assez lent...</div></div>
Il ne faudrait pas que ce soit lent aussi si le nom est fixe (pas d'opération dessus). Si c'est plus lent avec un nom dynamique, c'est assez normal vu que l'opération devra être effectuée par MMF2 avant de savoir quel objet est appelé.
Re: equivalence programation / mmf
Sphax,
au niveau de spead value, jai un souci . je fais :
spread value X(group.Good) in Alterable value A
puis je debugge.
jai donc 7 objets et en Alterable value A de chacun
je trouve une valeur qui n'a rien a voir avec la position X de l'objet en question.
ça fonctionne bien Spread value???
Re: equivalence programation / mmf
XD
Fait un spread value 0 sur ton qualifier, les objets auront chaqu'un un index différent commencant par 0, puis tu fait une fastloop 7 fois et la condition:
-Durant la fastloop X
-Variable A de qualifieur = numéro du loop X
Le premier loop étant le numéro 0, cette condition sera effectuée une fois pour chaque objet.
Re: equivalence programation / mmf
"Spread value" signifie que tu disperses une valeur unique aux différentes instances des objets.
Spread value 1, signifie que tu vas disperser une valeur unique commençant à 1 (1,2,3,...,n).
Re: equivalence programation / mmf
ok mais quand je fais :
Group.Good : spread value 1 in Alterable value A
il met 2 dans un des objets mais rien dans les 6 autres?
ça me parait suspect quand meme, non?
Re: equivalence programation / mmf
il mettra 1,2,3,4,5,6,... dans alterable value A des objets faisant parti du groupa good.