Fehler bei der Verwendung von Try() auf Collistbox()Im Grunde baue ich ein benutzerdefiniertes interaktives Fenster, das verschiedene Anzeigefelder enthält, und ich versuche, die Auswahleingabe mit einer for-Schleife zu vereinfachen. Zum Beispiel habe ich sowohl eine Combobox als auch eine Collistbox und versuche, mit einer Schleifenanweisung Eingaben für beide zu erhalten. Aber als ich das tat, bekam ich stattdessen einen Fehler. Schreibe ich den Ausdruck falsch? (Fehlerprotokoll anbei)
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Col List Box Example",
vlistbox(
var1 = combobox({"one", "two", "three"}),
hlistbox(Col List Box( all, width( 250 ), maxSelected( 1 ) ),
var2 = Col List Box()
)
)
);
var2 << append("height");
AA = {"",""};
for(i=1,i<=2,i++,
temp1 = "var"||char(i);
eval(
substitute(
expr(try(AA[i] = expr.temp1 << get, AA[i] = expr.temp1 << get items)), //try to use get, if error, use get items
expr(expr.temp1),parse(temp1)
)
)
);
show(AA);
SkripterstellungBetreff: Fehler beim Verwenden von Try() auf Collistbox()Ich denke, Ihr Try funktioniert nicht, weil << Get keinen Fehler verursacht, wenn es mit ListBoxBox verwendet wird (nur eine Meldung zum Protokollieren). Wenn Sie auf diese Weise Werte erhalten möchten, können Sie beispielsweise << Klassenname verwenden:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("Col List Box Example",
V List Box(
var1 = Combo Box({"one", "two", "three"}),
H List Box(Col List Box(all, width(250), maxSelected(1)), var2 = Col List Box())
)
);
var2 << append("height");
AA = {"", ""};
For(i = 1, i <= 2, i++,
temp1 = "var" || Char(i);
Eval(
Substitute(
Expr(
If(expr.temp1 << class name == "ComboBox",
AA[i] = expr.temp1 << get
,
AA[i] = expr.temp1 << get items
)
), //try to use get, if error, use get items
Expr(expr.temp1), Parse(temp1)
)
);
);
Show(AA); //AA = {1, {"height"}};
Ich würde normalerweise vorschlagen, die Werte nicht so zu erhalten und zu versuchen, einen anderen Weg zu finden, als Variablennamen dynamisch zu erstellen (z. B. Referenzen auf Listen oder assoziative Arrays zu speichern).