Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > Dynamique
Dynamique Flash Media Server / Flash Remoting
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/04/2006, 18h05   #1
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Par défaut [FLASH MX] Manipulation de fichier

Bonjour, c'est encore moi ^^

Après mon problème dans mon précédent post, je voudrais savoir s'il est possible de faire de la manipulation de fichier en flash. Si oui comment?
En fait, j'ai surtout besoin de la lecture d'un fichier et faire un traitement pour séparer les données qui sont dans mon fichier .txt Je suppose que c'est possible en Flash uniquement
Merci
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 18h45   #2
Membre Expert
 
Avatar de Demco
 
Inscription : mai 2002
Messages : 1 396
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2002
Messages : 1 396
Points : 1 411
Points : 1 411
trouvé sur le net :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Objet LoadVars
var lv = new LoadVars();
// Evenement onData
// le paramètre 'src' contient
// le contenu du fichier "loadé"
lv.onData = function (src) {
   var nlPos;
   // Supprime les retours chariot (\r)
   // pour ne laisser que les retours à la ligne
   while ((nlPos=src.indexOf("\r")) >= 0) {
      src = src.slice(0, nlPos) + src.slice(nlPos+1);
   }
   // On met le contenu du fichier dans la
   // zone de texte
   trace(src);
}
 
// Chargement du fichier
lv.load("minfic.txt");
En espérant que ça t'aide.
__________________
J'aime les gâteaux.
Demco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2006, 18h48   #3
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 108
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 108
Points : 32
Points : 32
pareil que demco....
par contre s'il faut réécrire après flash ne peux pas le faire.... Regarde du coté de ZINC.Bon courage
smedini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 08h21   #4
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Tiens mon dernier post ne s'est pas affiché on dirait ...
Bah je disais que la lecture d'un fichier me suffisait en fait
Par contre, faudrait que j'arrive à faire le traitement d'une chaine en flash car mes données sont séparées par des µ. je vais regarder ca

Merci pour les réponses
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 08h30   #5
Membre Expert
 
Avatar de Demco
 
Inscription : mai 2002
Messages : 1 396
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2002
Messages : 1 396
Points : 1 411
Points : 1 411
Pour le traitement de ta chaine interesses-toi a la methode split() de l'objet String. Cette methode existe dans bon nombre de langages et rend bien des services.

En esperant que ca t'aide.
__________________
J'aime les gâteaux.
Demco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 11h43   #6
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
monLoadVars = new LoadVars();
monLoadVars.load( "test.txt");
monLoadVars.onData = function (src) {
   var nlPos;
   // Supprime les retours chariot (\r)
   // pour ne laisser que les retours à la ligne
   while ((nlPos=src.indexOf("\r")) >= 0) {
      src = src.slice(0, nlPos) + src.slice(nlPos+1);
   }
   // On met le contenu du fichier dans la
   // zone de texte
   trace(src);
}
 
 
this.my_txt = src;
Ca fonctionne pas... En sachant que j'ai créé un input dynamic text qui s'appelle my_txt
Plusieurs question sur ce petit script :
1) la méthode trace affiche le résultat ou ?
2) Les résultats sont bien dans src?
3) le fichier test.txt est en local et il y est juste écris ok. Ce que je vois afficher en lancant le swf c'est "undefined" dans la zone de texte.

Merci je vais continuer à regarder mais bon si je pouvais aller plus vite...

mm... j'ai essayé de mettre le fichier sur le site et j'ai donc fait :
Code :
1
2
3
4
5
6
7
 
 monLoadVars = new LoadVars();
 monLoadVars.load( url);
 monLoadVars.onData = function (src) {
  trace(src);
}
this.my_txt = src;
Qd je lance , le navigateur ne m affiche pas "ok" dans la zone de texte... mis à part m'écrire "undefined" dans ma zone de texte. J'en déduis donc que le fichier n'est pas lu Help !!
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 16h38   #7
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Grrr je suis en train de devenir fou avec qq chose de simple ...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
myVars = new LoadVars();
myVars.onLoad = function(success:Boolean)
{
    if(success)
    {
        this.my_txt.text=ok;
    }
    else
    {
        trace("Error loading page");
    }
}
myVars.load(myurl);
Dans le fichier quej e veux lire, j'ai juste ok=5... J'aimerai bien soit afficher ok=5 dans mon text box soit 5... Comme je ne sias faire aucun des 2...

Merci
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 08h05   #8
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
( C'est assez urgent qd même donc si quelqu'un peut me dire pourquoi ca marche pas
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 08h34   #9
Membre Expert
 
Avatar de Demco
 
Inscription : mai 2002
Messages : 1 396
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2002
Messages : 1 396
Points : 1 411
Points : 1 411
Essaies:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
myVars = new LoadVars();
var monInstance = this;
myVars.onLoad = function(success:Boolean)
{
    if(success)
    {
        trace("success - ok = "+monInstance.ok);
        monInstance.my_txt.text=monInstance.ok;
    }
    else
    {
        trace("Error loading page");
    }
}
myVars.load(myurl);
La fonction trace dans MX affiche des chaines de caracteres dans une petite fenetre qui s'ouvre lorsque tu lance ton application depuis Flash MX. Elle ne s'ouvre que si la fonction trace est solicitee.

En esperant t'aider.
__________________
J'aime les gâteaux.
Demco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 15h43   #10
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Ca a pas l'air de marcher top ...

Le prob, c'est que le trace marche pas je ne sais pas pq :s La fenetre output est vide alors que ds les publish settings, j'ai bien décoché la case pour "omit trace action"...

Bon ... plusieurs questions concernant la lecture de fichier :
1) Sous quel format doit etre le fichier txt?
les variables doivent être séparés par des & si j'ai bien compris?
Même le 1e? c'est à dire &variable1=1&variable2=1&... ou variable1=1&variable2=2&...
2) qd je dessine le dynamic text, il y a deux valeurs à mettre :
le nom et la variable
En flash si j'ai mon dynamic text qui s'appelle my_txt, je peux écrire dans le cadre en faisant this.mytxt = ...
Si je décide d'un nom de variable, par exemple ok, si je fais this.ok = ... ca affichera aussi dans le cadre my_txt.
Je me trompe?
3) J'ai cru comprendre qu il fallait agir de "paire". C'est à dire que si j'attribue une variable ok à my_txt, je dois mettre dans le fichier ok=1 par exemple sinon ca marche pas... Si je mets pas de nom de variables à my_txt ca marche pas alors? (c'est qu un détail pour la compréhension)

Voila Dites moi si je fais une erreur qq part...

Merci
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 15h48   #11
Membre Expert
 
Avatar de Demco
 
Inscription : mai 2002
Messages : 1 396
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2002
Messages : 1 396
Points : 1 411
Points : 1 411
Citation:
Envoyé par trihanhcie
1) Sous quel format doit etre le fichier txt?
les variables doivent être séparés par des & si j'ai bien compris?
Ok, tu n'avais pas specifie qu'il s'agissait d'un fichier de variables.
http://flash.developpez.com/faq/?rechercher=fichier

Tu as un exemple a telecharger dans l'article de la FAQ consacre a ce type de fichiers.

Pour tes deux autres questions, pourquoi ne pas tester tout simplement ? Cela prend 2mn, efficace et rapide.
2) Tu ne semble pas te tromper
3) beh si ya pas de variables ok, la zone de texte ne prend aucune valeur. Je ne comprends pas vraiment la question. Ca affichera peut etre undefined, a tester.

En esperant que ca t'aide.
__________________
J'aime les gâteaux.
Demco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2006, 16h04   #12
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Bah en fait... pour le fichier en gros voila ce qui arrive :
Je récupère le résultat d'un moteur de recherche
Ce que je faisais avt : je passais directement les résultats en paramètre du flash dans l'url. (...flash.swf?variable1=1&...)
Ca fonctionnait mais problème de longueur de l'url...

Donc la je récupère les données et je vais les écrire dans un fichier texte. Je formate un peu les données comme je veux dans le fichier texte... c'est à dire que ca peut etre tout aussi bien de la forme variable1=1 ... que de la forme 1;2;3...

De toute manière ca change pas gd chose pour après si? C'est juste au niveau du traitement de la chaine que ca change apres non?...
C'est à dire que d'une part, je devrai formater le fichier sous la forme variable=... &...&... et de l'autre juste toutes les valeurs avec un séparateur? Si c'est ca, qu'est ce qui est le mieux entre les 2 manières?

Merci

PS : ca marche avec Loadvariables Merci pour tout Demco
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 15h31   #13
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Hello encore

Bon ... Petit problème .. enfin j'espère

Code :
1
2
3
4
5
6
stop();
loadVariables("tmp.txt","");
var test = Titre1;
this.test= test;
 
}
J'ai une frame où il y a 2 cadres (my_txt et my_txt1)
my_txt a pour variable test et my_txt1 a pour variable Titre1

Dans mon fichier tmp.txt; j'ai Titre1=...&Titre2=...

Ce que je voudrais faire c'est d'abord récupérer la variable Titre1 en Flash... C'est à dire une variable qui n'existe pas encore... Je fais ca comment? C'est qq chose comme test = Titre1 ou il faut faire autrement?
Merci


PS : Par contre ca marche bien si je change le nom de variable de my_txt en Titre1 mais ce n'est pas ce que je veux ...j'aurais besoin de stocker les variables récupérés d'un fichier... Comment faire?
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 16h47   #14
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
je n'ai rien dit ca a l'air d'etre mon flash qui est buggé...
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2006, 17h33   #15
Membre confirmé
 
Inscription : février 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 493
Points : 206
Points : 206
Mmm...

Comprends pas la ...
Plusieurs problèmes:
1) dans mon animation flash, j'ai un movie clip qui s'appelle url1

Code :
1
2
3
4
 
url1.onPress = function (){
  getURL(LienEspot1,"_blank");
}
Pendant toute l'animation, je voudrais qu'en cliquant vers le movieclip, j'arrive à l'url LienEspot1
Le problème ... c'est que le lien ne fonctionne qu une fois... en sachant que je fais tourner mon clip en boucle...

2) Pour mon animation, j'ai en fait mon movieclip url1 qui sera toujours affiché. Ensuite, une petite animation fera apparaître ou disparaître contenant d'autres résultats. J'ai donc du faire un symbol contenant 3 symbole de type url (appelé url2,3,4) et animé ce symbol la. Le problème en faisant ca, c'est que je ne pouvais plus faire un lien pour chacun des url mais 1 lien général pour le movieclip...

Ce que j'ai donc fait : A la fin de l'animation, j'ai mis une frame ou chacun des movie clips url étaient séparés.

Code :
1
2
3
4
5
6
7
8
9
10
11
 
stop();
url2.onPress = function (){
  getURL(LienEspot1,"_blank");
}
url3.onPress = function (){
  getURL(LienEspot1,"_blank");
}
url4.onPress = function (){
  getURL(LienEspot1,"_blank");
}
Si je sépare la frame et que je le mets ds 1 nouveau fla, ca fonctionne... dès que j'essaie de l'intégrer comme derniere frame de mon animation... ca fonctionne pas. les movieclip url ne font pas le lien... Je peux parcourir les différents champs du movie clip comme si c'était un simple dynamic text... pourtant... c'est bien un movie clip... Quelqu'un a une idée?

3) Le temps que mon fichier soit lu, mon flash m'affiche n'importe quoi... ca peut se changer? enfin plutot il m'affiche le "lvl0...."
trihanhcie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h25.


 
 
 
 
Partenaires

Hébergement Web