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 3 Discussion :

[utiliser get et set + chargement de données] Acceder a une propriete par son nom


Sujet :

ActionScript 3

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut [utiliser get et set + chargement de données] Acceder a une propriete par son nom
    Bonjour a tous !

    je developpe sous Flash CS4 de l'AS3 et je lutte desesperemment pour faire de la localisation.
    J'ai des fichiers de langues saous forme key=value,
    je voudrai donc charger ses fichiers et pouvoir acceder facilement a chaque paire de key/value..
    j'ai donc utiliser URLVariables pour charger mon fichier, et une fois mon fichier charge je me trouve bien embete car je ne sais pas comment acceder aux donnees.
    En effet dans le meilleur des mondes je voudrais avoir une fonction comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static function get(name:String):String{ return dic[name]; }
    avec dic mon URLVariable et name le nom de la cle... et bien sur cela ne fonctionne pas...
    Est-ce que quelqu'un a une idee ??
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    salut,

    ben déja ya pas le nom de la propriété et tu melanges get et set
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public static function get nomDeLaVar():String{ return dic[name]; }
    public static function set nomDeLaVar(val:String){ dic[name] = val; }
    ensuite tu pourrais faire un parseur pour ton fichier de données si tu n'utilises pas un format reconnu par flash

    PS : c'est URLLoader pour charger des données externes
    URLVariables n'est la que pour faire le parseur ..

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Merci pour la reponse .... mais je n'ai rien compris !!!

    en fait je ne veut pas faire 150 fonctions pour les 150 variables dont j'aimerai connaitre la valeur c'est pour cela que je voudrai une fonction unique get qui prend en parametre le nom de la variable....

    Mon format de donnee est tout bete: key=value \n malheureusement je n'arrive pas a trouver une solution "satisfaisante" pour le parser et stocker les donnees pour qu'elles soient facilement accessible.

    Je suis donc ouvert a toutes propositions !

    Merci d'avance!

  4. #4
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    ben dans ce cas une fonction publique qui attend en argument le nom de la variable et renvoi sa valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function getVar(nom:String):String{
    return this.dic[nom];
    }

    par contre n'oublie pas qu'en utilisant URLVariables tu perds tous les types de tes données et tout est transformé en chaine, si ca te pose probleme regarde du coté de amfPHP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    oui ca j'ai bien sur essaye de le faire mais ca ne marche pas !!

    la propriete "name" de dic[name] est undefined ...

    si tu a la patience d'essayer, tu peut charger un fichier texte avec trois lignes, maman=papa, chat=minou,boudin=micheline, et d'essayer de faire

    file.dataFormat = URLLoaderDataFormat.TEXT;
    var request:URLRequest=new URLRequest("file");

    apres bien sur un ptit
    dic = new URLVariables(event.target.data);

    et la le fameux return dic["chat"]; qui te renverra undefined ...

    y'aurait-il quelque chose qui m'echappe ??

  6. #6
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    le problème doit venir du formatage de ton fichier texte !
    gaffe a ne pas mettre des & en trop ou en moins

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Bonjour et bonne annee !!!

    si l'annee pouvait commencer par resoudre cette histoire ca serait pas mal !!!

    mon fichier n'a pas de & ou autre c'est juste un classique key=value, as-tu essaye de charger un tel fichier et d'acceder a une key directement par son nom ? j'ai comme l'impression que ce n'est pas possible ....

    Merci d'avance

  8. #8
    Membre habitué
    Homme Profil pro
    Creative Technologist
    Inscrit en
    Avril 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Creative Technologist

    Informations forums :
    Inscription : Avril 2007
    Messages : 126
    Points : 174
    Points
    174
    Par défaut
    Normalement un fichier contenant des variables accessibles avec URLVariables doit effectivement contenir des & comme séparateur entre chaque déclaration...

    Tu devrais trouver tout ce dont tu as besoin dans la doc:
    http://help.adobe.com/fr_FR/ActionSc...0204-7cfd.html

    Il y a des exemples concrets de chargement externes, d'accès à différentes valeurs de type key=value avec URLVariables, avec tous les détails expliquant la procédure que tu tentes de mettre en oeuvre...

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/04/2011, 13h09
  2. Réponses: 8
    Dernier message: 19/07/2010, 15h50
  3. Appeler une méthode par son nom sans utiliser eval
    Par rambc dans le forum Général Python
    Réponses: 5
    Dernier message: 30/10/2009, 16h05
  4. Réponses: 1
    Dernier message: 02/09/2009, 10h35
  5. Acceder à un serveur web par son nom de domaine
    Par amino017 dans le forum ASP
    Réponses: 1
    Dernier message: 05/02/2009, 21h24

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