Calculs dans Flash

Th3L0rD01 Messages postés 1 Date d'inscription jeudi 27 janvier 2011 Statut Membre Dernière intervention 7 février 2011 - 7 févr. 2011 à 14:58
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 - 14 févr. 2011 à 21:22
Bonjour à tous !!

Je fais appel à vos connaissances afin d'obtenir de l'aide pour mon problème. Je suis présentement à me concevoir un site en flash. Je n'ai jamais fais de flash auparavant mais je suis tout de même parvenu, après beaucoup de recherches et lecture, à le compléter à environ 90%. Mon problème est le suivant :
Je veux intégrer un tableau dans lequel certains calculs seront fait automatiquement. Voici ce fameux tableau :


Les champs a à j sont des champs d'entrée de texte (input) et de k à w sont des champs textes dynamique.

Ce que j'aimerais faire :
1: Définir le type d'entrée permise pour chacun des champs, c'est à dire :
- a, b et j = champs numérique qui accepte les nombres entier compris entre 1 et 100000
- c et d = champs numérique au format monétaire (00000.00 $)qui accepte des entrées entre 0.01 $ et 99 999.99 $
- e et f = champs numérique à 2 décimales (0000.00) acceptant les nombres entre 0.01 et 9999.99
- g = champ numérique à 2 décimales acceptant les nombres entre 0 et 24
- h et i = champs numérique au format monétaire (0000.00 $)qui accepte des entrées entre 0.01 $ et 9 999.99 $

Après que tout les champs (a à j) aient été renseignés, les champs k à w devraient afficher le résultat de différents calculs que voici :

k = a / (g*365)
l = b / (g*365)
m = (c*365*g/a) * j
n = (d*365*g/b) * j
o = (h*365*g/a) * j
p = (h*365*g/b) * j
q = (e*365*g*i*j) / 1000
r = (f*365*g*i*j) / 1000
s = m+o+q
t = n+p+r
u = s-t
v = (d-c) * j/u
w = u*b/365*g/100

Ces résultats devraient s'afficher comme suit :
k, l et v = champs numérique à 2 décimales (0.00 à 99.99)
m, n, o, p, q, r, s, t, u et w = champs numérique de type monétaire à 2 décimales (entre 0.00 $ à 9 999 999.99 $)

Voilà !!! Si certains d'entre-vous peuvent m'aiguiller par ou commencer car honnêtement, je n'ai aucune idée !!! Ça fait maintenant 1 semaine que je fais des recherches, essais d'effectuer mes calculs à partir de différents exemples que j'ai trouvé (principalement sur ce site) malheureusement, n'ayant pas de connaissance avec flash, je m'y perd totalement :( Je ne demande pas que quelqu'un me donne la solution toute faite car j'aime comprendre et apprendre ce que je fais par contre, des indications pour mes recherches et les types de fonctions à utiliser seraient grandement appréciés.

Je joins également mon fichier .fla pour ceux qui voudrait le voir, il est compressé avec winrar.

Disponible ici

Merci à vous tous pour votre aide,
Eric

2 réponses

yasdar Messages postés 121 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 19 mai 2012
10 févr. 2011 à 11:29
pour avoir des résultats calculés il faut par exp

k = Number(a / (g*365));
m = Number((c*365*g/a) * j )+" "+"$";
pour les : a, b et j = champs numérique qui accepte les nombres entier compris entre 1 et 100000
au moment de la création du text dynamique dans le panneau propriete on pet donner le nbre maximal de chiffre
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
14 févr. 2011 à 21:22
Bonjour,

Tu utilises des objets de type TextField pour ton tableau.

1- Pour definir le type d'entree (caracteres permis) Textfield.restrict
2- pour valider les entrees, tu pourrais utiliser une Regex (mais dans ton cas tu peux surement t'en passer)
3- pour recuperer un nombre entre dans un TextField :

//en supposant que ton objet TextField se nomme field
var nombreEntre:Number = parseFloat(field.text);
if(isNaN(nombreEntre))
{
    nombreEntre = 0.0;
}
//tu peux faire la meme chose pour les autres TextField


Au revoir.


http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
0
Rejoignez-nous