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 :

Problème de variable


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut Problème de variable
    Bonjour à tous,

    Je développe actuellement pour un site dont je suis membre, une petite appli de mots fléchés en flash.

    La dernière chose que je veux faire est d'afficher le top 5 des scores.

    J'ai donc une page php qui me renvoi des variables après interrogation de la base.

    J'utilise une fonction loadvars pour les récupérer. Jusque là, pas de soucis. Mon problème et que je demande la récupération de 5 variables, si ma base n'en contient que 3, mon dynamique text m'affiche undefined ce qui ne me choc pas puisque c'est vrai lol

    Du coup, j'aimerais faire une boucle qui test si la valeur est undefined et mettre juste un espace pour que mon champ text soit vide.

    Précision, le php m'envoie les variables sous la forme : pos1=toto&pos2=titi ...

    Voici ma fonction pour plus de compréhension.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    function recup_scores () {
     
    	var recup_scores = new LoadVars ();	
    	recup_scores.onLoad = function(success) {
     
    		if (success) {
    			pos1 = recup_scores.pos1;
    			pos2 = recup_scores.pos2;
    			pos3 = recup_scores.pos3;
    			pos4 = recup_scores.pos4;
    			pos5 = recup_scores.pos5;
     
    			score1 = recup_scores.score1;
    			score2 = recup_scores.score2;
    			score3 = recup_scores.score3;
    			score4 = recup_scores.score4;
    			score5 = recup_scores.score5;
     
    			temps1 = recup_scores.temps1;
    			temps2 = recup_scores.temps2;
    			temps3 = recup_scores.temps3;
    			temps4 = recup_scores.temps4;
    			temps5 = recup_scores.temps5;
     
    			for (i=1;i<6;i++) {
    				var cpt:String=i;
    				if (this['pos'+cpt] == undefined) {
    					this['pos'+cpt] = ' ';
    					this['score'+cpt] = ' ';
    					this['temps'+cpt] = ' ';
    				}
     
    			}
     
    		}
    	}
    recup_scores.sendAndLoad("mf_recup_scores.php", recup_scores, "POST");
     
    }
     
     
    recup_scores ();
    Les variables sont bien récupérées. le test if fonctionne depuis que j'ai converti i en string. En revanche l'attribution de la valeur ne fonctionne pas. J'ai essayé eval, set ça n'a rien donné, mon champ dynamique affiche toujours undefined. Bien entendu, si après le test, je colle un pos4=" "; ça fonctionne nickel.

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut
    Salut,

    Oui c'est tout à fait normal Car dans la ligne 'this["blabla"]', le this fait référence à l'objet LoadVars en cours (dans lequel tes champs de texte n'existent pas). Petit exemple de procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var me:MovieClip = this;
    lv.onLoad = function(ok:Boolean):Void
    {
       me["champDeTexte"].text = "test";
    }
    @++

  3. #3
    Membre éclairé Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    pourtant this[] c'est sensé être similaire à un eval() non? rien à voir avec this.
    de plus il dit qu'il a essayer avec un eval() à la place
    puis ce n'est pas directement les champs de text mais les var attribué aux champs qu'il utilise, sinon y aurait des .text dans son exemple.

    le souci ca doit etre dans l'utilisation des variables dynamique, et je ne m'en suis jamais servi sous flash encore
    je pense en tout cas qu'un eval() va donner pour pos1 par exemple: toto = ' ';
    si ça fait ça c'est normal que flash ne fait pas ce que tu veux, tu as essayer un 'pos'+cpt = ?



    je sais pas trop en tout cas, sinon faire comme a dit thecaptain, en utilisant directement le champ de texte au lieu d'une variable attribué, là un eval("pos"+cpt).text = fonctionne bien

  4. #4
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut
    Merci de vos réponses

    Captain, je ne vois pas trop comment intégrer ta démarche dans mon code Désolé, mais j'ai commencé le flash ya un mois lol

    J'ai bien essayé de déclaré la variable comme tu me l'indique puis du l'utiliser dans la boucle for mais sans succès.

    Du coup en attendant je triche avec ma page php, je test la boucle et si elle est inférieur à 5 je retourne quand même des variables avec un espace (je maitrise un poil plus php que flash lol).

    Je n'en reviens pas, j'ai fais une fonction assez complexe pour valider les mots dans la grille et je bloque sur une bétise comme ça

    Merci pour votre aide en tout cas

Discussions similaires

  1. [VB.NET] Probléme de variable
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/03/2005, 11h51
  2. [Debutant(e)]problème de variable d'environnement
    Par tolsam dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/08/2004, 19h08
  3. Problème de variable
    Par vp dans le forum Windows
    Réponses: 2
    Dernier message: 14/05/2004, 16h27
  4. [Débutant] Problème de variables
    Par bonnefr dans le forum SWT/JFace
    Réponses: 9
    Dernier message: 12/05/2004, 17h41
  5. [servlet]problème de variable jamais nulle
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 18/03/2004, 09h31

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