Autor
|
Thema: Werker automatisch auslesen (911 mal gelesen)
|
stern11 Mitglied
Beiträge: 7 Registriert: 07.04.2011
|
erstellt am: 12. Apr. 2011 10:42 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich würde gern zur Berechnung der Kosten alle Werker des Modells in eine Tabelle schrieben. Da die Anzahl der Werker variabel ist, hab ich mir folgende Methode geschrieben (Sie soll erstmal alle Werker in die Konsole schreiben). Leider habe ich das Problem, dass keine Werker in meinem Modell (besteht aus einem Netzwerk + einem Unternetzwerk) gefunden werden. Weiß vielleicht jemand wo mein Fehler ist? Code: is i,j : integer; obj,netw : object; do for i:=1 to current.anzahlobjekte loop obj:=current.objekt(i); if obj.internalClassName=="NwWorker" then print obj.name; elseif obj.internalclassname=="network" then netw:=obj; for j:=1 to netw.anzahlobjekte loop obj:=netw.objekt(j); if obj.internalClassName=="NwWorker" then print obj.name; end; next; end; next; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Homer Simpson Mitglied
Beiträge: 345 Registriert: 14.09.2005
|
erstellt am: 12. Apr. 2011 12:56 <-- editieren / zitieren --> Unities abgeben: Nur für stern11
Die Werker befinden sich nicht direkt im Netzwerk, sondern auf dem Werkerpool und auf Arbeitsplätzen und Fußwegen. Es gibt verschiedene Methoden, um an alle Werker zu kommen. Die vermutlich einfachste geht so: Code: is i : integer; do for i := 1 to .Ressourcen.Werker.AnzahlKinder loop print .Ressourcen.Werker.KindNr(i); next; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stern11 Mitglied
Beiträge: 7 Registriert: 07.04.2011
|
erstellt am: 12. Apr. 2011 14:25 <-- editieren / zitieren --> Unities abgeben:
|
stern11 Mitglied
Beiträge: 7 Registriert: 07.04.2011
|
erstellt am: 15. Apr. 2011 08:55 <-- editieren / zitieren --> Unities abgeben:
Ich habe nochmal eine andere Frage zu dem Problem. In der Methode von Homer Simpson (siehe unten) werden alle Arbeiter der gesamten Simulation, unabhängig von den jeweiligen Schichten, bestimmt. Kann man möglichst einfach die Anzahl der Werker, die z.B. in Schicht 1 bzw. in Schicht 2 arbeiten, bestimmen?
Zitat: Original erstellt von Homer Simpson: Die Werker befinden sich nicht direkt im Netzwerk, sondern auf dem Werkerpool und auf Arbeitsplätzen und Fußwegen. Es gibt verschiedene Methoden, um an alle Werker zu kommen. Die vermutlich einfachste geht so: <BLOCKQUOTE><font size="2" face="Courier New">Code:<HR>is i : integer; do for i := 1 to .Ressourcen.Werker.AnzahlKinder loop print .Ressourcen.Werker.KindNr(i); next; end; <HR></font></BLOCKQUOTE><font size="2" face="Arial">
[Diese Nachricht wurde von stern11 am 15. Apr. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |