IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Comment faire un tableau de structures


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Par défaut Comment faire un tableau de structures
    Bonjour !

    J'ai un tableau de variables stucturées à faire en as2 avec flash.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tabElements[0].libelle
    tabElements[0].nb
    tabElements[1].libelle
    tabElements[1].nb
    etc ..

    Je lis un xml qui contient différentes infos sur N éléments.
    Donc pour l'ex : libellé et nombre.

    Je voudrais ranger ça dans un tableau avec une boucle for.
    J'ai écrit ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var un_element:Object = new Object();
    un_element.lib = ' ';
    un_element.nb = 0;
     
    var tabElements:Array = new Array;
    Dans la fonction de lecture du xml il y a
    lecture du nombre d'éléments, puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for (i=0; i<nbElements; i++) {
       un_element.lib = x.childNodes[3].childNodes[i].attributes.lib;
       un_element.nb = x.childNodes[3].childNodes[i].childNodes[0].childNodes[0];
     
       tabElements.push (un_element);
       trace (" lib " + tabElements[i].lib ) ;
       trace (" nb " + tabElements[i].nb ) ;
    }
    Jusque là, ça a l'air de marcher. J'ai bien l'affichage des couples successifs : libelle et nb.

    Par ex, si dans le xml j'ai :

    element 1 :
    libellé = cacahuette
    nb = 10

    element 2 :
    libellé = asticot
    nb = 200

    Dans la boucle j'ai bien ces éléments là qui sont tracés correctement.

    Mais si dans la boucle, après le push, j'ajoute :

    if (i>0)
    trace ("lib 0: " + tabElements[0].lib + " lib 1: " + tabElements[i].lib ) ;

    (i=1 à ce moment) j'obtiens
    lib 0: asticot lib 1: asticot

    Deux fois la même chose comme si l'indice ne servait à rien !

    De même si j'accède au tableau des éléments en sortie de la boucle, que ce soit pour i=0 ou i=1 j'ai toujours les asticots et le nb 200 !
    Et j'ai bien tabElements.length qui vaut 2.

    Est-ce que quelqu'un a une idée?

    J'ai déjà cherché vainement la bonne solution pour faire ce tableau de structures, j'ai essayé push, sans trop savoir comment m'y prendre .. mais ya un gros big dans ma méthode !

    Un grand merci de votre aide... ;-)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Par défaut
    Ben .. je viens d'essayer ça qui a l'air de fonctionner.

    J'ai supprimé ces lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var un_element:Object = new Object();
    un_element.lib = ' ';
    un_element.nb = 0;
    et dans la boucle for j'ai ajouté la créatin dynamique de la structure "un_element" à chaque boucle.

    ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for (i=0; i<nbElements; i++) {
     
    ...var un_element:Object = new Object();
     
    ...un_element.lib = x.childNodes[3].childNodes[i].attributes.lib;
    ...un_element.nb = x.childNodes[3].childNodes[i].childNodes[0].childNodes[0];
     
    ...tabElements.push (un_element);
     
    ...trace (" lib " + tabElements[i].lib ) ;
    ...trace (" nb " + tabElements[i].nb ) ;
    }
    Ok, les traces sont bonnes maintenant, en sortie de boucle et pour tous les indices.
    Mais est-ce vraiment correct au point de vue de la gestion dynamique de la mémoire ?

    Merci de vos avis.


Discussions similaires

  1. Réponses: 5
    Dernier message: 16/03/2007, 14h44
  2. [MySQL] Comment faire un tableau triable par un utilisateur ?
    Par mLk92 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 15/08/2006, 09h52
  3. Comment faire un tableau tout simple dans un état
    Par robertetgorgette dans le forum Access
    Réponses: 1
    Dernier message: 25/07/2006, 15h20
  4. VB6: Comment faire un tableau de tableaux ?
    Par AsmCode dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 10/11/2005, 22h57
  5. [CR] comment faire un tableau croisé
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 29/08/2004, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo