Übergeben Sie eine Skriptvariable an ein neues SkriptHallo,
Grundsätzlich versuche ich, eine for-Schleife zu verwenden, um mehrere Skripte in eine Datentabelle einzubetten:
For( SV = 1, SV <= N Items( CL ), SV++,
DT2 << New Script(
Char(SV),
For( x = 7, x <= N Items( ColLst ), x++,
:Column(Char(ColLst[x])) << Hide (1);
);
For( w = 1, w <= N Items( Lst ), w++,
:Column(Char(CL[SV][w])) << Hide (0);
);
);
);Das Problem ist, wenn eines dieser Skripte ausgeführt wird, weiß es nicht, was SV ist. Ich brauche eine Möglichkeit, SV aus dem Hauptskript zu erfassen und in das neue Skript einzufügen. Wenn ich zum Beispiel SV durch 1 ersetze, funktionieren alle eingebetteten Skripte so, als ob SV == 1, also brauche ich die For-Schleife, um SV auf den richtigen Wert für dieses Skript zu "setzen".
Hoffentlich macht das irgendwie Sinn.
Betreff: Übergeben Sie eine Skriptvariable an ein neues SkriptIm Allgemeinen können Sie diese Methode verwenden, um Variablen an ein Skript zu übergeben:
Eval (eval expr(
dt << New script (
"name",
Bivariate(
Y(expr(col_var)),
X(expr(col_list_var))
)
)
));
Betreff: Übergeben Sie eine Skriptvariable an ein neues SkriptVersuche dies:
For( SV = 1, SV <= N Items( CL ), SV++,
Eval(Parse(Eval Insert("DT2 << New Script(
Char(SV),
For( x = 7, x <= N Items( ColLst ), x++,
:Column(Char(ColLst[x])) << Hide (1);
);
For( w = 1, w <= N Items( Lst ), w++,
:Column(Char(CL[^SV^][w])) << Hide (0);
);
);"
)));
);
Betreff: Übergeben Sie eine Skriptvariable an ein neues SkriptIch habe es versucht:
For( SV = 1, SV <= N Items( CL ), SV++,
DT2 << New Script(
Char(SV),
For( x = 6, x <= N Items( ColLst ), x++,
:Column(Char(ColLst[x])) << Hide (1);
);
For( w = 1, w <= N Items(
Eval(
Eval Expr(
Expr(
CL[
Eval(
Eval Expr(
Expr(SV)
)
)
]
)
)
)
), w++,
:Column(
Char(
Eval(
Eval Expr(
CL[
Eval(
Eval Expr(
Expr(SV)
)
)
][w]
)
)
)
) << Hide (0);
);
);
);Der Fehler ist:
Subscript Range in access or evaluation of 'Subscript' , CL[/*###*/Eval( Eval Expr( Expr( SV ) ) )]
Betreff: Übergeben Sie eine Skriptvariable an ein neues SkriptVersuchen Sie es mit Eval( Eval Ausdr(...Ausdr(SV)...)) um eine Vorabbewertung von SV (und CL, falls erforderlich) zu erzwingen.