Autor
|
Thema: Variable zu einer Subtabelle erstellen (736 / mal gelesen)
|
TomTom92 Mitglied Student
Beiträge: 12 Registriert: 17.11.2016 Plant 12
|
erstellt am: 13. Dez. 2016 13:59 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe Community, ich habe folgendes Problem: Ich möchte auf eine Subtabelle innerhalb einer Tabelle zugreifen. Die Ebene, auf welcher sich diese Subtabelle befindet, kann variieren. Nun war mein Lösungsansatz, dass ich eine String-Variable erstelle, in die man schreibt, an welcher Stelle der Tabelle sich die Subtabelle befindet. Beispielsweise : v_Tabelle := Tabelle_Ort["x","y"]["z","i"]. Nun weise ich einer Tabelle den Pfad zu: tTbl := str_to_obj(v_Tabelle); Dabei wirft mir Plant jedoch den Fehler, dass der Pfad nicht existiert. Hat jemand eine Idee wie man das Problem sonst noch lösen könnte? Zur Erinnerung: Das genannte Beispiel ist nicht bindend. Die Subtabelle kann auch hier sein: Tabelle_Ort["x","y"]["z","i"]["g","h"]. Vielen Dank schon mal und Liebe Grüße, Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 949 Registriert: 29.03.2016
|
erstellt am: 13. Dez. 2016 20:38 <-- editieren / zitieren --> Unities abgeben: Nur für TomTom92
Hallo Tom, so geht es: Code: //str: String; str:= execute(":String is do return to_str(Tabelle[1,1][1,1][1,1]); end;");
vg Nadin ------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern [Diese Nachricht wurde von nadin1223 am 13. Dez. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TomTom92 Mitglied Student
Beiträge: 12 Registriert: 17.11.2016 Plant 12
|
erstellt am: 14. Dez. 2016 10:55 <-- editieren / zitieren --> Unities abgeben:
Das ist ja ein Code um einen Tabellenpfad in einen String umzuwandeln, oder verstehe ich das falsch? Ich möchte einen Tabellenpfad, welcher nicht mehr als String vorhanden ist, sodass ich auf die mit dem Pfad bezeichnete Tabelle zugreifen kann. Viele Grüße, Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TomTom92 Mitglied Student
Beiträge: 12 Registriert: 17.11.2016 Plant 12
|
erstellt am: 14. Dez. 2016 11:04 <-- editieren / zitieren --> Unities abgeben:
Der Tabellenpfad ist in meinem Fall schon als String vorhanden. Ich würde sozusagen folgende Funktion suchen,welche dann auch den Pfad akzeptiert: v_Tabelle = "Table["x","y"]"; -- benutzerdefiniert im Root-Netzwerk! pTblInformationen := str_to_obj(root.v_Tabelle); Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 949 Registriert: 29.03.2016
|
erstellt am: 14. Dez. 2016 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für TomTom92
Zitat: Das ist ja ein Code um einen Tabellenpfad in einen String umzuwandeln, oder verstehe ich das falsch?
Es ist ein Befehlt um jeden String als eine Methode auszufuhren. Deshalb auch die Methodenstruktur mit "is do end;". Der Rückgabewert von dem Tabellenplatz ist in diesem Beispiel halt ein String. Und da die Methode in execute eine :String zurückgibt, muss auch str: String sein. str_to_obj(Tabelle[1,1]) ist leider kein richtiges Objekt, deshalb auch die Fehlermeldung.
------------------ „Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TomTom92 Mitglied Student
Beiträge: 12 Registriert: 17.11.2016 Plant 12
|
erstellt am: 14. Dez. 2016 12:29 <-- editieren / zitieren --> Unities abgeben:
hm.. dann hilft mir die execute-Methode leider nichts. Ich müsste dann nämlich ca. 20 Methoden à 100 Zeilen als execute-Methode ausführen.. Ich habe aber schon eine Idee, wie ichs anders lösen kann. Aber danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |