Définition de variable

Résolu
cs_albator59 Messages postés 44 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 décembre 2006 - 23 août 2005 à 10:34
cs_albator59 Messages postés 44 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 décembre 2006 - 23 août 2005 à 17:18
bonjour tout le monde,

est-il possible de définir plusieurs valeurs possibles pour une variable. Le tout dans un fichier txt en parallèle (dans l'exemple ci dessous, il sagit de ID.txt) ???
L'objectif étant de lancer une anim après une identification valide :


Je détail :
- dans le fichier texte "ID" :
IDok = durant OU dupont

- au lancement de l'anim' :
loadVariablesNum ("ID.txt",0);

- je définie la variable "identification" par un champ de texte de saisie.

- enfin,
si identification=IDok alors lance la suite de l'anim'

autrement dit ,
si je m'identifi comme "durant" OU "dupont" je pourrais acceder à la suite de l'anim'

Merci d'avance
**Albator**

23 réponses

cs_albator59 Messages postés 44 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 décembre 2006
23 août 2005 à 17:18
merci bcq cx,
voici mon adresse msn : albator222@hotmail.fr
à tout'
3
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 11:25
Salut
Je vais te dire comment je vois les choses mais bon je suis débutant donc ...

De 1, le loadVariablesNum j'aime pas trop parce que tu teste pas si les variables ont bien été récupérer ... c'est a dire qu'il se pourrait que quelqu'un entre "durant" et que l'accès lui soit refusé parce que l'animation n'avait pas finit de charger le contenu du fichier. Moi je fais plutot comme ca sur l'image 2 de mon anim :
oLoadText = new loadVars();
oLoadText.load("id.txt");
oLoadText.onLoad = function(success) {
if (success) {
idaccept = this.idok
gotoAndPlay(1);
}
};
Tant que le fichier n'est pas chargé il reste bloqué entre le 1 et le 2 ( tu peux mettre un chargement en cours ou tt autre texte pr faire patienter).
Au fait, il faut que ta variable idok dans le fichier txt soit précédée par le symbole & pour que flash reconnaisse que c'est une variable.

Ensuite ce que je te propose de faire c'est de créer un tableau (array) et de faire un test à travers une boucle pour verifier si la saisie etait durant, dupont ou meme duvent .
en fait moi je sais pas faire les tableaux ca m'a jamais réussit. Donc ce que je peux te dire c'est de faire ca :
dans ton fichier txt : &idok=dupont;durant;duvent etc...séparé par des ;
ensuite le code au dessus dans la frame 2 par exemple
et sur ton bouton s'identifier tu met ca comme action :(prend ce qui est en gras pour ton code)
on (release) {
testident = idaccept.split(";"); // on découpe idaccept et les valeurs vont dans testident, qui entre nous , jpense que c'est un tableau :p
nbid= testident.length; // on détermine combien testident contient d'id accepté
for (i=0; i<nbid; i++) { // on créer une boucle de test de longueur nbid , le nombre d'id accepté que contenait idok dans ton fichier texte.
testid = testf[i]; // on assigne a testid l'ident ok n° i dans la variable testid
identuser = identification.text // en supposant que identification est le label attribué a ton champ de texte ou l'on doit saisir l'identifiant.
if (identuser == testid) { // on verifie la saisie et le contenu n° i de identok
gotoAndPlay(5); // en suposant que la suite de l'anim en cas d'identification reussit se trouve sur la frame 5
} else {
gotoAndPlay(4); // en suposant que la frame 4 dira ident incorrect
}
}
}

Voila . Désolé si je peux pas t'apporter plus d'aide je débute donc ..
Bonne continuation
cx
0
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
23 août 2005 à 11:27
je suis pas sûr d'avoir tous compris...
pour une variable contenant plusieurs valeurs c'est un tableau "array"

http://showcases.club.fr/
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 11:28
Eu h en fait au cas ou j'ai mis les // en gras mais bon faut pas les prendre :p
cx
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
23 août 2005 à 11:28
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 11:41
En fait tu peux récupérer toutes le contenu de ton fichier text et créer un tableau apres avoir découpé le contenu grace a un caractere du genre ; qui determinera les differents contenus (dupont, durant etc..) et créer directement un tableau ( avec la commande newarray) . Moi ce que je fais c'est que j'utilise que le .split pour créer , je supose que c'en est un , un tableau contenant les différentes valeurs. si tu veux le tableau IDENT
contiendrait en IDENT[0] dupont , IDENT[1] durant etc... mais je pense que ca revient au meme parce que dans mon exemple j'ai l'equivalent avec ... oups je viens de voir l'erreur ... dans testid = testf[i] corrige c plutot testid = testident[i] ... Donc la je reprend je pense que ca revient au meme avec la variable testident et qu'il y'a pas besoin de créer soit meme un tableau avec newarray .
Voila

cx
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 11:45
Yep post croisé ... glandouilleurs qui foutent rien au taf hein? :p

cx
0
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
23 août 2005 à 12:15
encore en vacances MOI

http://showcases.club.fr/
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 12:32
GRRRRR

cx
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 12:34
il a pas pris le message complétement apres le grr j'ai mis je rigole bonne vacances. Sinon tu connais pas une méthode meilleur pour aider albatros ? comme ca ca m'aiderait aussi a mieux comprendre

cx
0
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
23 août 2005 à 12:47
en faite, j'ai pas tout compris dans la 1er question ...

http://showcases.club.fr/
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 13:19
si j'ai bien compris aussi il veut faire une identification en lisant dans un fichier .txt la variable idok qui contiendrait les identifiants accepté pour poursuivre l'animation.
T'arrive tu met identifiant et flash devrait lire dans id.txt la variable idok et voir si y'a une entrée correspondante. le probleme residerait selon lui au fait de mettre plusieurs identifiants dans la variable idok
moi je lui ai proposé de mettre tt ses identifiant sous la forme &idok=id1;id2; ...
et puis de les recupérer et de spliter sur le caractere point virgule et de creer une boucle for qui verifierai la saisie de l'utilisateur avec idok[1] , idok[2] etc...tableau qu'il obtiendrait par le .split de la variable récupérer.

cx
0
cs_albator59 Messages postés 44 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 décembre 2006
23 août 2005 à 13:51
Oui, tout a fait c'est bien ça le problème.

Par contre, j'ai du mal à suivre avec la solution proposé par cx... notament lorsqu'on détermine combien testident contient d'id accepté... (heu, on le détermine ou????)

Désolé, mais je débute également...
**albator**
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 14:05
testident = idaccept.split(";");
il est determiné par le split de idaccept .
et idaccept est déclaré à la frame 2 si tu as suivi mon exemple par :
oLoadText = new loadVars();
oLoadText.load("id.txt");
oLoadText.onLoad = function(success) {
if (success) {
idaccept = this.idok;
gotoAndPlay(1);
}
};
C'est vrai j'ai fait une gourde mais pas sur idaccept
en fait :
sur la FRAME 1
oLoadText = new loadVars();
oLoadText.load("id.txt");
oLoadText.onLoad = function(success) {
if (success) {
idaccept = this.idok;
gotoAndStop(2);
}
};
Sur la frame 2
ton champ de texte on va dire identifier par identification
et ton bouton
sur ton bouton tu met en action :

on (release) {
testident = idaccept.split(";"); // on découpe idaccept et les valeurs vont dans testident, qui entre nous , jpense que c'est un tableau :p
nbid= testident.length; // on détermine combien testident contient d'id accepté
for (i=0; i<nbid; i++) { // on créer une boucle de test de longueur nbid , le nombre d'id accepté que contenait idok dans ton fichier texte.
testid = testf[i]; // on assigne a testid l'ident ok n° i dans la variable testid
identuser = identification.text // en supposant que identification est le label attribué a ton champ de texte ou l'on doit saisir l'identifiant.
if (identuser == testid) { // on verifie la saisie et le contenu n° i de identok
gotoAndPlay(4); // en suposant que la suite de l'anim en cas d'identification reussit se trouve sur la frame 4
} else {
gotoAndPlay(3); // en suposant que la frame 4 dira ident incorrect
}
}
}

cx
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 14:25
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 14:32
Le post précédent a l'air de pas avoir marché ... :S
J'ai relu ta question et apparement tu t'interroge sur comment compter le nombre de variables dans testident .
tu verras que t'aura 3 en output.
En fait .length existe aussi pour les tableaux (les arrays)
Usage: myArray.length - Description :Property; contains the length of the array.

Si t'es pas convaincu, essaye ca :
var1 = "JEAN;JANE;JIJI";
var2 = wow.split(";");
nbf = var2.length;
trace(nbf);

crazYx
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 14:34
le "tu verras que t'aura 3 en output" devait se placer la fin de mon post

cx
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 14:39
Bon désolé je remet tout ca dans un post comme exemple :

Id.txt
&idok= dupont;durant

sur la FRAME 1
oLoadText = new loadVars();
oLoadText.load("id.txt");
oLoadText.onLoad = function(success) {
if (success) {
idaccept = this.idok; // on récupére idok contenu dans id.txt
gotoAndStop(2);
}
};
Sur la frame 2
ton champ de texte on va dire identifier par identification
et ton bouton
sur ton bouton tu met en action :

on (release) {
testident = idaccept.split(";"); // on découpe idaccept et les valeurs vont dans testident, qui entre nous , jpense que c'est un tableau :p
nbid= testident.length; // on détermine combien testident contient d'id accepté. le .length fonctionne aussi pour les tableaux pour compter le nombre de valeur qu'il contient.
for (i=0; i<nbid; i++) { // on créer une boucle de test de longueur nbid , le nombre d'id accepté que contenait idok dans ton fichier texte.
testid = testf[i]; // on assigne a testid l'ident ok n° i dans la variable testid
identuser = identification.text // en supposant que identification est le label attribué a ton champ de texte ou l'on doit saisir l'identifiant.
if (identuser == testid) { // on verifie la saisie et le contenu n° i de identok
gotoAndPlay(4); // en suposant que la suite de l'anim en cas d'identification reussit se trouve sur la frame 4
} else {
gotoAndPlay(3); // On suposera que la frame 3 dira incorrect
}
}
}

Voila . En esperant avoir été clair cette fois çi :p
cx
0
Crazyx Messages postés 128 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 octobre 2008
23 août 2005 à 15:06
C pas possible je manque cruellement de sommeil pour faire autant d'erreur . Derniere correction j'espere dans testid <gras>testf[i] , il faut remplacer par testid</gras> testident[i];
Tiens moi au courant parce que je viens d'essayer sur un .fla et ca a marché.

cx
0
cs_albator59 Messages postés 44 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 17 décembre 2006
23 août 2005 à 15:40
haarggg !!!!!
soit je suis vraiment pas doué, soit je manque également de sommeil... je n'arrrete pas de faire et refaire le test sur un .fla et pas moyen....

Serait possible d'avoir acces à ton .fla??

En tout cas, merci bcq !!
0
Rejoignez-nous