Récupérer des variables dans fichier txt

lch07 Messages postés 4 Date d'inscription dimanche 11 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004 - 24 juil. 2004 à 21:29
lch07 Messages postés 4 Date d'inscription dimanche 11 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004 - 25 juil. 2004 à 22:15
bonjour,

j'aimerai savoir comment loader des variables contenues dans un fichier txt à partir d'un ensemble de boutons... pour être plus précis :
j'ai 1 fichier txt nommé "montexte.txt"avec plusieurs variables (var1=mon premier bouton&var2=mondeuxièmebouton&var3=montroisieme bouton...)
j'ai dans une animation flash, un calque ou j'ai placé l'action suivante :

loadVarsText = new LoadVars();
loadVarsText.load("montexte.txt");
loadVarsText.onLoad = function(success) {
if (success) {
_root.montexte.htmlText="Cliquez sur les boutons pour voir les textes";
} else {
_root.montexte.htmlText="Impossible de charger les textes !";;
}
};
stop();

j'ai également une zone texte dynamique appelée "montexte".
et plusieurs boutons nommés respectivement 1,2,3,... regroupés dans 1 clip.
Sur ce clip j'ai mis l'action suivante :

onClipEvent (load){
for(var i=0; i<10; i++){
this[i].onPress = function(){
_root.montexte.htmlText = ??
}
}
}

pour l'instant ça ne marche évidemment pas car je ne sais pas ce qu'il faut mettre à la place des ??.
je sais que je ne suis plus vraiment très loin mais là je bloque complètement.
A l'aide....
merci

laurent

7 réponses

cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
25 juil. 2004 à 01:15
Salut,

En effet, t'y est presque...
Vu que tes variables dans ton txt s'appellent var1, var2,..., jusqu'a var10, eh bien rapelle-les de la meme facon dans flash:

onClipEvent (load){
for(var i=0; i<10; i++){
this[i].onPress = function(){
_root.montexte.htmlText = String(_root["var"+i]);
}
}
}

Le seul probleme, c'est que tu ne peux les remplir QUE SI ton texte est chargé... Rajoutes donc un play() dans ton onload{}, et fait apparaitre ton clip la dedans...

@+ Tom
0
lch07 Messages postés 4 Date d'inscription dimanche 11 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004
25 juil. 2004 à 01:42
merci tom pour le coup de main, mais je ne comprend pas la fin de ton message :
"Rajoutes donc un play() dans ton onload{}, et fait apparaitre ton clip la dedans..."
peux-tu être plus précis?
merci encore.
laurent
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
25 juil. 2004 à 11:17
Euh, alors:

Frame 1: lecture du txt avec un stop, juqu'a ce que les infos soient arrivées >> play
Frame2: apparition de ton clip, avec le on(load) dessus.

C'est ce que je voulais expliquer: les infos peuvent etre exploitées APRES le avoir récupéré... (logique, non?)

@+ Tom
0
lch07 Messages postés 4 Date d'inscription dimanche 11 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004
25 juil. 2004 à 12:31
j'ai fait comme indiqué mais m'affiche "undefined" quand je clique sur les boutons...

frame 1 :

loadVarsText = new LoadVars();
loadVarsText.load("montexte.txt");
loadVarsText.onLoad = function(success) {
if (success) {
_root.montexte.htmlText="Cliquez sur les boutons pour voir les textes";
play();
} else {
_root.montexte.htmlText="Impossible de charger les textes !";
}
}
stop();

clip dans Frame 2 :

onClipEvent(load){
for(var i=0; i<=10; i++){
this[i].onPress = function(){
_root.montexte.htmlText = String(_root["var"+i]);
}
}
}

je ne vois pas ou se trouve le pb...
laurent
0

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

Posez votre question
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
25 juil. 2004 à 18:35
Hum, j'ai fait une erreur de debutant... Moi qui encourage l'utilisation des loadVars...

Si ton loadVars s'appelle loadVarsText, les variables se trouvent dedans, et pas sur la scene...

Erreur grossiere de ma part, ca m'apprendra à repondre aux question à 1 heure du mat...

onClipEvent (load){
for(var i=0; i<10; i++){
this[i].onPress = function(){
_root.montexte.htmlText = String(_root.loadVarsText["var"+i]);
}
}
}

Voila, la il devrait trouver qquechose de coreect...
@+ Tom
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
25 juil. 2004 à 18:36
Ah oui, un dernier truc, si tu n'as pas de var0, ta boucle doit initialiser i à 1...

Enfin, c'est un detail...
0
lch07 Messages postés 4 Date d'inscription dimanche 11 juillet 2004 Statut Membre Dernière intervention 25 juillet 2004
25 juil. 2004 à 22:15
bonsoir tom,
j'ai apporté tes modifs mais le champ texte n'affichait que la dernière variable de mon fichier texte (et ce, quel que soit le bouton).
j'ai tenté alors ceci :

onClipEvent(load){
for(var i=0;i<11;i++){
this[i].onPress = function(){
_root.montexte.htmlText = String(_root.loadVarsText["var"+this._name]);
}
}
}

et ça a l'air de bien fonctionner.

encore merci pour ton aide et ta patience.
laurent
0
Rejoignez-nous