compteur
 
AccueilPortailFAQS'enregistrerConnexion

Partagez | 
 

 [Résolu] Concaténer une chaine de variables "en Tableau"

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
lmc38510
Accro
Accro


Nombre de messages : 402
Age : 69
Localisation : Nord Isère
Date d'inscription : 01/05/2011

Message Sujet: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 14:24

.

tout d'abord le sujet ....

Un sprite liste, rien d'original ....!

Ou cela le devient c'est que la liste n'est pas entrée dans le sprite ..... mais importée ... Merci "Gérard" pour l'information trouvée:

Remplacement de la liste par un tableau avec dans "action select" au lieu d'énumérer la liste ... l'instruction   tab =_root.info_text.split("$");

La particularité ... ce tableau vient d'un fichier "xml" qui est lu ....chaque enregistrement est concaténé (manuellement dans le swf) pour constitué le "_root.info_text" séparé chacun par "$"

Code:
_root.info_text=_root.message1_text+"$"+_root.message2_text+"$"+_root.message3_text+"$"+_root.message4_text+"$"+_root.message5_text+"$";

voir le résultat < iCi >

Ma question:

J'aimerai que le "_root.info_text" ce crée tout seul ...

Comme dans mon "xml" la première ligne "message(0)" contient le nombre de ligne (dans ce cas 5) il faudrait la programmée "du genre" :

For ( i = 1; i <=_root.message0 ; i ++)  

{_root.info_text = .................................}


Pour obtenir : "_root.info_text= Le 19 Avril - Bernard Girard - La Geobiologie - 19H30$Le aaaaaa$Le bbbbbb$Le cccccc$Le dddddd$"

Mais là s'arrête mes compétences ....   

Une idée sur la question serait bien venue .... Very Happy 

le Fichier XML:
 
------

ps:  à l"utilisation du lien "html" vers mon "swf"  si l'on clique trop rapidement sur le bouton "liste" rien ne s'affiche .... il faut un temps court mais un certain temps (je pense) pour que le "xml" soit lu....
comment programmer un temps d'arrêt ou une fonction qui attend la lecture effective du "xml" pour continuer le programme ....?


l'action de lecture est lancée au temps "0" le sprite liste arrive au temps "5" ...


.


Dernière édition par lmc38510 le Mer 23 Avr 2014, 11:06, édité 2 fois
Revenir en haut Aller en bas
http://arcanes.lacaverneauxgrimoires-forum.com/
globe
Accro
Accro


Nombre de messages : 1070
Age : 38
Localisation : 53 Mayenne
Date d'inscription : 24/04/2009

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 15:36

lol,
bonjour , IMC tu en as de c'est question c'est temps ci lol !!

il faudrait peut etre lancer une initialisation xml,
et faire un tableau dans ton xlm et que flash lise ton tableau et en fin de lecture ok renvoyer a ton anim pour lui dire qu'il a bien tout retenue si il a une bonne memoire lol, et ensuite ba tu continue de faire se que tu veut . un peut comme pour lire une base de donnée mais la elle serait embarquer dans ton xlm.

bon comme tu dit , la sarrete tes compétence bon les miene aussi je te rassure , on va laisser ça au plus expérimenter !! Wink 

Revenir en haut Aller en bas
lmc38510
Accro
Accro


Nombre de messages : 402
Age : 69
Localisation : Nord Isère
Date d'inscription : 01/05/2011

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 15:45

globe a écrit:
lol,
bonjour , IMC tu en as de c'est question c'est temps ci lol !!

il faudrait peut etre lancer une initialisation xml,
et faire un tableau dans ton xlm et que flash lise ton tableau et en fin de lecture ok renvoyer a ton anim pour lui dire qu'il a bien tout retenue si il a une bonne memoire lol, et ensuite ba tu continue de faire se que tu veut . un peut comme pour lire une base de donnée mais la elle serait embarquer dans ton xlm.

bon comme tu dit , la sarrete tes compétence bon les miene aussi je te rassure , on va laisser ça au plus expérimenter !! Wink 

Comme tu le dit ....  Laughing  un lundi de Pâques .... faut le faire  Cool  J'en ai de ces questions à la C_n .... 

Mais bon ...... voilà ..... suis pas "Breton" mais têtu tout de même .... faut absolument que j'arrive à LA Solution   



.
Revenir en haut Aller en bas
http://arcanes.lacaverneauxgrimoires-forum.com/
globe
Accro
Accro


Nombre de messages : 1070
Age : 38
Localisation : 53 Mayenne
Date d'inscription : 24/04/2009

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 18:22

donc si j'ai bien compris tu veut créé ta liste par rapport a des iformation basé dans un fichier .xlm mais sa peut etre un autre format ?? .txt .php??
se que tu veut faire je pense c'est pouvoir modifier ta liste juste avec le ficher xlm ?



Revenir en haut Aller en bas
globe
Accro
Accro


Nombre de messages : 1070
Age : 38
Localisation : 53 Mayenne
Date d'inscription : 24/04/2009

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 18:26

tient se que jean-yves avais fait etait pas mal non?

http://www.e-anim-forum.com/t9435-sprite-liste-deroulante
il faudrais juste lire un fichier txt ou xml pour le renvoyer dans la liste sa serai bien je pense
Revenir en haut Aller en bas
globe
Accro
Accro


Nombre de messages : 1070
Age : 38
Localisation : 53 Mayenne
Date d'inscription : 24/04/2009

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 18:46

tient j'ai trouver ça il suffi de le marier au sprite de jean-yves et c'est parti.
http://danypf.free.fr/demos/lire_txt/lire_txt.htm

 Wink 
sacré paques!!   
Revenir en haut Aller en bas
lmc38510
Accro
Accro


Nombre de messages : 402
Age : 69
Localisation : Nord Isère
Date d'inscription : 01/05/2011

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 19:00

globe a écrit:
donc si j'ai bien compris tu veut créé ta liste par rapport a des iformation basé dans un fichier .xlm mais sa peut etre un autre format ?? .txt .php??
se que tu veut faire je pense c'est pouvoir modifier ta liste juste avec le ficher xlm ?

C'est exactement ça ....  Very Happy 

Dans mon swf j'ai "manuellement" concaténé mes variables de la "1" à la "5" mais il peut y en avoir "X" .....Cette information est stockée dans ma variable "message0_text" ....
Plutôt qu'écrire arbitrairement un nombre de variable supérieur à ce qui est envisageable .... Comme le "Sprite Liste" lit les évènements (conférences) en fonction de mon "xml" il serait plus simple de fabriquer cette dernière à chaque ouverture du "xml"

L'intérêt d'indexer la liste avec un "xml" est que je n'ai pas à modifier mon "swf" à chaque ajout ou suppression d'un évènement .... il est plus simple de modifier un "xml" .... Wink 

globe a écrit:
tient se que jean-yves avais fait etait pas mal non?

http://www.e-anim-forum.com/t9435-sprite-liste-deroulante
il faudrais juste lire un fichier txt ou xml pour le renvoyer dans la liste sa serai bien je pense

Bien-sur que j'ai vu ce Sprite de Jean Yves .... mais je n'en vois pas l'utilité ... mon système est tip-top adapté à une gestion de liste évolutive traitée en externe ...!

globe a écrit:
tient j'ai trouver ça il suffi de le marier au sprite de jean-yves et c'est parti.
http://danypf.free.fr/demos/lire_txt/lire_txt.htm

Wink
sacré paques!!  


Je connais "lire_txt/lire_txt.htm" de danypf il ne solutionne en rien mon problème et je préfère de loin lire un format "xml" qui a beaucoup plus de possibilités ....

  tout de même de te préoccuper de mon triste sort  .....  Wink 

Sacré Lundi de Pâques comme tu dis .....    

ils ne respectent plus rien ces jeunes ....  

.
Revenir en haut Aller en bas
http://arcanes.lacaverneauxgrimoires-forum.com/
Admin
Administrateur
Administrateur


Nombre de messages : 18416
Localisation : Toulouse
Date d'inscription : 11/12/2005

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 20:43

Bonjour,

Nous pouvons déjà étudier la façon d'extraire les données dans un fichier XML.
Voici un exemple pour le script XML que tu a proposé
Code:
   static function action_0(mc:MovieClip):Void{
                        // Récupérer le xml
                        // pour le test, il est placé dans un texte-variable                                          
      var xml_:XML = new XML(_root.xml_test);
                        // isole la liste
      var lst = xml_.childNodes[1].childNodes;
                        // Pour chaque élément de la liste..
      var nb:Number = lst.length;  
      for (var i=0; i<nb; i++){
                        // Si l'items n'est pas 'liste' -> passer au suivant
         if(lst[i].nodeName!="liste") continue;
            
                        // Action pour chaque item
          ea_text.traceLn ( "text["+nb+"]="+lst[i].attributes["contenu"]);         
      }
   }

Est-ce que cela te semble clair ou souhaites-tu des explications complémentaires ?

Phildes

_________________
.
Revenir en haut Aller en bas
http://www.e-anim.com
globe
Accro
Accro


Nombre de messages : 1070
Age : 38
Localisation : 53 Mayenne
Date d'inscription : 24/04/2009

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 21:50

re,
ba pour moi la je seche:

xml_.childNodes[1].childNodes;

le reste je comprend a peut pret mais le chidNodes la il me colle .

PS: quand es ce qu'on te colle ??  Laughing


Dernière édition par globe le Lun 21 Avr 2014, 21:58, édité 1 fois
Revenir en haut Aller en bas
lmc38510
Accro
Accro


Nombre de messages : 402
Age : 69
Localisation : Nord Isère
Date d'inscription : 01/05/2011

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Lun 21 Avr 2014, 21:52

Admin a écrit:
Bonjour,

Nous pouvons déjà étudier la façon d'extraire les données dans un fichier XML.
Voici un exemple pour le script XML que tu a proposé
Code:
 static function action_0(mc:MovieClip):Void{
 // Récupérer le xml
 // pour le test, il est placé dans un texte-variable
var xml_:XML = new XML(_root.xml_test);
 // isole la liste
 var lst = xml_.childNodes[1].childNodes;
 // Pour chaque élément de la liste..
 var nb:Number = lst.length;  
 for (var i=0; i<nb; i++){
 // Si l'items n'est pas 'liste' -> passer au suivant
 if(lst[i].nodeName!="liste") continue;
 
// Action pour chaque item
    ea_text.traceLn ( "text["+nb+"]="+lst[i].attributes["contenu"]);
}
 }

En fait Philippe je n'ai aucun problème pour extraire les données du "xml" mon script fonctionne  à merveille et est semblable au tient ...

chaque donnée est extraite dans une variable  (comme ton script) qui me donne :

variable0  le Nbre de variable texte (important)
variable1 le 1er texte
variable2 le deuxième
variable3 ...... etc ...etc...

pour passer ces variables au "sprite liste" j'ai remplacé la liste comme le préconise "Gérard" par un tableau (cela fonctionne bien) ou je met (manuellement)


 
Code:
 _root.info_text=_root.variable1_text+"$"+_root.variable2_text+"$"+_root.variable3_text+"$"+_root.variable4_text+"$"+_root.variable5_text+"$";


en clair l'instruction liste envoyée au "Sprite est:  tab =_root.info_text.split("$");

qui contient donc :


Code:
   _root.info_text= mavariable1$mavariable2$mavariable3$mavariable4$mavariable5$


Ma question porte sur ... comment construire cette variable ci-dessus en la programmant ...?
comme je ne connais pas le Nbre de variable finale .... le "xml" est modifiable ...

J'aurais une solution ....mais trop longue :

Code:
_root.info_text1 = _root.variable1_text +"$";
_root.info_text2 = _root.info_text1 + _root.variable2_text +"$";
_root.info_text3 = _root.info_text2 + _root.variable3_text +"$";
_root.info_text4 = _root.info_text3 + _root.variable4_text +"$";
_root.info_text5 = _root.info_text4 + _root.variable5_text +"$";
_root.info_text6 = _root.info_text5 + _root.variable6_text +"$";
....
....
....
....
....
_root.info_text20 = _root.info_text19 + _root.variable20_text +"$";

Bon avec 20 variables possibles ....... j'ai de la marge mais .....?

et pour finir transfert vers la variable initiale

Code:
_root.info_text = _root.info_text20;

Je suppose qu'il y a plus académique pour traité le problème .....  Very Happy 

That is the Question   Wink 


.
Revenir en haut Aller en bas
http://arcanes.lacaverneauxgrimoires-forum.com/
Admin
Administrateur
Administrateur


Nombre de messages : 18416
Localisation : Toulouse
Date d'inscription : 11/12/2005

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Mar 22 Avr 2014, 00:01

Bon, passons donc à l'envoi des valeurs dans la liste :

pernons une ligne que tu as écrite :
Code:
_root.info_text2 = _root.info_text1 + _root.variable2_text +"$";

l'objectif et de pouvoir faire une boucle avec des noms de pièce.
Pour cela nous allons utiliser la seconde écriture des 'adresse de pièce' :
Code:
_root["info_text2"] ou aussi _root["info_text"+2]

Donc la boucle devient
Code:
for (var i=2; i<nb;i++){
     _root["info_text"+i] = _root["info_text"+(i-1)] + _root["variable"+i+"_text"] +"$";
}

Est-ce que cela répond mieux à ta question ?

Phildes

_________________
.
Revenir en haut Aller en bas
http://www.e-anim.com
lmc38510
Accro
Accro


Nombre de messages : 402
Age : 69
Localisation : Nord Isère
Date d'inscription : 01/05/2011

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Mar 22 Avr 2014, 12:04

.

Merci Philippe .... Je reviens sur les détails ...

1er mon fichier "xml"
Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<racine>
<liste contenu="5" />    
<liste contenu="Le 19 Avril - Bernard Girard - La Geobiologie - 19H30" />
<liste contenu="Le aaaaaa" />
<liste contenu="Le bbbbbb" />
<liste contenu="Le cccccc" />
<liste contenu="Le dddddd" />
</racine>

J'extrais les variable lus comme suis :

message0_text = 5         (nombre de variable)
message1_text = Le 19 Avril - Bernard Girard - La Geobiologie - 19H30
message2_text = Le aaaaaa
message3_text = Le bbbbbb
message4_text = Le cccccc
message5_text = Le dddddd

sachant que le nombre de variable messageX_text est fonction du nombre de ligne de mon "xml"
c'est le prog "AS" qui en le lisant met 5 .... 10 .....20 .....ou message50_text  selon le "xml" chargé ...

Jusque là tout va bien .....

Maintenant cette liste de variables je dois la concaténée pour former un tableau que je donne en consigne "liste" au "Sprite liste"

qui a deux aspect possible:

1)  tab = _root.message1_text +"$" + _root.message2_text +"$" + _root.message3_text +"$" + _root.message4_text +"$" +  ..........etc ....à concurrence du nombre de ligne du "xml"

2)  tab = "Le 19 Avril - Bernard Girard - La Geobiologie - 19H30$Le aaaaaa$Le bbbbbb$Le cccccc$ .......etc .......à concurrence du nombre de ligne du "xml"

-----------

Pour automatiser la construction automatique de ce tableau ..... il faut concaténer autant de fois "_root.messageX_text+$+  "   qu'il y a de ligne dans le "xml"

xxxxxxxxxxxxxxxxxxxxxxx
J'ai trouvé une solution .... y a plus qu'à la peaufinée ....:

For ( i = 1; i <= _root.message0 ;i ++)            

{_root.concatener  = _root.concatener + (i -1) +"$_root.message"}


Ce code exécuté me renvoie     

concatener = NaN_root.message1$_root.message2$_root.message3$_root.message4$_root.message5$

Qu'est ce qui ne va pas dans ce script ....?
le bon résultat serait :

concatener = _root.message1+"$"+_root.message2+"$"+_root.message3+"$"+_root.message4+"$"+_root.message5+"$"

Ou mieux encore ..... comment modifier ce Script pour avoir directement:

concatener = "Le 19 Avril - Bernard Girard - La Geobiologie - 19H30$Le aaaaaa$Le bbbbbb$Le cccccc ......etc ...

Merci d'avance ....  Wink


.
Revenir en haut Aller en bas
http://arcanes.lacaverneauxgrimoires-forum.com/
Admin
Administrateur
Administrateur


Nombre de messages : 18416
Localisation : Toulouse
Date d'inscription : 11/12/2005

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Mar 22 Avr 2014, 16:19

Nous allons revenir sur la syntaxe des chemins-de-pieces

lmc38510 a écrit:
_root.concatener + (i -1) +"$_root.message"}[/b]

Rappel de la 1ère syntaxe : les noms sont séparés par des points, ces noms ne sont pas entre guillemet.
Exemple : _root.myPiece

La seconde syntaxe : les noms sont entre crochet, ces nom sont entre guillemet (associés à '+nombre' si nécessaire)
IMPORTANT : il n'y a pas de point avant les crochets
Exemple : _root["myPiece"]

__________________________________________
Maintenant revoyons ton script

Tu veux écrire :
-> tab = _root.message1_text +"$" + _root.message2_text +"$" +...

Si nous remplaçons les numéros par des indices 'i' cela nous donne (j'écris ?i? pour indiquer qu'il s'agit d'une variable, c'est simplement pour te montrer la démarche)
-> tab = _root.message?i?_text +"$" + _root.message?i?_text +"$" +...

Avec la 2ème syntaxe (celle qui utilise des crochets)
-> tab = _root["message?i?_text"] +"$" + _root.["message?i?_text"] +"$" +...

Ha mais, maintenant, il faut extraite les 'i' des guillemets
-> tab = _root["message"+i+"_text"] +"$" + _root.["message"+i+"_text"] +"$" +...

Nous constatons que _root["message"+i+"_text"] +"$" peut être placé dans une boucle :

Code:
var separ:String = "";
tab = "";
for (var i=1; i<nb;i++){
     tab = separ+_root["message"+i+"_text"];
     separ = "$";
}
Note 1 : je n'ai pas vérifié ce script, mais le principe est correct  Cool 
Note 2 : tu mets la valeur que tu souhaites dans 'nb'

Important : je mets "message1_text" DANS la boucle, car il est possible que la liste ne contienne aucun élément.

Phildes

_________________
.
Revenir en haut Aller en bas
http://www.e-anim.com
lmc38510
Accro
Accro


Nombre de messages : 402
Age : 69
Localisation : Nord Isère
Date d'inscription : 01/05/2011

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Mar 22 Avr 2014, 18:43

.

Grand Merci Philippe pour ce "Cours Magistral" qui va m'être d'une grande utilité ...  Wink 

Je copie et j'imprime pour l'avoir toujours sous la main  Very Happy 

Admin a écrit:


Code:
var separ:String = "";
tab = "";
for (var i=1; i<nb;i++){
     tab = separ+_root["message"+i+"_text"];
     separ = "$";
}
Note 1 : je n'ai pas vérifié ce script, mais le principe est correct  Cool 
Note 2 : tu mets la valeur que tu souhaites dans 'nb'

Important : je mets "message1_text" DANS la boucle, car il est possible que la liste ne contienne aucun élément.

Phildes

Le temps de mettre cela en pratique et je reviens ....      

Edit ..... 19H 15

Je viens donc de tester :

Code erreur:
 

Mon Script

Code:
var separ:String = "";
tab = "";
for (var i = 1; i <= 5 ;i ++) {
     tab = separ+_root["message"+i+"_text"];
     separ = "$";
}

  


.
Revenir en haut Aller en bas
http://arcanes.lacaverneauxgrimoires-forum.com/
Admin
Administrateur
Administrateur


Nombre de messages : 18416
Localisation : Toulouse
Date d'inscription : 11/12/2005

Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Mer 23 Avr 2014, 02:02

C'est un script en ActionScript

Voir : Comment inscrire de l'action-script dans E-anim ?
Attention - contrairement à cet exemple, tu ne dois pas faire une action-permanente, mais le reste correspond à ta démarche.

Note : il faut faire une correction : 'tab' devient 'var tab'
Code:
var separ:String = "";
var tab = "";
for (var i = 1; i <= 5 ;i ++) {
     tab = separ+_root["message"+i+"_text"];
     separ = "$";
}

_________________
.
Revenir en haut Aller en bas
http://www.e-anim.com
Contenu sponsorisé




Message Sujet: Re: [Résolu] Concaténer une chaine de variables "en Tableau"   Aujourd'hui à 12:39

Revenir en haut Aller en bas
 
[Résolu] Concaténer une chaine de variables "en Tableau"
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» [Résolu] C/C un texte variable ?
» Multiplication entre variables... [résolu]
» [résolu]Programmer et afficher un Tableau au format swf avec eanim
» [Résolu]Plusieurs variables dans une variable pour faire un inv?
» [ résolu ] Fond pour tableau de page d'accueil

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-anim :: Utiliser E-anim :: Comment faire :: Sujets résolus ou sans suite-
Sauter vers: