Autor
|
Thema: Alle Subattribute herausfinden (812 mal gelesen)
|
imbroken Mitglied
Beiträge: 2 Registriert: 25.05.2010
|
erstellt am: 25. Mai. 2010 09:28 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche im EM-Plant 7.5 die Daten eines Objekts (z.B. SingleProc) in eine XML-Datei zu schreiben. Jetzt kann ich ja mit getAttribute() die Attribute auslesen und die Werte rausschreiben, aber jetzt hat das Attribute "ProcTime" ja noch SubAttribute. Mit getSubAttribute(string, string) kann ich ja aber nur auf die Objekte zugreifen, wenn ich deren Name kenne, also getSubAttribute("ProcTime", "Stream"). Leider weis ich ja nicht immer alle Namen. Gibt es eine Moeglichkeite, irgendwie alle SubAttribute angezeigt zu bekommen? Gruß und Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Homer Simpson Mitglied
Beiträge: 345 Registriert: 14.09.2005
|
erstellt am: 26. Mai. 2010 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für imbroken
Ich würde es anders lösen: Mit ProcTime.Type und ProcTime.getAttr kannst du die eingestellte Verteilung und alle ihre Parameter auf einmal auslesen (zwei Strings). Zurückschreiben kannst du die Werte (also die beiden Strings) mit ProcTime.setTypeAndAttr(derTyp, dieParameter). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
imbroken Mitglied
Beiträge: 2 Registriert: 25.05.2010
|
erstellt am: 28. Mai. 2010 10:00 <-- editieren / zitieren --> Unities abgeben:
Hi, danke fuer die Antwort. Allerdings will ich das bei allen Objekten machen. Ich muesste also rausfinden ob diese Subattribute haben und wie diese Werte sind. Also unabhaengig ob das ein SingleProc oder sonstwas ist. Mein Ziel ist es ja im Prinzip alles aus dem aktullen Netzwerk auszulesen und es in ein XML Format zu bringen. Gibts dafuer vll ne Moeglichkeit? Gruss und Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Homer Simpson Mitglied
Beiträge: 345 Registriert: 14.09.2005
|
erstellt am: 31. Mai. 2010 08:12 <-- editieren / zitieren --> Unities abgeben: Nur für imbroken
Code: is y : integer; tab : table; obj : object; attrName, attrVal, exe : string; do obj := SingleProc; tab.create; obj.putAttributeNamesIntoTable(tab); for y := 1 to tab.yDim loop if tab[2,y] = "time" then attrName := tab[1,y]; exe := sprint("(byref val:string):boolean is do val := ", obj, ".", attrName, ".getAttr; return true; end;"); if executeSilent(exe, attrVal) then print attrName, ": Type = ", obj.getSubAttribute(attrName, "Type"), ", Attr = ", attrVal; end; end; next; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|