/*FONCTION = "gestionCorePoste"
=>input : Poste : Le nom du poste surlequel la manoeuvre doit etre effectuée ; core : Niveau du core a verfier
=>fonction : A chaque execution de la fonction, on creer les liste des circuit rataché a tel ou tel core du poste et on affecte l'affichage du poste en conséquence (si aucun circuit sur un core, on desactive celui-ci)
=>output : none
*/
function gestionCorePoste (Poste){
PosteCircuit_Array_core2 = _root.DefineLinks(Poste, 2, undefined);//array avec les circuits du core2
PosteCircuit_Array_core3 = _root.DefineLinks(Poste, 3, undefined);//array avec les circuits du core3
//On verifie qu'il reste au moin 1 circuit sur chaque core sinon on les efface
if (PosteCircuit_Array_core2.length == 0){
eval("_root.carte."+Poste).Niv2_core._visible = false;
eval("_root.carte."+Poste).coreCharge[2] = 0;
}else{
eval("_root.carte."+Poste).Niv2_core._visible = true;
}
if (PosteCircuit_Array_core3.length == 0){
eval("_root.carte."+Poste).Niv3_core._visible = false;
eval("_root.carte."+Poste).coreCharge[3] = 0;
}else{
eval("_root.carte."+Poste).Niv3_core._visible = true;
}
}
Celle la, il y a un petit probleme, lorsque la derniere condition est vraie (chargeCircuit > limiteChargeCircuit), et ben il marrete la boucle dès le premier passage ! je ne comprend pas pourquoi ca fait ca
a vous de toruvé si vous y arrivez
/*FONCTION = "Aleas_reportCharge",
=>input : Circuit_Array : L'array du circuit
=>fonction : Cette fonction applique un report de charge : lorsqu'un circuit déclenche, la charge qu'il fesait trnasiter est équitablement répartie entre tous les circuits restant raccordé au poste amont
=>output : none
*/
function Aleas_reportCharge (Circuit_Array){
PosteCircuit_Array = _root.DefineLinks (Circuit_Array[0].posteArrivee, Circuit_Array[0].coreArrivee, "arrivee");
//Premiere partie : definition d'un listing provisoire des circuits touchés par le report de charge
PosteCircuit_Array_length = PosteCircuit_Array.length;
AjoutCharge = Math.round(eval("_root.carte."+Circuit_Array[0].nom+"_ligne1").charge/(PosteCircuit_Array_length -1))
for(i=0;i<PosteCircuit_Array_length;i++){
if (PosteCircuit_Array[i].nom != Circuit_Array[0].nom){
eval("_root.carte."+PosteCircuit_Array[i].nom+"_ligne1").charge += AjoutCharge
chargeCircuit = eval("_root.carte."+PosteCircuit_Array[i].nom+"_ligne1").charge;
limiteChargeCircuit = eval("_root.carte."+PosteCircuit_Array[i].nom+"_ligne1").limiteCharge
if (chargeCircuit > limiteChargeCircuit){
Circuit_Array_surcharge = _root.defineCircuitName (PosteCircuit_Array[i].posteDepart, PosteCircuit_Array[i].posteArrivee, PosteCircuit_Array[i].numCircuit);
_root.Aleas_surcharge (Circuit_Array_surcharge, "20");
}
}
}
}
Ce n'est que deux fonction de mon code, les deux qui me paraissait les moin bine optimisée en fait donc si vous pouviez y faire quelque chose, ce serait simpas... merci!!