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

Flash Discussion :

Comment repeter "new Object()"


Sujet :

Flash

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut Comment repeter "new Object()"
    bonjour,
    j'ai bien (je pense ) regardé le forum sans trouvé ma réponse, donc je la pose.

    j'explique :

    je souhaite créer autant d Object (qui prendraient le nom de "Image1", "Image2", "Image3" et ainsi de suite) que la valeur d une variable (nommé "NombreImagesTotal").

    Je pensais pouvoir faire une boucle du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var n = 0;
    while (n<NombreImagesTotal) {
    var Image[n]:Object = new Object();
    n = ++n;
    }
    Mais c est visiblement pas la bonne facon de faire!!!

    Pouvez vous m'aider, merci bp d'avance

  2. #2
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    J'espère que ça te conviendra.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var Images : Array = new Array();
     
    for(var i=0; i<NombreImagesTotal; i++)
      Images = Images.concat(new Object());
    Il est préférable d'utiliser des boucles for lorsqu'on connait la taille totale à parcourir !
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut je me reexplique! (désolé)
    merci de ta reponse, mais en fait je n'ai pas été assez clair.

    en fait le truc c'est que je souhaite récupérer les "infos" de mes images contenues sur un xml,
    dans ce dernier figurent les adresses (url) de chaque image ainsi que les titres et les noms des fichiers...
    Cela dans le but de les conserver pour d autres actions par la suite.

    j'arrive donc à créer cela pour un élément (c.a.d une image), comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    code :
    var Image:Object = new Object();
    Image.nomFichier = monXML.firstChild.firstChild.firstChild.lastChild.childNodes[0].firstChild.attributes.nomFichier;
    Image.titre = monXML.firstChild.firstChild.firstChild.lastChild.childNodes[0].firstChild.attributes.titre;
    Image.adresseImageMoyenne = monXML.firstChild.lastChild.childNodes[1].attributes.url;
    Image.adresseImageGrosse =  monXML.firstChild.lastChild.childNodes[2].attributes.url;
    mais étant donné que je dois faire ceci pour chaque image, et que le nombre de celles-ci est variable (mise a jour),
    j'aimerais répéter l'operation autant de fois qu'il y a d images, c'est à dire : la valeur de ma variable : "NombreImagesTotal"

  4. #4
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Pour cela tu dois inclures le code que tu viens de citer dans ta boucle for. De ce fait, la déclaration de variable se fera autant de fois que tu as d'éléments dans ton fichiers XML et tu utilises la technique que je t'ai donnée pour les ajouter à ton tableau.

    Par contre je ne vois pas dans ton code, à quel moment tu spécifies le noeaud XML (en fonction de ton indice de boucle) que tu étudies...
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    en fait ma variable "NombreImageTotal" est le résultat du nombre de noeuds enfants contenu dans le noeud que j etudie,
    autrement dit ma variable me sert a indiquer le nombre de fois à répeter l'opération.

    Mais je comprends pas bien ta réponse, car je voudrais que à chaque fois que ma boucle fait l operation de creation du nouvel object,
    j aimerais qu il modifie le nom de celui ci, soit pour la premiere operation qu il donne le nom "Image1", puis "Image2", ...,
    jusqu a par exemple "Image15" si la valeur de ma variable est = à 15.
    mais je ne veux pas faire un tableau de tout ca, je veux bien avoir autant d Object que j ai d images

    J'ai l'impression de vraiment pas arriver à m'exprimeer clairement et simplement,
    surement à cause de mon faible niveau de connaissance en ActionScript!
    désolé

    merci de ta patience!

  6. #6
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Si je comprend bien, tu veux créer des objets qui se nommeront Image1, Image2... et pouvoir les réutiliser dans ton code sous ce nom !?!

    Je vais peut-être dire une bêtise mais je crois que tu es obligé de stocker toutes tes variables dans un tableau ce qui te permettras de les retrouver plus facilement. Cette technique te permettras d'avoir un programme plus dynamique en fonction du fichier XML que tu utilises.
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    oui c est cela, exactement.

    Ok, je vais regarder comment j peux faire simplement avec un tableau, mais j ai peur de me retrouver avec 50000 éléments dans celle-ci sans avoir d autres moyen de m y retrouver qu avec des numeros! genre : Image[0], etc... pas tres explicite sur le contenu, pour s y retrouver...

  8. #8
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par éloi_75
    Ok, je vais regarder comment j peux faire simplement avec un tableau, mais j ai peur de me retrouver avec 50000 éléments dans celle-ci sans avoir d autres moyen de m y retrouver qu avec des numeros! genre : Image[0], etc... pas tres explicite sur le contenu, pour s y retrouver...
    Personnellement je préfère utiliser des tableaux qui regroupent toutes mes variables du même type. C'est beaucoup plus facile à gérer que de les laisser dans la nature

    Sinon je ne comprends pas pourquoi le fait d'utiliser Image[0] et moins explicite que Image0 ?
    En tout cas bpn courage à toi
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

Discussions similaires

  1. [FAQ] Comment coder/dé-coder en Quote-Printable
    Par Delbeke dans le forum Vos contributions VB6
    Réponses: 0
    Dernier message: 30/07/2008, 10h48

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