IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Actionscript 2 > Interaction côté Serveur
        Comment envoyer des paramètres coté serveur ?
        Comment récupérer des données non formatées ?
        Comment récupérer des données d'un fichier texte ?
        Comment récupérer une matrice de chiffres stockée dans un fichier texte ?
        Pourquoi mes données, récupérées dynamiquement, ne s'actualisent pas ?
        Comment afficher tous les caractères accentués des données importées?
        Peut-on envoyer un swf dans un email ?



Comment envoyer des paramètres coté serveur ?
auteur : Grégory Dumas
La classe LoadVars permet d'envoyer des données pour pourront être récupérer coté serveur.

var my_lv:LoadVars = new LoadVars();
my_lv.param1 = "Parametre 1";
my_lv.param2 = "Parametre 2";
my_lv.send("loadVars_send_fmx.php");


Remarque : Vu que la classe permet d'envoyer et de recevoir des données, il est bien entendu possible de faire les deux processus en même temps : envoyer et recevoir.
Pour cela, il suffit d'utiliser la méthode sendAndLoad


Comment récupérer des données non formatées ?
auteur : Grégory Dumas
Pour récupérer des données non formatées, nous pouvons indifféremment utiliser les classes LoadVars ou XML Il faudra alors utiliser la méthode onData.
Avec la classe LoadVars :

var my_lv:LoadVars = new LoadVars();
my_lv.load("fichier.txt");

my_lv.onData = function(src:String) {
texte_txt.text = src;
}

Avec la classe XML :

var my_xml:XML = new XML();
my_xml.load("fichier.txt");

my_xml.onData = function(src:String) {
texte_txt.text = src;
}

Comment récupérer des données d'un fichier texte ?
auteur : Grégory Dumas
La classe LoadVars facilite la gestion du rapatriement des données en intégrant des méthodes - onLoad et onData - indiquant si le chargement est terminé ou pas et donc si les variables sont accessibles ou pas.
Concrétement, il suffit de créer un fichier texte comme ceci :

titre=Flash 8&texte=Ce texte, issu d'un fichier texte, a été récupéré grâce à la classe LoadVars:D
Pour afficher les données chargées, nous créons deux champs texte dynamiques ayant comme nom d'occurrence titre_txt et texte_txt puis nous utilisons le code suivant :

var my_lv:LoadVars = new LoadVars();
my_lv.load("loadVars_fmx.txt");

my_lv.onLoad = function(ok:Boolean) {
if(ok) {
// Le chargement a réussi
titre_txt.text = my_lv.titre;
texte_txt.text = my_lv.texte;
} else {
// Le chargement a échoué
texte_txt.text = "Pb lors de la récupération des données";
}
}

Comment récupérer une matrice de chiffres stockée dans un fichier texte ?
auteur : slim_java
Cet exemple est souvent utilisé dans les jeux vidéo pour la création de la surface du jeu.
Le fichier doit contenir les données sous cette forme: (sur la même ligne pour ne pas gérer les retours de ligne)

texte=1 ,2 ,3 ,4 ,5 ,0 ,1 |0, 0 ,0 ,0, 0 ,0 ,0|0, 0 ,0 ,0 ,0 ,0, 0|0 ,1 ,0, 1, 0, 2 ,0|0, 0, 0 ,0 ,0 ,0, 0|1, 0 ,0 ,0, 0 ,0 ,1|
notre matrice va contenir 6 lignes et 7 colonnes.
texte est la variable à utiliser dans le code actionScript qui peut être fait de cette façon :

var temp:Array = new Array();
var matrice:Array  = new Array();
temp et un premier tableau pour contenir la décomposition de texte suivant le caractére " | "

//pour faire le transfert de variables entre une animation flash et une source externe.
variables = new LoadVars();

// fonction qui se déclenche à la fin du chargement 
variables.onLoad=function()
{
temp = variables.texte.split("|");
 
for(n=0;n<temp.length;n++)
{
// découpage de temp suivant le caractère virgule " , "
 matrice[n] = temp[n].split(",");
}
}

//  chargement de variables à partir du fichier " fichier.txt " et place les variables obtenues dans un objet LoadVars
variables.load("fichier.txt");

Pourquoi mes données, récupérées dynamiquement, ne s'actualisent pas ?
auteur : Grégory Dumas
Il s'agit certainement d'un problème de cache. Pour résoudre ce problème, il suffit d'ajouter une valeur non constante à l'url recherchée.
Vous pouvez, par exemple, lier cette valeur à l'heure actuelle.

Exemple d'un fichier xml:

function noCache():String {
    return "nocache="+(new Date()).getTime();
}
// Usage
var xmlFile:XML = new XML();
xmlFile.load("monFichier.xml?"+noCache());

Comment afficher tous les caractères accentués des données importées?
auteurs : Brice Franzoia, Grégory Dumas
Pour cela, il faut que les données importées dans Flash soient en UTF-08. Cela se traduit de cette manière:
Pour un fichier, celui doit être enregistrer en UTF-8 (Enregistrer sous dans le Bloc-Note Windows par exemple)
Pour une page php, il faut mettre, en début de page :
PHP

UTF8_encode($mavariable);
Pour une page asp:
ASP

Session.Codepage = 65001
Pour une page asp.net:
C#

Response.ContentEncoding = Encoding.UTF8;
VB.NET

Response.ContentEncoding = Encoding.UTF8

Peut-on envoyer un swf dans un email ?
auteurs : Brice Franzoia, Grégory Dumas
Oui, c'est possible, mais c'est trés fortement déconseillé, car pour qu'un swf s'affiche directement dans un mail il est nécessaire que le destinataire ait un niveau de securité bas.
Or par défaut il est moyen, donc il y a trés peu de chance que cela marche !

Par conséquent, nous vous conseillons plutôt de placer votre animation sur une page web et d'insérer un lien vers cette page dans l'email.



Consultez les autres F.A.Q's


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003-2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.