begin process at 2012 02 10 08:04:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > CHARGEMENT DE VARIABLES EXTERNES AVEC LOADVARS SIMPLEMENT

CHARGEMENT DE VARIABLES EXTERNES AVEC LOADVARS SIMPLEMENT


 Information sur la source

Note :
Aucune note
Catégorie :ActionScripts Classé sous :variables, chargement, LoadVars, externe, txt Niveau :Débutant Date de création :15/05/2006 Date de mise à jour :03/11/2007 17:17:40 Vu / téléchargé :11 453 / 2 279

Auteur : stefbuet

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (23)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Voila une source simple destiné à comprendre l'utilisation de LoadVars.
Cette source vous montre :
1) dans le fla :
comment charger et afficher des données externes d'un fichier texte, en testant les erreurs possibles et autres...
2) dans le fichier txt join (LoadVars très simplement.txt) :
comment créer un LoadVars le plus simplement possible avec le minimum de code.

Le fla est dispo en deux version :
-Flash CS3 (9)
-Flash 8

Source

  • voir le zip (fla et txt)
  • fla -> étudié plus profondément que dans le txt
voir le zip (fla et txt)
fla -> étudié plus profondément que dans le txt

 Conclusion

Charger des variables depuis un fichier txt est rapide, et peut être très utilise pour pas exemple charger les scores d'un jeux Flash...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

03 novembre 2007 17:17:40 :
Changement complet de la source : -j'ai refait le fla en utilisant proprement LoadVars -plein de commentaires -un fichier txt avec la version courte pour utiliser LoadVars -version flash8/9(cs3) de la source -capture d'ecran

 Sources du même auteur

Source avec Zip Source avec une capture [AS3 - CS4] MOTION BLUR EFFECT
Source avec Zip Source avec une capture ALCHEMY - FRACTALS VIEWER
Source avec Zip Source avec une capture [AS3 - CS4] CLASSE EFFET HDR GLOW
Source avec Zip Source avec une capture SPACE SURVIVOR
Source avec Zip Source avec une capture CLASS MOTEUR PARTICULES ENTIEREMENT PARAMETRABLE SIMPLE A UT...

 Sources de la même categorie

Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar
Source avec Zip Source avec une capture MP3 LAYER NICE &SMALL par yasdar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CONCEPT BROWSER : NAVIGATEUR EN MODE TEXTE par mouloudikhaled
PRELOAD D'IMAGES EXTERNES MUTIPLES par gmni
Source avec Zip Source avec une capture ECHANGE DES DONNÉES ENTRE FLASH & JSP & FICHIER TXT par womar2006
Source avec Zip Source avec une capture DÉFILEMENT D'IMAGE (LOADMOVIE OU LOADCLIP) par josselinbonnin
Source avec Zip Source avec une capture FLASH,TEXTFIELD,CSS,SCROLL par josselinbonnin

Commentaires et avis

Commentaire de romagny13 le 19/05/2006 01:05:37

waii, jai pas compris pk tu mets  le %20
age=17%20ans

Commentaire de bali_balo le 19/05/2006 13:52:51

le %20 c'est pour les espaces dans un attribut

Tu ne peut pas faire par exemple :

age=18 ans&prenom=bali balo


Il faut faire :

age=18%20ans&prenom=bali%20balo....etc...etc



Je verais plus tard la source, la chui au boulot et j'ai que flash MX ^^


bali_balo....=]

Commentaire de lolycatz le 24/05/2006 19:56:00

Salut,
Dis moi, tu pourrais m'aider a faire la meme chose mais avec une combo box contenant un max de dates correspondant à un message : "diponible" ou "déja reservé".
Je t'explique mes parents ont des chambres d'hotes qu'ils louent a la semaine et cela leur serait tres utile pour leur site, la gestion des reponses en .txt aussi compte tenu que ce sont des breles totales en informatiques alors le php j'oublie tout de suite.
Si tu peux m'aider, te casse pas la tete pour les dates mais en juste quelques unes et je completerai, je suis vraiment debutante mais si on me montre l'exemple je pense que je saurais faire...
Merci

Commentaire de lolycatz le 24/05/2006 19:57:00

ps: suis sous flash mx
;o)
thanks

Commentaire de stefbuet le 25/05/2006 16:22:01

j'ai pas trés bien compris ce que tu voulais ? une combo box avec des dates, et quand on clique sur une des dates affichés, sa affiche soit occupé ou soit libre ??

Commentaire de lolycatz le 25/05/2006 17:01:40

yep exactement... desolee j'etais pas tres claire, un peu overdosée de codes sans doute ;o).

imagine que tu veux reserver une location saisonniere et tu veux verifier la disponibilité de tes dates avant de contacter les propriétaire.la location se faisant a la semaine du samedi au samedi, l'utilisateur choisi une semaine (ex : du 27 mai au 3 juin 2006) et un message s'affiche pour dire si le studio est disponible ou deja reserve pour la date en question.

J'avais deja trouvé une source similaire mais en PHP et mes parents sachant a peine faire un copier coller je trouvais cela plus pratique pour eux de mettre les infos sur un fichier texte comme ca ca limite les erreures et c'est updaté en 2 sec.

Seul probleme je n'arrive pas a le faire moi meme alors je cherchais une ame charitable qui veuille bien me montrer... voila tu sais tout! si tu peux m'aider ce serait super cool!

lolycatz

Commentaire de stefbuet le 31/05/2006 08:13:53

je veux bien mais dans ton cas il y a un prob : dans le fichier txt, a chaque fois que tu voudra changer le fichier texte, il ne sufirapas de faire un copier coller, en effet, il ne doit pas y avoir d'espace, les espace sont remplacer par %20.
cela donne :
dispo = bonjour%20les%20apparts%20de%cette%20date%20ne%20sont%20pas%20libre%20pour%20cette%20date%20!!!

il ne faudra pas modifier le premier mot : diso = .

pence tu que tes parent pourons faire cela ? :-)

si oui alors si tu veux je pourrais tla faire :-)

Commentaire de lolycatz le 31/05/2006 12:04:24

Je n'arrive pas à faire marcher le flash là, je ne trouve pas info.txt dans le zip.

Dis, et si tu met les codes comme ça: si tu decoche l'option "mettre les textes au format html" dans les propriétes de la zone de text dynamique, je suis sure que ca pourrait marcher sans avoir a mettre %20 pour les espaces (et eventuellement tu sauve le .txt en UTF8 pour les caracteres accentués).
Essaye pour voir et dis moi si ca marche...

Autre chose tu crois qu'il serait possible de rassembler tous les fichiers text dans 1 seul ce serait plus pratique non... c'etait ce que je voulais faire mais je n'ai pas reussi?

Dis moi ce que tu en penses!!!

Loly

Commentaire de stefbuet le 31/05/2006 14:10:41

oui, il est possible de réunnir les fichiers txt en 1 seul fichier txt, tu doi simpelment mettre :
il suffi juste de rajouter un & entre les variables dans le fichier texte tel que par exemple :
code txt :
&10/04/06 = cet%20Appartement%20n'est%20pas%20disponible%20pour%20le%20moment%20!!%20desolé%20!!&11/04/05 = ce%20appart%20est%20libre%20&11/04/05= ect...%20ect...20

sinon au niveau des espace, je ne sais pas essaye de decoche le trasformer en version html moi j'ai pas tro le temps et di moi ce que tu trouve...

Commentaire de stefbuet le 24/06/2006 23:01:58

oai en fait il suffi d'enregistrer le fichier txt en unicode

Commentaire de stefbuet le 14/11/2007 16:25:02

J'ai refait la source completement afin d'utiliser la class LoadVars, et proprement.

Commentaire de Improve le 27/11/2007 22:31:41

Bien ton source. Bon d'accord que je me suis retrouvé à mes débuts avec 'Mx' quoique j'ai chargé la version CS3. Mais c'est un retour accepté parce que j'avais mis de côté les multiples possibilités de ce genre de chargement des données.txt. Merci.

Commentaire de MAZALEYRAT le 22/01/2008 09:40:35

Bonjour.... je n'arrive pas à ouvrir votre .fla sous MX .... est ce normal ?

Commentaire de MAZALEYRAT le 22/01/2008 09:57:36

Bonjour ! ...apparemment vous maitrisez parfaitement bien la fonction LoadVars... et c'est bien là que réside mon problème du moment. Je butte très certainement sur un tout petit détail mais ça me prend la tête depuis pas mal de temps déjà et je baisse les bras !
En clair : sur la première frame j'utilise la collection d'instructions classiques pour lire un fichier de type .txt, cette lecture se fait dans une fonction.
Sur la deuxième frame, donc en dehors de la fonction, je veux utiliser une des variables lue dans la première frame... et bien impossible, ma variable ne "sort" pas de la fonction.
Mon code :
Frame 1 :

A1 = new LoadVars();
A1.load("http://www.............../monfichier.txt); // Mon fichier texte comprend : &valeur1="toto" & valeur2="zaza"
A1.onLoad = function(success) {
if (success) {
variable1 = A1.valeur1;
variable2 = A1.valeur2;
}
trace(variable1); // et ça affiche toto sans probleme
trace(variable2); // et ça affiche zaza sans probleme
}

Frame 2 :
trace(variable1); // et ça affiche "undefined"
trace(variable2); // et ça affiche "undefined"

En d'autres termes, mes variables ne sont disponibles qu'à l'intérieur de la fonction qui lit le fichier texte.
Mon but : pouvoir utiliser les variables ailleurs .... est ce possible ?

MERCI POUR VOTRE ATTENTION ET VOTRE COLLABORATION !

Commentaire de stefbuet le 22/01/2008 19:19:16

Salut, c'est normal que tu ne puisses pas retrouver tes variable en dehors de la fonction car une variable créé dans un bloc n'est disponible que dans ce bloc, ensuite elle est suprimmée.
Tu peut donc utiliser plusieurs astuces pour acceder à tes variables en dehors de la fonction onLoad :

I) Tu peut les déclarer en global :
_global.variable1=A1.valeur1;
pour l'utiliser par la suite tu devras utiliser tout le temps le prefixe _global :
trace(_global.variable1);

-Tu peut utiliser _root (la racine de l'animation) mais attention cette technique est à double tranchants : Si l'animation qui utilise _root est chargée dans une autre animation, _root n'aura plus la valeur de la racine de l'animation chargée, mais de celle qui la charge...  Si l'animation est seule, tu peux utiliser _root sans problème :
Même chose qu'avec _global, mais avec _root :
_root.variable1=A.valeur1;
trace(_root.variable1);

Pour finir, tu peut appeler une fonction annexe qui se chargera de faire ce que tu veux. Par exemple si tu veux simplement afficher les infos dans la console de l'API de Flash il te suffira de faire :

A1.onLoad=function(sucess) {
if(sucess) {
afficher(A1.variable1, A1.variable2);
}
else {
trace("erreur chargement...");
}
}//fin onLoad

function afficher(var1, var2) {
trace(var1);
trace(va2);
}

Bien sûr, la fonction afficher n'est qu'un exemple. Tu pourrais donc créer une fonction afficherBoutons() qui se chargerait de créer des copies d'un clip pour créer des boutons et leurs attribuer des fonctions en fonction des données du fichier texte...

Mais si tu a besoin des informations tout au long de ton programme, alors tu sera obligé de recourir au _root ou _global sauf si tu utilise la dernière solution que voici :

Une dernière solution : Comme dit plus haut, une variable est disponible dans le bloc ou elle à été déclarée. Tu pourrais donc aussi déclarer tes variables en dehors de la fonction onLoad pour pouvoir y acceder par la suite en dehors de la fonction :

var variable1:String=new String();
var variable2:String=new String();
A1:LoadVars=new LoadVar();
A1.Load("fichier.txt");
A1.onLoad=function(sucess:Boolean):Void {
if(sucess) {
variable1=A1.variable1;
variable2=A1.variable2;
}
else {
trace("erreur chargement...");
}
}//fin onLoad
trace(variable1);
trace(variable2);

Note : les variables variable1 et variable2 sont de type String car les données renvoyés par la class LoadVars sont des String, même si on met dans le fichier txt :
&variable=15
la valeur de A1.variable="15"(String) et non 15 (Number)

Voilà, j'espère avoir répondu à ta question,

Stefbuet

Commentaire de MAZALEYRAT le 23/01/2008 09:02:02

Et bien un grand merci sincère pour toutes ces explications ! ...je vais maintenant essayer de "digérer" tout ça mais suis convaincu d'être sur la bonne piste. Félicitations !
J'aimerai dire "à charge de revanche"... rire, mais là je suis un peu moins certain d'être à la hauteur.

Commentaire de archynet le 08/10/2009 12:20:06

Bonjour j'ai tenté d'utiliser le petit bout de code inscrit dans : LoadVars très simple.txt pour charger du texte simple donc...Ca fonctionne à l'exception que ça me fou des %20 partout dans le texte chargé et en plus ça me met du code à la fin genre : %2E=&onLoad=%5Btype%20Function%5D

Voici ce que j'utilise
chargeur = new LoadVars();
chargeur.load("about.txt");
chargeur.onLoad = function(charge) {
if (charge=!undefined) {
trace("data loaded !");
contener.champ_text.text;
contener.champ_text.htmlText = chargeur;
contener.gotoAndPlay("on");
} else {
trace("error_textload");
}
};

Une idée ?

Commentaire de stefbuet le 08/10/2009 18:06:18

Salut,

regardes du coté de l'encodage du fichier txt pour le problème des %20.
Pour ce qui est du code à la fin, ça me fait penser à des variables envoyées par Flash lorsqu'il charge une page avec une requête GET et non POST. Ne faisant plus d'AS2 je ne pourra pas trop t'éclaircir sur ce point.
PS : tu utilises bien de l'AS2?

Stef.

Commentaire de archynet le 10/10/2009 10:56:08

Merci de ta réponse, j'ai tout essayé et j'avais lancé un autre post ici : http://www.flashkod.com/forum/sujet-PROBLEME-LOADVAR-20-VIA-FICHIER-TXT_1363660.aspx#6

J'ai même téléchargé PSpad spécialement pour re-encoder mes fichiers txt. J'y ai cru, mais rien à faire. J'utilise effectivement de l'as2 j'ai beau changer la version du player rien n'y fait. Je pense que ça viens de la variable puis que j'ai du code qui apparait, ça m'aiderai au moins de savoir si ce code fonctionne chez vous si quelqu'un peu l'essayer.

Si ya une version relativement simple et compréhensive en AS3 j'suis preneur, j'ai tenté de m'y mettre mais c'est vraiment un autre monde pour le moment j'trouve.

Du coup j'ai opté passagèrement pour la version Flash6 AS1 avec un vieux loadVariableNum("","") Bon ça a l'avantage de fonctionner.

Voilà merci pour l'aide en tout cas.

archy

Commentaire de stefbuet le 10/10/2009 12:47:51

Pour ce qui est de l'AS3:

import flash.net.*;
import flash.events.Event;

var loader:URLLoader=new URLLoader();
var url:ULRequest=new URLRequest("about.txt");
url.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
loader.load(url);

function onLoaded(e:Event):void {

trace(e.target.data);
//affiche ton fichier txt en console de sortie

}

Commentaire de stefbuet le 10/10/2009 12:50:10

Juste : je me suis trompé pour la ligne de l'écouteur d'évènement, c'est loader.addEventListener(...) et pas url.contentLoaderInfo.addEventListener(...) (double faute : j'ai tapé url par inattention au lieu de loader + j'ai confondus Loader et URLLoader :D )

Voila ;)

Commentaire de archynet le 10/10/2009 19:27:34

Salut Stef,

Merci pour l'aide, ça m'a aidé à m'y mettre, du coup j'ai regardé les sources par ci par là car je captais pas trop ou tu t'étais gourré, j'suis arrivé à un exemple qui semble "pro" mais qui fonctionne pas du tout.

La raison essentielle est qu'il semblerait que cette méthode ne fonctionne que pour les bitmap, en fait il me donne la même erreur que si je tentais de charger un pdf :

[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2124: Le type du fichier chargé est inconnu. URL: file:///C|/SITE/HKStudio/about.txt"]

Voici mon code, j'ai l'impression qu'il me faut une autre méthode pour charger du simple txt.

import flash.net.*;
import flash.events.Event;

// création du chargeur
var chargeur:Loader = new Loader();
// référence à l'objet LoaderInfo
var cli:LoaderInfo = chargeur.contentLoaderInfo;
// écoute des événements liés au chargement
cli.addEventListener( Event.OPEN, debutChargement );
cli.addEventListener( Event.INIT, initialisation );
cli.addEventListener( ProgressEvent.PROGRESS, chargement );
cli.addEventListener( Event.COMPLETE, chargementTermine );
cli.addEventListener( IOErrorEvent.IO_ERROR, echecChargement );
cli.addEventListener( HTTPStatusEvent.HTTP_STATUS, echecHTTP );
cli.addEventListener( Event.UNLOAD, suppressionContenu );
// url à atteindre
var maRequete:URLRequest = new URLRequest("about.txt");
//var maRequete:URLRequest = new URLRequest("http://www.reekoch.org/hkagency/about.txt");

// chargement du contenu
chargeur.load(maRequete);

function contenuCharge( pEvt:Event ):void {
trace( pEvt );
}
// ajout à la liste d'affichage
addChild( chargeur );
function debutChargement( pEvt:Event ):void {
// affiche : [Event type="open" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}
function initialisation( pEvt:Event ):void {
// affiche : [Event type="init" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}
function chargement( pEvt:ProgressEvent ):void {
// affiche : [ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=5696]
trace( pEvt );
}
function chargementTermine( pEvt:Event ):void {
// affiche : [Event type="complete" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}
function echecChargement( pEvt:IOErrorEvent ):void {

trace( pEvt );
}
function echecHTTP( pEvt:HTTPStatusEvent ):void {
trace( pEvt );
}
function suppressionContenu( pEvt:Event ):void {
// affiche : [Event type="unload" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}

Commentaire de stefbuet le 10/10/2009 21:30:07

Tu dis n'importe quoi.
Déjà je n'ai pas fait d'erreur. Ensuite tu viens de poster un code complètement HS : J'ai dis dans mon message précèdent que Loader et URLLoader étaient bien différents. Tu viens d'utiliser Loader qui est un élément graphique permettant de charger des swf, images et de les afficher à l'écran... J'ai utilisé, et c'est ce que tu dois faire, un objet URLLoader, qui te permet de charger du contenu sous forme de texte, variables, ou binaire via des BytesArrays, dans ton cas c'est le mode texte (par Default) dont tu a besoin.

Stef.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

chargement de variables aléatoires [ par ftsdesign ] Bonjour, c?est re-moi !De mon esprit torturé est sortit une nouvelle question.Et là, j?hésite pas à la poser, vu que le thème du "digicode" (brillamme plusieurs vars dans un txt externe ? [ par BlackEagle ] salut,je voudrais savoir s'il est possible de mettre plusieurs variables dans un même fichier texte externe pour éviter d'en charger plusieurs à chaqu pb de scrollpane /LoadVars-php [ par TrX ] Bonjour Mes variables sont bien affichées hors du srollpane mais quand je fait la relation, le trace les variables répond mais le scrollpane Problème chargement texte externe dans un LoadMovie chargé [ par pit128 ] Bonjour,J'ai un PB avec le chargement d'un texte dynamique:J'ai un bouton dans mon Movie principal qui fait appel à un fichier (NEWS.SWF) chargé dans Variables dans un txt et CSS ? [ par vidol ] Est il possible de gerer le CSS dans un txt appellé dans une animation ? Si oui comment SVP ? Merci d'avance chargement de fichier externe [ par lexxo1000 ] un petit soucis de debutant. J' aimerais charger un fichier.jpg externe au demarrage d' une page.J' ai créé une ocurrence(1a) pour receptio chargement de variables php [ par BananaTree ] salutest_ce que qqn sait comment je peux forcer ce code à aller cercher les variables à l'url - monDossier/maPage.php - ?NumLow = 0;NumHigh = 10;load Probleme de chargement de variables [ par mendototo ] Salut J'ai un probleme avec la fonction loadVariablesNum.voici mon code, tres simple. le retour du trace donne "Undefined", pourquoi ??Code: loadVari texte externe dans un MC [ par frelon1977 ] je veut loader un fichier .txt dans un movieClip de mon swf, normalement j'écrirais loadVariablesNum("news.txt", 0) mais cela fonctionne seulement qua problème avec le chargement de variables à partir d'un fichier... [ par ForgetTheNorm ] Bon, je vous préviens, ça n'est pas simple.J'aimerais qu'un fichier flash (fichierflash.swf) aille chercher toutes les secondes dans un fichier txt (v


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,401 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales