Autor
|
Thema: Namen ändern (1930 mal gelesen)
|
Dan06 Mitglied

 Beiträge: 27 Registriert: 19.05.2006
|
erstellt am: 29. Mai. 2006 13:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe folgendes Problem: Ich möchte gerne meine Fördergüter, die sich auf einem Förderhilfsmittel befinden, nach einer bestimmten Fertigungsstufe mittels einer Methode umbenennen. Da sich allerdings mehrere Fördergüter auf meinem Förderhilfsmittel befinden, funktioniert der normale Befehl @.inhalt.name:=... leider nicht, das heißt, damit wird nur ein einziges Fördergut umbenannt. Die anderen Güter behlaten ihre alte Bezeichnung. Hat jemand ne Ahnung wie ich das mit dem Umbenennen hinbekomme, ohne alle Fördergüter abladen zu müssen? Gruß, Daniel.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AK_Sim Mitglied

 Beiträge: 16 Registriert: 14.03.2006 Windows XP Plant Simulation 7.6 Plant Simulation 8.2
|
erstellt am: 29. Mai. 2006 14:11 <-- editieren / zitieren --> Unities abgeben:          Nur für Dan06
Hallo Dan06, da das Förderhilfsmittel ein Platzorientierter Baustein ist muss das BE über seinen Platz auf dem Förderhilfsmittel angesprochen werden. Anstelle von @.inhalt.name:=... benötigt man @.pe(<Spalte>,<Reihe> ).Inhalt.name:=... (Sollte funktionieren, kann z.Z. leider nicht an mein eM-Plant). Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dan06 Mitglied

 Beiträge: 27 Registriert: 19.05.2006
|
erstellt am: 29. Mai. 2006 16:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo Andreas, danke für deine Antwort. Habe auch schon darüber nachgedacht es so zu lösen. Da die Fördergüter allerdings ungeordnet und in unterschiedlicher Anzahl auf den Förderhilfsmitteln verteilt sind, muss ich dazu ne Schleife basteln, die prüft ob ein Platz belegt ist und das Gut dann umbenennt. Dachte das geht vielleicht auch einfacher, indem ich irgendwie alle Fördergüter auf einmal anspreche. Aber wenn das nicht geht, bleibt mir wohl nichts anderes übrig. Trotzdem Danke! Gruß Daniel. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Mai. 2006 16:25 <-- editieren / zitieren -->
so geht´s is pal : object; i,j : integer; tab :table; do pal:= einzelstation.be; ---förderhilfsmittel; tab.create; pal.inhaltsliste(tab); for i:=1 to tab.xdim loop for j:=1 to tab.ydim loop if tab[i,j]/=VOID then tab[i,j].name:="B"; -- neuer name; end; next; next; end; Gruss
------------------ Der Simulator [Diese Nachricht wurde von Simulator am 29. Mai. 2006 editiert.] |
Dan06 Mitglied

 Beiträge: 27 Registriert: 19.05.2006
|
erstellt am: 30. Mai. 2006 08:44 <-- editieren / zitieren --> Unities abgeben:         
|
AK_Sim Mitglied

 Beiträge: 16 Registriert: 14.03.2006 Windows XP Plant Simulation 7.6 Plant Simulation 8.2
|
erstellt am: 30. Mai. 2006 11:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Dan06
Hallo Simulator, nur um es besser zu verstehen eine kurze Frage: benötigt man unbedingt den Weg über eine Tabelle? Kann man nicht auch gleich auf den Inhalt gehen z.B: is intJ:integer; intK:integer; do for intJ:=1 to @.xdim loop for intK:=1 to @.ydim loop if @.pe(intJ,intK).inhalt/=void then @.pe(intJ,intK).inhalt.name:="neuerName"; end; next; next; end; Oder anders gefragt: welchen vorteil habe ich mit der Tabelle? Gruß Andreas [Diese Nachricht wurde von AK_Sim am 30. Mai. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Homer Simpson Mitglied
 
 Beiträge: 345 Registriert: 14.09.2005
|
erstellt am: 30. Mai. 2006 12:05 <-- editieren / zitieren --> Unities abgeben:          Nur für Dan06
Deine Lösung sollte genauso gut funktionieren. Eventuell ist eine der beiden Lösungen schneller als die andere. Das hängt vermutlich auch von der Dimension des Förderhilfsmittels ab. Ich vermute, dass das Zwischenspeichern in einer Tabelle für eine große Ladefläche schneller ist. Bei deiner Lösung würde ich @.pe(j,k).inhalt in einer lokalen Variable vom Typ object zwischenspeichern. Dies sollte schneller sein, wenn viele Plätze belegt sind. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |