Portée d'objets crées dynamiquement...

solcarlus13 Messages postés 2 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 15 février 2006 - 15 févr. 2006 à 10:13
solcarlus13 Messages postés 2 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 15 février 2006 - 15 févr. 2006 à 10:15
var my_top:Object = new Object();
my_top["top"] = new Object(); //les tops
my_top["dates"] = new Object(); //les dates du classement en cours

/**
******* XML PARSING FUNCTIONS *******
**/
// Top 10 de tous les tops, pour la FullPage
function makeTop(success) {
if (success) {
//Definition de variables intermediaires
var racine,tops,top,joueur,dates;

//"racine" poine vers <document>
racine = this.firstChild;

//"Tops" pointe vers <tops>
tops = racine.firstChild;

//Chaque <top> est lu dans "top"
for(top = tops.firstChild; top != null; top = top.nextSibling) {
//Creation du top dans le tableau des tops
my_top.tops[top.attributes.name] = new Object();

//Chaque <joueur> est lu dans "joueur"
for(joueur = top.firstChild.firstChild; joueur != null; joueur = joueur.nextSibling) {
//Creation du joueur dans le tableau du top (la clé = le rang du joueur)
my_top.tops[top.attributes.name][joueur.attributes.rank] = new Object();
my_top.tops[top.attributes.name][joueur.attributes.rank]["name"] = joueur.attributes.name; //defintion du nom
my_top.tops[top.attributes.name][joueur.attributes.rank]["value"] = joueur.attributes.value; //definition de la valeur
}
}

//"dates" pointe vers <dates>
dates = tops.nextSibling;

//"date" pointe vers la premiere date (date_from)
for(date = dates.firstChild; date != null; date = date.nextSibling) {
my_toptoons.dates[date.attributes.name] = new Date(Number(date.attributes.year), Number(date.attributes.month), Number(date.attributes.day));
}

// Ici "my_top" est lisible completement : parfait...
}
}

//Ici "my_top" ne contient que "tops" et "dates", qui sont vides...

1 réponse

solcarlus13 Messages postés 2 Date d'inscription mercredi 15 février 2006 Statut Membre Dernière intervention 15 février 2006
15 févr. 2006 à 10:15
Oups... J'ai oublié de mettre le texte qui allait avec ce bout de code...

Salut tout le monde,



J'ai un petit souci pour créer une sorte de gros tableau associatif.



Pour faire court :

Tous les éléments de ce tableau que je créé dans une fonction ne sont
visibles que dans cette fonction, alors que les elements crées hors de
cette fonction sont visibles globalement.



Pour faire long :


ActionScript:<hr>var my_top:Object = new Object();
my_top["top"] = new Object(); //les tops
my_top["dates"] = new Object(); //les dates du classement en cours

/**
******* XML PARSING FUNCTIONS *******
**/
// Top 10 de tous les tops, pour la FullPage
function makeTop(success) {
if (success) {
//Definition de variables intermediaires
var racine,tops,top,joueur,dates;

//"racine" poine vers <document>
racine = this.firstChild;

//"Tops" pointe vers <tops>
tops = racine.firstChild;

//Chaque <top> est lu dans "top"
for(top = tops.firstChild; top != null; top = top.nextSibling) {
//Creation du top dans le tableau des tops
my_top.tops[top.attributes.name] = new Object();

//Chaque <joueur> est lu dans "joueur"
for(joueur = top.firstChild.firstChild; joueur != null; joueur = joueur.nextSibling) {
//Creation du joueur dans le tableau du top (la clé = le rang du joueur)
my_top.tops[top.attributes.name][joueur.attributes.rank] = new Object();
my_top.tops[top.attributes.name][joueur.attributes.rank]["name"] = joueur.attributes.name; //defintion du nom
my_top.tops[top.attributes.name][joueur.attributes.rank]["value"] = joueur.attributes.value; //definition de la valeur
}
}

//"dates" pointe vers <dates>
dates = tops.nextSibling;

//"date" pointe vers la premiere date (date_from)
for(date = dates.firstChild; date != null; date = date.nextSibling) {
my_toptoons.dates[date.attributes.name] = new Date(Number(date.attributes.year), Number(date.attributes.month), Number(date.attributes.day));
}

// Ici "my_top" est lisible completement : parfait...
}
}

//Ici "my_top" ne contient que "tops" et "dates", qui sont vides...


<hr>





Ma question :

Comment faire en sorte que je puisse accéder �_ tout mon tableau depuis l'exterieur de cette fonction ?



Merci d'avance
0