Hallo Leute
Ich habe zwei Anweisungsblöcke
Block eins
Code
//Transportmittel auf Verfügbarkeit prüfen
//Transportmittel aus h_transportmittel ermitteln
for(var x=0;x<h_transportmittel.length;x++){
if(h_transport[i][8]== h_transportmittel[x][0]){
//Vorgänge ermitteln, die dieses Fahrzeug verwenden
for(var y=0;y<h_transportmittel[x].length;y++){
for(var z=0;z<parent.frames.prozess.length;z++){
if(h_transportmittel[x][y]==parent.frames.prozess[z][0]){
if((parent.frames.prozess[anz][5]<parent.frames.prozess[z][5]) || (parent.frames.prozess[anz][6]>parent.frames.prozess[z][6])){
alert("Test");
//Vorgänger
parent.frames.prozess[anz][4]=parent.frames.prozess[z][0];
//Startzeit
parent.frames.prozess[anz][5]=parent.frames.prozess[z][6];
//Zielzeit
parent.frames.prozess[anz][6]=parent.frames.prozess[z][6]/1+h_transport[i][9]/1;
}
}
}
}
}
}
Alles anzeigen
Der zweite Block
Code
//Maschine auf Verfügbarkeit prüfen
//Maschine aus h_maschine ermitteln
for(var x=0;x<h_maschine.length;x++){
if(h_transport[i][8]== h_maschine[x][0]){
//Vorgänge ermitteln, die dieses Maschine verwenden
for(var y=0;y<h_maschine[x].length;y++){
for(var z=0;z<parent.frames.prozess.length;z++){
if(h_maschine[x][y]==parent.frames.prozess[z][0]){
if((parent.frames.prozess[anz][5]<=parent.frames.prozess[z][5]) ||(parent.frames.prozess[anz][6]>=parent.frames.prozess[z][6])){
//Vorgänger
parent.frames.prozess[anz][4]=parent.frames.prozess[z][0];
//Startzeit
parent.frames.prozess[anz][5]=parent.frames.prozess[z][6];
//Zielzeit
parent.frames.prozess[anz][6]=parent.frames.prozess[z][6]/1+h_bearbeitung[i][5]/1;
}
}
}
}
}
}
Alles anzeigen
Das problem ist jetzt folgendes: der wenn ich im zweiten Block die Daten des Array geändert habe, musste nochmals der erste Block ausgeführt werden. Wenn im ersten Block die Daten wieder geandert wurden muss wieder der zweite Block ausgeführt werden. Und das solange bis das Array prozess in beiden Blöcken überprüftwurde aber nicht geändert wurde. Aber wie mache ich das am besten?
Hof ich hab mich verständlich ausgedruckt und ihr könnt mir helfen.
Noch zur erläuterung (Code der als erstes in der Funktion steht):
Code
for(var i=0;i<h_transport.length;i++){
//Eintrag bei Lager_Start_ID vorhanden
if(h_transport[i][5]!= "0"){
anz = parent.frames.prozess.length;
parent.frames.prozess[anz] = new Array();
Anschließen kommen die zwei zuvor dargestellten Codeblöcke.
Mattis