Saisie de texte suivi de calculs et restitution

Résolu
michelborgne Messages postés 10 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 26 mai 2013 - 3 déc. 2010 à 18:36
michelborgne Messages postés 10 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 26 mai 2013 - 4 déc. 2010 à 08:35
Bonjour à tous, et tout d'abord je tiens à m'excuser si je pose une question de débutant, mais je commence à savoir faire plein de choses en animation, mais les variables me posent d'insolubles problèmes... Voilà :

J'ai crée un clip dans lequel je veux saisir des données (zones de texte de saisie), ensuite effectuer des calculs sur ces données, puis afficher les résultats dans des cases de textes dynamiques.

J'ai donc crée des zones de textes (dans lesquelles j'ai mis 0 pour le moment car sinon c'est encore pire...), et dans ce clip j'ai un bouton qui doit déclencher le calcul.

Je précise aussi que je veux entrer une durée (un nombre d'heures et un nombre de minutes, que je veux additionner et transformer en minutes). OUF

problèmes :

1) si je ne met rien dans les zones de texte c'est la cata...
2) l'addition des durées ne marche pas, car 1h + 00mn me donne 6000mn ! (on ajoute les caractères, pas les valeurs)
3) la fenêtre de sortie puiss1 n'indique rien du tout (le zéro d'origine)
4) Si je ne change pas les valeurs et réappuie sur le BP, alors là la fonction trace ma dit que ça craint...

Bref, en gros ça marche pas... Je vous joins le code et le résultat de la trace...

CODE :

this.bp1.onRelease=function(){

puiss1 = puiss1.text
app1 = app1.text
h1 = h1.text
mn1 = mn1.text


temps1 = ((h1*60)+mn1)

if (temps1 > 1440) { // juste pour éviter d'avoir de journées de plus de 24H
temps1 = 1440
}

consom1 = (puiss1*app1*temps1)/60
consom1.text = consom1

trace (puiss1)
trace (app1)
trace (h1)
trace (mn1)
trace (temps1)
trace (consom1)


}

RESULTAT DE TRACE :

5
2
1
00
1440
240
undefined (au deuxième appui sur BP1 sans retoucher aux valeurs)
undefined
undefined
undefined
NaN
NaN

Sans doute que la solution vous est évidente, mais moi je galère vraiment !

Merci de votre aide

6 réponses

michelborgne Messages postés 10 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 26 mai 2013
4 déc. 2010 à 08:35
ça y est (presque)...

J'ai enfin quelque chose de vivant :

remplacé le bouton par un "onEnterFrame=function()"
ajouté des Number devant mes champs de texte (var = Number(textfield.text)
et surtout différencié les noms de variables des noms de champ... (var_1=var1.text)

Merci beaucoup, je vais pouvoir continuer (ce n'était qu'un début)

Bonne journée
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
3 déc. 2010 à 19:22
Bonsoir, il suffit de savoir que dans tes zones de texte, ben tu as ... du texte.
Il te reste à savoir que "1"*25=NaN et que "1"+23="123" et je pense que tu as compris ton soucis ...

Peg'
0
michelborgne Messages postés 10 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 26 mai 2013
3 déc. 2010 à 20:26
Merci, effectivement, je vois pourquoi mon addition ne fonctionne pas, mais ce qui est étonnant, c'est que le calcul que j'effectue plus loin donne un résultat correct, alors qu'il ne s'agit que de texte...

Je comprends mal cette incohérence : ça marche ou ça ne marche pas, mais la géométrie variable ça me perturbe un peu...

Sans compter que la sortie du résultat sur le champ de texte consom1 ne donne rien du tout ! est-ce que toute cela ne vient pas du clip

Décidément, je suis meilleur en animation qu'en AS...
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
3 déc. 2010 à 20:33
la peilleure solution pour éviter les soucis est de faire :

Number(monTexteField.text);

à chaque fois que tu récupères une donnée.

Peg'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michelborgne Messages postés 10 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 26 mai 2013
3 déc. 2010 à 20:56
OK merci, je testerai ça demain, car là j'en ai ma claque (une journée sur ces de variables... Je suis usé)

Bonne soirée, je donnerai des nouvelles demain
0
michelborgne Messages postés 10 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 26 mai 2013
4 déc. 2010 à 08:19
Premier point ok ! Effectivement, je ne connaissais pas Number mais cette fois ça calcule bien ma durée...

Par contre, le champ de sortie ne recopie pas la variable consom1... quoi que je fasse, j'ai toujours un 0... (que j'avais mis par défaut dans le champ...)

Et puis si jamais j'appuie une seconde fois sur le bp, alors là toutes les variables passent en NaN...

J'ai un truc qui ne marche qu'une seule fois et qui ne recopie pas la valeur... Je ne comprends pas car sur un exemple simple que j'ai fait ailleurs :

var1=text1.text
var2=text2.text

var3=var1*var2
sortie.text=var3

ça marche très bien (un clip à 2 images, un stop() sur la première, le calcul sur la deuxième et un bouton qui lance le clip par play() )!

Je ne pensais pas que ce serait si compliqué...
0
Rejoignez-nous