Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
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 30/07/2007, 11h21   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 5
Points : 0
Points : 0
Par défaut loadVars dans chaine

bonjour,

je voudrais récupérer le contenu d'un fichier texte externe dans une chaine. Je pars de ça :

Code :
1
2
3
4
5
6
7
8
9
10
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function (src:String):Void {
    if (src != undefined) {
        my_txt = src;
		//trace(my_txt);
    } else {
        my_txt = "Unable to load external file.";
    }
}
lorem_lv.load("http://www.helpexamples.com/flash/lorem.txt");
Mon problème est que je suis limité par la portée de la fonction. J'ai besoin de récupérer ma chaine en dehors de cette fonction. Si quelqu'un peut m'aider...
plinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 12h24   #2
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Lut,

Citation:
Mon problème est que je suis limité par la portée de la fonction.
de quelle fonction parle-tu ??

apparement tu arrive a recuperer ton texte, mais aprés je vois pas bien le pb ..
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 13h18   #3
Invité de passage
 
Inscription : juillet 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 5
Points : 0
Points : 0
Je ne sais pas comment appeler la fonction ou coller la chaine dans une variable en dehors de la fonction. my_txt est undefined en dehors de la fonction. (Dans l'exemple ci-dessus, si je déplace le trace(my_txt); à la dernière ligne, j'ai undefined)

Je vois bien que c'est un pb basique mais je découvre AS et j'ai du mal. Dans l'aide de flash on a plusieurs ex qui montrent comment récupérer un text externe pour l'afficher dans un textField. Moi je voudrais récupérer ce texte et le coller dans une variable de type chaine pour pouvoir faire des traitements sur cette chaine.
plinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 14h08   #4
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Lut,

tu doit definir ta variable texte en dehors de cette fonction pour ten servir partout ensuite.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var loadedText:String;
 
loadedText = getStringFromTextFile("http://www.helpexamples.com/flash/lorem.txt");
 
function getStringFromTextFile(String EntireFileName):String
{
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function (src:String):Void {
if (src != undefined) {
my_txt = src;
//trace(my_txt);
} else {
my_txt = "Unable to load external file.";
}
}
lorem_lv.load(EntireFileName);
}
;)
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 18h00   #5
Invité de passage
 
Inscription : juillet 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 5
Points : 0
Points : 0
Désolé, ça ne fonctionne pas.

Un petit pb de syntaxe avec l'appel de la fonction getStringFromTextFile(), corrigé ainsi :

var loadedText:String;

loadedText = getStringFromTextFile("http://www.helpexamples.com/flash/lorem.txt");

function getStringFromTextFile(EntireFileName:String)
{
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function (src:String):Void {
if (src != undefined) {
my_txt = src;
//trace(my_txt);
} else {
my_txt = "Unable to load external file.";
}
}
lorem_lv.load(EntireFileName);
}
trace(loadedText);

mais après, loadedText reste undefined
plinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 18h30   #6
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
re,

scuz chui allé trop vite pitite correction:
( la fct ne retournai rien :P )
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
var loadedText:String;
 
loadedText = getStringFromTextFile("http://www.helpexamples.com/flash/lorem.txt");
 
function getStringFromTextFile(String EntireFileName):String
{
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function (src:String):Void {
  if (src != undefined) 
  {
    return src;
  }else{
    return "Unable to load external file.";
  }
}
lorem_lv.load(EntireFileName);
}
voilou ;)
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 18h43   #7
Invité de passage
 
Inscription : juillet 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 5
Points : 0
Points : 0
oui, mais non en fait. Je suis dans Flash 8 pro. Si je copie/colle exactement ton code, j'obtens ça :

**Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 5 : ')' ou ',' attendu
function getStringFromTextFile(String EntireFileName):String

Total des erreurs ActionScript : 1 Erreurs signalées : 1

Donc je change la ligne 5 en ça :

function getStringFromTextFile(EntireFileName:String)

là, plus d'erreur, mais un trace de loadedText donne tjs undefined.

c relou l'AS...
plinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 19h15   #8
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Citation:
c relou l'AS...
c'est toi ké relou .. :P

jtai mi tout ça au clair dans un .fla (tu peux test en local)

bonne continuation ;)
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 19h39   #9
Invité de passage
 
Inscription : juillet 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 5
Points : 0
Points : 0
Ok, Mr Relou speaking. Bon, je reconnais que ton code marche, cela dit je ne comprends pas pourquoi il faut rpartir le script sur deux images clés. Mais bon. Merci qd même.
plinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 22h32   #10
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Citation:
pourquoi il faut rpartir le script sur deux images clés
c'etait juste pour te montrer que la variable etait utilisable en dehors de la fonction comme tu demandais ..

kan meme

bye a+
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h45.


 
 
 
 
Partenaires

Hébergement Web