Les fonctions loadVariables() et loadVariablesNum()

Formats de données encodées URL

Une chaîne encodée URL est une suite de couples <nom>=<valeur> séparés par un esperluète (ang. ampersand).

Exemple :

nom=Washington&prénom=George&état=Virginie&début=1789&fin=1797

Si l'on va à la ligne pour chaque paire , il faut placer un esperluète de chaque côté, sous peine de voir le CR faire partie de la donnée.

n0=Zoé&
&n1=Anne&
&n2=Joëlle&
&n3=Chloé&
&n4=Michèle

Le fichier peut contenir des signes diacritiques (accents, cédilles) à condition de préciser dans l'animation qu'il faut utiliser la page de code du système. Il suffit de déclarer vrai le paramètre système useCodePage

System.useCodepage=true ;

 

C'est à ce prix qu'il est possible de lire les signes diacritiques d'un fichier codé ANSI. Par contre, il n'est pas nécessaire d'utiliser la page de code si la source de données est codée Unicode.

 

La fonction loadVariablesNum

 

Cette méthode se connecte sur l'URL et sépare les données en autant de variables stockées à un même niveau de l'animation. L'URL peut bien sûr se réduire à un simple fichier texte situé dans le même répertoire que l'animation.

Syntaxe

loadVariablesNum(<url>, <niveau>) ;

 

Le code ci-dessus, placé dans le panneau actions de l'image 1, lit le fichier potus01.txt et crée au niveau 0 la variable correspondante à chaque couple.

Un fichier texte

On vérifie que l'opération s'est bien déroulée en "traçant" chaque variable. Pour laisser à l'animation le temps de parser les données, on lui accorde un délai d'une demi seconde. On place donc les instructions de traçage dans le panneau actions de l'image 6.

Lecture de plusieurs sources

Pour lire plusieurs sources de données contenant les mêmes variables, il faut utiliser des niveaux différents.

 

Lire deux sources à deux niveaux différents

Ensuite, pour lire le contenu des variables, il faut préciser le niveau voulu à l'aide de l'identifiant _level suivi du numéro de niveau. Comme le niveau 0 est le niveau par défaut, il n'est pas nécessaire de le préciser (cf. lignes 2 et 3 ci-dessous).

_level0 est le niveau par défaut

La fonction loadVariables

Cette fonction permet de créer les variables d'une source de données non pas sur des niveaux différents, mais dans des instances de clips différentes.

Créons une animation contenant deux instances d'un clip vide nommées p1_mc et p2_mc.

Vérification

Pour lire les sources de données, nous plaçons le code ci-dessous dans le panneau actions de l'image 1.

Occurrences de clips vides

On vérifie ensuite facilement que les variables existent bien dans les clips.

Chargement des variables dans un clip

Afficher les informations dans l'animation

Il est temps maintenant d'abandonner la fenêtre de sortie et d'afficher les informations de la source de données dans l'animation. Puisque les données lues sont chargées dans des variables de clip, nous allons utiliser un symbole clip dans lequel des zones de texte dynamiques ont associées aux variables. L'illustration ci-dessous indique clairement comment utiliser la fenêtre de propriétés pour associer une variable à une zone de texte.

Associer une variable à une zone de texte

Dans la 4ème zone de texte mandat_txt, nous désirons afficher à la fois la date de début et la date de fin, séparées par un tiret. Un moyen d'affecter cette expression à la zone de texte est d'utiliser le panneau Actions de l'image 6.

Affecter une expression à une zone de texte