Valeurs chargées dans une boucle for...

Résolu
boumboumboba Messages postés 15 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 octobre 2010 - 21 oct. 2005 à 23:22
boumboumboba Messages postés 15 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 octobre 2010 - 22 oct. 2005 à 10:41
Bonjour...

Voila, j'ai un petit souci qui commence à me donner pas mal de cheveux blancs depuis le temps que je cherche à comprendre...

si qqun pouvait m'aider, ça me rallongerait mon espérance de vie! :-)



je dois charger des valeurs appellées contenu0, contenu1, contenu2...

Je sais que vous allez trouver ça idiot mais chacune de ces valeurs est
dans un un fichier txt séparé (texte0.txt, texte1.txt, texte2.txt)



je me suis dit que j'allais être malin et faire ça dans une boucle for:



textes = new Array();

for (var i:Number = 0; i<3; i++) {

var fichierCharge = "texte"+i;

var monLoadVarActuel = "monLoadVar"+i;

monLoadVarActuel = new LoadVars();


monLoadVarActuel.load("content_fr/"+niveau+"_"+page+"_"+"texte"+i+".txt");
// le chemin pour les fichiers txt

monLoadVarActuel.onLoad = function(success) {

trace("je la
pointe normalement :"+this.contenu0); //ici il m'affiche la valeur)

var contenuActuel = this["contenu"+i];

trace("je la
pointe avec une variable :"+contenuActuel); // ici elle est undefined

textes.push(contenuActuel);

trace("tableau
:"+textes); //il s'affiche mais tous les éléments en sont undefined

};

}







comme je l'ai mis en commentaires...

qd je lui demande "en dur" de m'afficher par exemple "contenu0" puisque dans texte0.txt, il y a:

contenu0=blah blah blah blah blah blah blah



il le fait. mais qd je me sert de la variable i pour le pointer:

this["contenu"+i]

il ne veut paaaaaaaaaaaaaaas!

comprends pas... comprends pas...



C'est du code pas bien écrit et je ne sais pas si je suis très clair
dans mes explications, mais si l'un de vous pouvait me donner un coup
de main ce serait zuper-génial!!!!

Déjà Merci!

10 réponses

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
21 oct. 2005 à 23:52
Salut

il faut que tu creer un
LoadVars par fichiers, car la boucle est executé en un instant, alors
que le onLoad (chargement effectué) des LoadVars sont appelé X secondes
apres appel de load (le temps de chargement)

donc créer autant de loadVars que de texte, car sinon vu qu'il on tous
le mm nom, le dernier de la boucle supprime tout les autre loadvars.


Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
3
slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011
22 oct. 2005 à 00:17
Et il n'y a pas que ça, le "i" dans le onLoad ne siginifie plus rien du tout (la boucle for est finit depuis longtemps)

^^
3
boumboumboba Messages postés 15 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 octobre 2010
22 oct. 2005 à 00:18
hello Benjy... merci pour ton post...



mais tu es sur que c une question de temps de chargement?

j'a fait un trace pour voir si qd je localise la variable sans que se soit "dynamique" (je veux dire this.contenu0 et non pas this["contenu"+i] ) il me l'affiche correctement...

J'ai essayé plusieurs fois de changer la variable demandée et il me la trouve à chaque fois.



donc, je crois que les valeurs sont là....

J'ai l'impression que c juste un prob de synthaxe...

Comment faire pour que ce satané trace(this["contenu"+i]) m'affiche la valeur du .txt?



Alalalalaaaaaa! Pourquoi tant de haine?

Encore merci !
0
boumboumboba Messages postés 15 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 octobre 2010
22 oct. 2005 à 00:22
Hello Slagt...



je ne vois pas ce que tu veux dire? Finie depuis longtemps?

Je continue à checker... :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
22 oct. 2005 à 00:25
Salut

ben moi j'te dis qu'elle sont pas là ... mais bon si tu pref TE croire pourquoi poser la question ?

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
boumboumboba Messages postés 15 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 octobre 2010
22 oct. 2005 à 00:34
olala mais faut pa le prendre comme ça mon p'tit gars...



Je disais juste que ce ne doit pas être simple de tomber sur des bouts de codes d'utilisateurs un peu paumés comme moi.

Je me disais ausii (petre un peu bêtement) que ce que tu aurais pu me
repondre aurait pu m'aider à comprendre comment ça marche et en
attendant ta reponce je faisais un essai dans ton sens.



Mais bon... t'as l'air pas content, je ne voulais pas que tu te sentes insulté.

Si tu veux, ne lis plus jamais aucune de mes questions. Je comprendrai.
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
22 oct. 2005 à 00:42
Salut

mais nan no prob de mon coté... juste commence par faire ce que je t'ai dis en premier et ca marchera

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
boumboumboba Messages postés 15 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 octobre 2010
22 oct. 2005 à 01:14
Kooool...



En fait, je crois que je m'attaque à un truc trop balèze pour moi :-(

J'ai cherché à faire une 2éme boucle loadVars mais j'ai pas reussi à faire un truc qui marche...

Puis j'ai rejetté un oeil sur la première version du code et j'ai vu que j'avais mis ça dans la boucle

var monLoadVarActuel = "monLoadVar"+i;

monLoadVarActuel = new LoadVars();



C'est vraiment une question, je ne suis pas sur de moi du tout ;-)
: ces 2 lignes là ne devraient pas créer plusieurs loadVars?
(monLoadVar0, monLoadVar1, monLoadVar2...)



Comprends plus rien! vais refaire du Basic, ça c top-koool! ;-)
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
22 oct. 2005 à 10:10
Salut

fais plutot :
textes = new Array();

for (var i:Number = 0; i<3; i++) {

var fichierCharge = "texte"+i;

this["monLoadVar"+i] = new LoadVars();

this["monLoadVar"+i].load("content_fr/"+niveau+"_"+page+"_"+"texte"+i+".txt");
// le chemin pour les fichiers txt

this["monLoadVar"+i].index = i;


this["monLoadVar"+i].onLoad = function(success) {

textes.push(this["contenu"+this.index]);

};
}



parcour du tableau :

var i = 0;

var count = textes.length;

while (i<count){

trace (textes[i]);


}



Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
boumboumboba Messages postés 15 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 octobre 2010
22 oct. 2005 à 10:41
Zuper! Merci beaucoup Benjy! J'essaye ça fissa!



Graccie Mille!
0
Rejoignez-nous