BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
21 févr. 2010 à 02:09
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 2014
-
23 févr. 2010 à 11:18
Bonsoir à toutes et à tous,
j'essaie d'additionner les nombres contenus dans un array (nombres qui sont ajoutés dynamiquement à cet array) via une boucle et d'en afficher le total dans un champ de texte dynamique.
J'ai essayé plusieurs solutions mais jusqu'à présent je ne suis pas parvenu à obtenir le résultat escompté.
Voici mon code :
var TotalCommande:Array = new Array();
somme = 0;
for (var i:Number;i<length(TotalCommande);i++){
somme += TotalCommande[i];
}
monChamp.text = somme;
btn_A.onPress = function(){
TotalCommande.push(50);
trace(somme);
}
btn_B.onPress = function(){
TotalCommande.push(100);
trace(somme);
}
Ce code-ci ne marche pas : mon "trace(somme)" me renvoie systématiquement "0" dans mon panneau sortie.
J'ai essayé en mettant :
for (var i:Number=0;i<length(TotalCommande);i++){
somme += TotalCommande[i];
}
mais en faisant comme ça, mon "trace(somme)" me renvoie "NaN" dans mon panneau sortie, et monChamp.text affiche donc "NaN".
Bref, si jamais quelqu'un a une solution pour m'aider je serai ravi.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 22 févr. 2010 à 09:37
Salut Orange73,
tu es un prince !!! Je viens de tester ton code et ça fonctionne à la perfection :)
J'ai juste supprimé le ":void" sur la 1ère ligne car cela générait une erreur de compilation ("void" c'est en as3, non ?).
Enfin bref, c'est parfait, il ne me reste plus que quelques réglages à faire pour peaufiner mon script mais grâce à toi mon problème pour additionner mes valeurs est réglé.
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 22 févr. 2010 à 23:51
Rebonjour Orange73,
j'ai adapté ton script afin de soustraire la dernière valeur pushée au total des valeurs contenues dans mon array.
Lorsque j'ai 2 valeurs dans mon array, la fonction soustrait bien la 2ème valeur ajoutée, mais lorsque j'ai 3 valeurs, la fonction soustrait les 2 dernières valeurs ajoutées. Je pense que j'ai mal spécifié dans la boucle quelle est la valeur [i] à soustraire de mon array ; à priori la boucle lit le tableau de [0] à [5] par exemple, j'ai donc essayé avec ce code :
function Soustrac(pNum:Number)
{
somme != 0;
for (var i:Number=0;i=TotalCommande.length-1;i++){
somme -= TotalCommande[i];
TotalCommande.pop();
}
trace(somme);
}
J'ai essayé également en inversant les valeurs de mon array dans l'idée de mettre (et donc de soustraire) la dernière valeur à la place de la première :
function Soustrac(pNum:Number)
{
somme != 0;
for (var i:Number=0;i<TotalCommande.length;i++){
TotalCommande.reverse();
somme -= TotalCommande[i];
TotalCommande.reverse();
TotalCommande.pop();
}
trace(somme);
}
mais sans résultat probant.
Existe-t'il donc une instruction permettant de dire :
for (var i:Number=0;i=="la dernière valeur ajoutée au tableau";i++)
Merci,
BBFUNK01
Vous n’avez pas trouvé la réponse que vous recherchez ?
BBFUNK01
Messages postés1310Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention20 juin 20146 23 févr. 2010 à 00:50
Re Orange73,
je viens de tester et ça ne marche pas ; mon ChampText affiche "NaN", j'ai essayé aussi en faisant une fonction avec des conditions en fonction de la dernière valeur pushée, du genre :