Scripting "Zeile hinzufügen" mit dynamischer ListeneingabeHallo alle,
Ich habe eine TableBox als Berichtstabelle in meinem Journal. Ich kann diese Tabelle mit "Zeile hinzufügen" füllen, was als Eingabe eine Liste erfordert. Dies funktioniert, wenn ich die Listenwerte direkt in die Funktion schreibe. Siehe unten. Wenn ich die Liste jedoch im Voraus vorbereite und diese in die Funktion parse, funktioniert sie nicht mehr. Siehe zweites Beispiel unten. Wieso den? Das Ziel ist es, diese "Zeile hinzufügen" in eine Schleife mit jeweils unterschiedlichen Informationen einzubauen.
Bauke
// possible and working
ob[TableBox(1)] << add row ({"1","2","3",4});
// not possible why?
rowContents2 = {"1","2","3",4};
ob[TableBox(1)] << add row (rowContents2);
SkripterstellungRe: Scripting "Zeile hinzufügen" mit dynamischer ListeneingabeDer Grund, warum es funktioniert, ist das, was der Code einfach tut, nämlich das genaue JSL, das benötigt wird, in eine Zeichenfolge einzubauen und dann Eval(Parse(…….)) zu verwenden, um JMP anzuweisen, den Wert der Zeichenfolge an JMP zu senden.
Wenn Sie Ihr spezifisches Beispiel nehmen, ist die fest codierte Syntax, um das zu erreichen, was Sie wollen
ob[TableBox(1)] << add row ({"1", "2", "3", 4});
Wenn man also die obige Codezeile in eine Zeichenkette einbauen kann, kann die Zeichenkette dann unter Verwendung der Funktionskombination Eval(Parse()) an JMP übermittelt werden.Hier ist eine einfache Erweiterung Ihres Skripts, um dies hoffentlich deutlich zu machen
rowContents2 = {"1","2","3",4};
// Create a character string variable with the required syntax
myString = "ob[TableBox(1)] << add row (" || char(rowContents2) || ");";
// Write the string to the log to show what it looks like
show( myString );
// Run the character string variable
Eval( Parse( myString ) );
Re: Scripting "Zeile hinzufügen" mit dynamischer ListeneingabeDanke vielmals!
Das erste hat nicht funktioniert. Die zweite Lösung hat funktioniert, als am Ende 2 fehlende Klammern hinzugefügt wurden. Ich verstehe noch nicht, warum es funktioniert, aber vielleicht finde ich das später heraus.
Bauke
Re: Scripting "Zeile hinzufügen" mit dynamischer ListeneingabeProbieren Sie die Optionen im folgenden Skript aus.(Hinweis: 2 nachgestellte ")" wurden hinzugefügt, um die Syntax korrekt zu machen, danach @Bauke Beobachtung der fehlenden Zeichen)
rowContents2 = {"1","2","3",4};
ob[TableBox(1)] << add row (eval(rowContents2));
// or if necessary this should force it to work
eval(parse("ob[TableBox(1)] << add row (" || char(rowContents2) || ");"));