Passer une variable de script dans un nouveau scriptSalut,
Fondamentalement, j'essaie d'utiliser une boucle for pour intégrer plusieurs scripts dans une table de données :
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);
);
);
);Le problème est que lorsque l'un de ces scripts s'exécute, il ne sait pas ce qu'est SV. J'ai besoin d'un moyen de capturer SV à partir du script principal et de le définir dans le nouveau script. Par exemple, si je remplace SV par 1, tous les scripts intégrés fonctionneront comme si SV == 1, j'ai donc besoin de la boucle For pour "définir" SV sur la valeur correcte pour ce script.
Espérons que cela ait un sens.
Re : Passer une variable de script dans un nouveau scriptEn général, vous pouvez utiliser cette méthode pour passer une variable dans un script :
Eval (eval expr(
dt << New script (
"name",
Bivariate(
Y(expr(col_var)),
X(expr(col_list_var))
)
)
));
Re : Passer une variable de script dans un nouveau scriptEssaye ça:
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);
);
);"
)));
);
Re : Passer une variable de script dans un nouveau scriptJ'ai essayé:
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);
);
);
);L'erreur est :
Subscript Range in access or evaluation of 'Subscript' , CL[/*###*/Eval( Eval Expr( Expr( SV ) ) )]
Re : Passer une variable de script dans un nouveau scriptEssayez d'utiliser Eval( Eval Expr(...Expr(SV)...)) pour forcer la pré-évaluation de SV (et CL si nécessaire).