[AS3] Récup et modif de données provenant d'une zone de saisie

vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010 - 15 mars 2010 à 22:45
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 16 mars 2010 à 00:21
Bonjour,
Débutant en AS3, je comprend a peu près comment ça fonctionne mais j'apprends vite...
Seulement, j'ai un 'tit souci dans mon code :

le but final est de récupérer une date de naissance tapé comme ceci jjmmaaaa (ex : 21091990)
et de lui rajouter des caractères de séparation comme ceci : 21-09-1990

Pour ça, j'ai fait 3 objets sur la scène :
une zone de saisie, d'occurrence "maSaisie"
une zone d'affichage pour le résultat, d'occurrence "monAffich"
et un bouton, d'occurrence "bouton"

l'idée, c'est que la personne entre sa date de naissance brute et qu'il la voit affichée avec les séparateurs "-" après avoir cliqué sur le bouton.

mon idée de code est celle-ci mais ça ne fonctionne pas très bien
(ce code est blindé de "trace" ... c'est normal, c'est pour le controle.. et oui, j'ai du mal :-D )


// mon événement "rafraich" sur le "bouton"
bouton.addEventListener(MouseEvent.CLICK,rafraich);

var maSaisie:String;

//def de la fonction "rafraich"
function rafraich(evt:Event){
trace (maSaisie); // visiblement, le problème est là, puisque il ne devrait pas sortir "[object TextField]" mais la date brute
// extraction de "p1" de maSaisie
var pUn:String = maSaisie.substr(0,2);
trace ("mon pUn : " + pUn);
// extraction de "p2" de maSaisie
var pDeux:String = maSaisie.substr(2,2);
trace ("mon pDeux : " + pDeux);
// extraction de "p3" de maSaisie
var pTrois:String = maSaisie.substr(4,4);
trace ("mon pTrois : " + pTrois);
// définition du séparateur
var sep:String = "-";
trace (sep);
// définition de "maSaisieModif"
var maSaisieModif:String = pUn + sep + pDeux + sep + pTrois;
trace (maSaisieModif);
// affichage de "maSaisieModif" par "monAffich"
var monAffich = maSaisieModif;
}



Si quelqu'un peut m'aider, ce serait vraiment cool :-)
Je débute en AS3, et bah... c'est vraiment pas évident ^^

4 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
15 mars 2010 à 23:01
Bonsoir,

Il y a des trucs que je n'ai pas compris :
- tu as un TextField "maSaisie" placé sur la scène,
- tu as une variable de type String "maSaisie" dans le code.

La déclaration de variable en code est "volatile" et donc inutile, sachant que le textfield est placé "en dur" sur l'animation.

Ensuite, tu traces un Objet de classe TextField, il est donc normal que tu obtiennes [object TextField] en sortie.

Pour obtenir le contenu affiché sur un Textfield, il faut cibler la propriété TextField.text;

Peg'
0
vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010
15 mars 2010 à 23:35
Merci pour ta réponse :-)

Je viens de comprendre le doublon "maSaisie".
J'ai supprimé ma ligne de code inutile.

J'ai bien compris le mécanisme de sélection du text dans le textfield,
mais j'ai pas compris comment je peux cibler la propriété TextField.text en fait
0
vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010
15 mars 2010 à 23:56
ok, c'est bon, en fouinant, j'ai compris le problème et je l'ai résolu :-D

Merci pegase31 pour le coup de pouce.
Ça fait vraiment plaisir de surmonter ce genre de problème avec une petite aide ;-)
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
16 mars 2010 à 00:21
Pas de soucis, mais pour apprendre plus vite, tu devrais aller faire un tour dans Guide de référence du langage et des composants ActionScript 3.0.

Bon courage à toi

Peg'
0