Copier le contenu d'un champ de texte variable dans un autre champ de texte vari

Signaler
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
-
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
-
Bonjour tout le monde,

voilà le souci sur lequel je bute depuis quelques jours :
j'ai un player mp3 dont l'interface contient un champ "title" qui indique le titre du morceau joué. Dans les propriétés, dans la case variable, j'ai donc nommé mon champ "title".
J'ai ensuite un clip formulaire qui est chargé sur la scène avec AttachMovie, ce formulaire contient un champ de texte dynamique dont la case variable dans le panneau propriétés est nommée "morceau".
Donc ce que j'aimerais arriver à faire, c'est copier le contenu du champ de texte "title" dans le le champ de texte "morceau", en appuyant sur un bouton.
Je précise que mes 2 champs de texte sont des champs de texte dynamique, et n'ont pas de nom d'occurrence, mais sont seulement nommés comme variable.

J'ai essayé plusieurs scripts trouvés à droite et à gauche, du type :

title = songInfo[songNum].title;{
morceau = "";
btn_morceau.onPress = function(){
function copierColler(title, morceau) {
    			morceau.value = title.value;
}
}


...mais aucun jusque là n'a fonctionné.

Si quelqu'un connaît le script magique, je suis preneur.

Merci à tous,

BBFUNK01

11 réponses

Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

Bonjour,
Il vaut mieux donner des noms à tes champs de textes et bien cibler les champs de texte et faire:

formulaire.champMorceau.text = songInfo.title.text;




Pi'ère2
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Salut Pi'ère2,

merci pour cette réponse des plus rapides !
Le problème c'est que j'ai modifié le player mp3 que j'utilise en rajoutant un coverflow qui permet lorsqu'on clique sur des images, de charger une playlist différente.
Le souci c'est que si je définis un nom d'occurrence pour mon champ "title", ça m'affiche "undefined" sur le player lorsqu'un morceau est joué.
Je viens d'essayer un autre script pour "transférer" ma variable "title" dans mn champ "morceau" :
title = songInfo[songNum].title;{
morceau = "";
btn_morceau.onPress = function(){
morceau = "titre 1 :" add title;
}
}


...mais encore choux blanc.

Tu ne sais pas s'il existe une méthode pour copier le contenu d'un champ dans un autre en ne leur donnant pas de nom d'occurence ?

Merci,

BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Re Pi'ère2,

je viens de tester ta méthode, et je pense que c'est probablement la bonne car il y a du mieux dans le résultat. Le problème c'est que comme mon clip "formulaire" est charé par AttachMovie, il n'a pas de nom d'occurence, aussi j'ai fait comme ça :
title = songInfo[songNum].title;{
this._parent.morceau.text = morceau;
morceau = "";
btn_morceau.onPress = function(){
this._parent.morceau.text = songInfo.title.text;
}
}

et là, j'ai ce texte qui s'affiche dans le champ où je devrais avoir la copie "title" : "_level0.morceau.morceau".

Est-ce que je me suis planté dans le "chemin" de mes instructions ?

BBFUNK01
Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

A la limite tu peux récupérer la variable title pour faire;
formulaire.champMorceau.text = title.
Il faut simplement bien cibler les clips.
Admettons qu'ils soient tous les deux dans la scène et que tu fasse un clic sur un bouton du clip 'player'.
Dans ce cas il faut écrire:
th2 = this._parent;//la scène
btn_morceau.onPress = function(){
th2.formulaire.champMorceau.text = title;
}



Pi'ère2
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
En fait mon bouton "btn_morceau" est dans mon clip "formulaire", dnc si je comprend bien la méthode, il faudrait que je fasse :
title = songInfo[songNum].title;{
this._parent.formulaire.morceau.text = morceau;
morceau = "";
this._parent.formulaire.btn_morceau.onPress = function(){
this._parent.formulaire.morceau.text = title;
}
}


Et-ce que j'ai bon d'après toi ?

BBFUNK01
Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

Si ton clip formulaire est appelé par attachMovie il a forcément un nom ou alors tu as oublié quelque chose.
Je ne sais pas dans quoi tu fais l'action attachMovie mais la méthode est toujours la même.
th=this;//par exemple
th.attachMovie("formulaire", "formulaire", 10);
//("formulaire"(=le nom du clip dans la bibliothèque), "formulaire"(le nouveau nom qui peut être ce que tu veux et c'est ce nom que tu utilise dans ton script, 10(le niveau du chargement du mc "formulaire"(n'importe quel nombre jusqu'à 10000 je crois)

Pi'ère2
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Oui, j'ai bien fait comme ça :
th.attachMovie("formulaire", "IDformulaire", 10);
Mais j'ai toujours ce message "_level0.morceau.morceau" qui apparait, c'est dû à la profondeur des clips ?

BBFUNK01
Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

title = songInfo[songNum].title;{
this._parent.formulaire.btn_morceau.onPress = function(){
this._parent.formulaire.morceau.text = title;
}
}



Pi'ère2
Messages postés
235
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 mai 2013

A force je m'embrouille.

title = songInfo[songNum].title;

dans ce code:
this._parent.formulaire.btn_morceau.onPress = function(){
this._parent.formulaire.morceau.text = title;//this cible formulaire.btn_morceau et non le parent du player mp3
}

il faut absolument écrire:
th2 = this._parent;
th2._parent.formulaire.btn_morceau.onPress = function(){
th2._parent.formulaire.morceau.text = title;
}




Pi'ère2
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Re pi'ère2,

je t'avoue que moi aussi je m'embrouille...

J'ai donc testé comme ceci :
title = songInfo[songNum].title;{
th2 = this._parent;
th2._parent.formulaire.btn_morceau.onPress = function(){
th2._parent.formulaire.morceau.text = title;
trace(th2._parent.formulaire.morceau.text);
}
}


Pour cet essai, mon champ de texte "morceau" a un nom d'occurrence "morceau" et un nom de variable "com1", mon champ "title" a juste un nom de variable "title".
Lorsque je teste mon trace ne m'affiche rien de le panneau sortie.

J'ai essayé aussi comme ça :

j'ai toujours le nom d'occurrence "morceau" et le nom de variable "com1" pour mon champ "morceau", et j'ai toujours mon nom de variable "title" et pas de nom d'occurrence pour mon champ "title", et voici le script que j'ai rédigé :
title = songInfo[songNum].title;{
this._parent.formulaire.morceau.text = com1;
this._parent.formulaire.btn_morceau.onPress = function(){
com1 = title;
trace(com1);
trace(this._parent.formulaire.morceau.text);
}
}


Avec ce code mon trace dans le panneau de sortie m'indique :
le nom du morceau qui est joué // pour "com1"
undefined // pour "this._parent.formulaire.morceau.text"

et évidemment mon champ de texte "morceau" reste vierge.

Je ne comprend pas trop, si mon trace(this._parent.formulaire.morceau.text) renvoie "undefined" dans le panneau sortie, le champ "morceau" devrait théoriquement afficher "undefined" lui aussi, non ?

BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Ca y est j'ai trouvé !!!

j'ai fait :
title = songInfo[songNum].title;{
this._parent.formulaire.morceau.text = com1;
this._parent.formulaire.btn_morceau.onPress = function(){
com1 = title;
trace(com1);
trace(this._parent.formulaire.morceau.text);
}
}


Et ça marche !!!

Merci beaucoup de m'avoir mis sur la voie avec tes indications, ça fonctionne nickel.

Un grand merci pour avoir donner de ton temps pour m'aider.

Bonne fin de soirée,

BBFUNK01