Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: Tableaux de données
Envoyé: 28 janvier 2004, 9h41 par Oznog
Tu peux aisément utiliser un document externe avec Flash, un fichier texte (avec la structure de ton choix) un document CSV (donc une exportation Excel, ou autre base de données avec une petite modification, ajout de "monTexte="). Mais aussi du code Flash (ActionScript).
- Son rôle
Peut importe la méthode, ce fichier externe peut être modifié à la vollé sans devoir "recompiller" le Flash. Donc si tu le transfert sur un serveur manuellement ou si tu as une application Serveur qui le génère, ton Flash est 100% dynamique.
- La technique
Pour la récupération tu peux utiliser l'include direct (#include "script.as") ou le fichier "script.as" (as pour ActionScript) peut créer ses tableaux (arrays) directement.
var aTableau = ["1", "2", "3", "4", "5", "6", "6"...];
Voir cet exemple de Dada (http://www.trucsweb.com/Forum/voirmessage.asp?forumid=17&messageid=11052&posparent=0) et l'exemple suivant avec avec un "constructeur" (http://www.trucsweb.com/Forum/voirmessage.asp?forumid=17&messageid=10755&posparent=3) et (http://www.trucsweb.com/Forum/voirmessage.asp?forumid=17&messageid=10765&posparent=5).
OU LE LOADVARIABLES utilisé par la moitié des messages de se forum ;-) dont celui d'hier de Dada : http://www.trucsweb.com/Forum/voirmessage.asp?forumid=17&messageid=13219&posparent=1
Maintenant, que se soit ton fichier texte ou un CSV, une seule façon de récupérer les diverses éléments, tu dois identifier un séparateur. Par exemple les virgules d'un fichier CSV. Tu "split" sur la virgule et tu récupère un tableau (array).
Par exemple
monTexte=var1,var2,var3,var4
monTexte.split(",");
aTableau = monTexte.split(",");
// Nombre d'élément
nTotal = aTableau.length;
// Donc en deux dimensions
monTexte=var1a|var1b,var2a|var2b,var3a|var3b,var4a|var4b
// Récupère les chaîne entre les virgule
aTableau = monTexte.split(",");
aDeuxieme = new Array();
for(i=0;i<aTableau.length;i++){
// Récupère les chaîne entre les barres verticales.
aDeuxieme[i] = aTableau[i].split("|");
trace(i+"a:"+aDeuxieme[i][0]);
trace(i+":b"+aDeuxieme[i][1]);
}
Il y a déjà beaucoup de matière à digérer. Mais pour ta question, oui c'est possible ;-)
Ciao
Oznog
Réponses
|