Boucle de calcul ( for (i=1;i<7;i++) )

attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014 - 20 nov. 2005 à 14:35
attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014 - 22 nov. 2005 à 17:57
Bonjour,
Je cherche une solution à mon problème depuis un certain temps. Malheureusement, autant je me débrouille en ASP, autant pour moi Javascript est assez obscure... je bidouille donc pas mal les codes javascript que je récupère pour les adapter, mais souvant en vain, faute de connaissances...

Voici mon code :

<SCRIPT language=JavaScript>
<!--
var zone = "";

calcul();
function calcul() {
zone = '<v:polyline style="position:absolute;" opacity="5.1" fillcolor="white" fill="false" points = "';
degre = -90;
r[0] = <%=rsDossier("BOP")%>
r[1] = <%=rsDossier("PD")%>
r[2] = <%=rsDossier("TL")%>
r[3] = <%=rsDossier("BL")%>
r[4] = <%=rsDossier("EVT")%>
r[5] = <%=rsDossier("GEN")%>

for (i=0;i<6;i++)
{
valeur = r[0][i];
axe_x = 227+Math.round(Math.cos(degre*Math.PI/180)*valeur*10);
axe_y = 195+Math.round(Math.sin(degre*Math.PI/180)*valeur*10);
degre = degre + 60;
zone += axe_x+","+axe_y+",";
}
valeur = r[0][0];
axe_x = 227+Math.round(Math.cos(degre*Math.PI/180)*valeur*10);
axe_y = 195+Math.round(Math.sin(degre*Math.PI/180)*valeur*10);
zone += axe_x+","+axe_y;zone +'strokecolor "red" strokeweight = "1px"></v:polyline>';
}


-->
</SCRIPT>

Ce code me sert à obtenir (si il fonctionnait !) le dessin d'un polygone irrégulier à six cotés à partir des valeurs que je récupère à partir d'une BDD (<%=rsDossier("BOP")%>, <%=rsDossier("PD")%>, etc...).
J'ai en fait adapté de code à partir du code suivant qui récupérait les valeurs(<%=rsDossier("BOP")%>, <%=rsDossier("PD")%>, etc...) à partir d'un formulaire :

for (i=0;i<6;i++)
{
valeur = parent.window.opener.document.forms.[0][i].value;
axe_x = 227+Math.round(Math.cos(degre*Math.PI/180)*valeur*30);
axe_y = 195+Math.round(Math.sin(degre*Math.PI/180)*valeur*30);
degre = degre + 60;
zone += axe_x+","+axe_y+",";
ligne += '<v:line from="225,198" to="'+axe_x+","+axe_y+'" strokecolor="blue" strokeweight="1pt"></v:line>';
}
valeur = parent.window.opener.document.forms[0][0].value;
axe_x = 227+Math.round(Math.cos(degre*Math.PI/180)*valeur*30);
axe_y = 195+Math.round(Math.sin(degre*Math.PI/180)*valeur*30);
zone += axe_x+","+axe_y;zone +'strokecolor "red" strokeweight = "2px"></v:polyline>';
}

Ce dernier code fonctionne très bien, mais maintenant j'ai donc essayé de l'adapté car je n'utilise plus de formulaire mais directement les valeurs de ma base de donnée.
J'ai essayé de faire le parallèle entre :

valeur = parent.window.opener.document.forms.[0][i].value;
et
valeur = r[0][i];

Mais sans résultats...
J'imagine que mon code est truffé de fautes... si vous pouviez m'aider,
Merci
Attarte.
A voir également:

2 réponses

attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014
21 nov. 2005 à 13:36
Je sais pas si mon post était vraiment très clair... j'en doute...
Je vai essayer de vous éclairer un peu plus...
J'ai 6 valeurs, r0, r2... r5. Je souhaite intérgrer ces valeurs dans un calcul qui se fera à l'aide de la boucle for (i=0;i<6;i++).
Je souhaite qu'à chaque tour, la valeur ri soit alors successivement r0, r1, r2 etc...
merci...
attarte
0
attarte Messages postés 21 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 8 mars 2014
22 nov. 2005 à 17:57
Problème résolu, ou plutôt contourné - voir le post "Formulaire et Frame".
Là aussi les modos vous pouvez effacer le post, car il n'apporte pas grand chose...
@+
0
Rejoignez-nous