有没有办法在移动中创建变量名时替换 Eval(Parse(Eval Insert())) ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />每次我尝试在循环中创建变量时,它总是使用 Eval、Parse 和 Eval Insert。 一个例子如下所示
For(i=0 , i < N Table(), i++,Eval(Parse(Eval Insert("Variable^i^"))));上面的方法很好用,但是随着脚本越来越大,越来越多的变量和操作不得不放在引号内,这使得调试非常困难。 除了 Eval、Parse、Eval Insert 方法之外,还有其他方法可以随时随地创建变量吗?
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?我知道如何摆脱 eval 的唯一方法(截至目前)是使用 Ian 的方法,这使调试变得更好一些。 因为我意识到我评估的东西内部发生的错误不会显示在日志中,这使得调试有点困难......
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?我只需要做一些类似的事情,一系列的表达式就可以了。离不开评估尽管。这是一个说明事情的代码示例:
tb_expr = {} ;
tb_expr [ 1个] =表达式(列表框(文本框( “1:” ) ,文本框( “第一” ))) ;
tb_expr [ 2个] =表达式(列表框(文本框( “2:” ) ,文本框( “第二个” ))) ;
tab_expr =表达式(
测试标签<<代替( 1个, “测试标签” ,评估( tb_expr [指数])) ;
) ;
净重=新窗户( “测试” ,
列表框(按钮盒( “一” ,
指数= 1个;
tab_expr ;
) ,
按钮盒( “二” ,
指数= 2个;
tab_expr ;
) ,
) ,
测试标签=选项卡框( “测试标签” ,评估( tb_expr [ 1个]))
) ;
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?不幸的是,我不知道有任何这样的列表。 但是你很快就会知道它是否不起作用!
我记得(我认为是 JMP 10),“SliderBox{}”不可订阅,所以我不得不多做一些工作。 这可能已在随后修复。
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?嗨,伊恩,
感谢您指出将显示框存储到列表中的方法。 我将尝试使用组合框而不是数字编辑框。 顺便一提。 你知道我在哪里可以获得可订阅的展示框的完整列表吗?
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?这可能会给你一个线索。 一些(但是,上次我检查时,不是全部)显示框有一个可订阅的左值:
名称默认到这里( 1个) ;
// 构建一个“动态”用户界面。 . .
n = 6个;
润滑剂=排队箱( NCol ( 1个)) ;
内布= {} ;
为了(我= 1个,我<= n ,我++,
插入(内布,数字编辑框( . )) ;
润滑剂<<附加(内布[我]) ;
) ;
净重=新窗户( “号码编辑框列表” ,润滑剂,按钮盒( “好的” ,确定脚本)) ;
// 当点击“确定”时获取用户输入值。 . .
确定脚本=
表达式(
净重<<关闭窗口;
为了(我= 1个,我<= n ,我++,打印(内布[我] <<得到))
) ;
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?如果你有很多变量,也许列表或矩阵结构会有所帮助?还是关联数组?
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?一个例子是,我想在下面创建等量的......

对于每个打开的数据表,因此每次创建的组合框或按钮框的数量将根据打开的数据表的数量而变化。
我有一个变量分配给每个组合框和按钮框用于跟踪目的(并且它需要在那里)。 所以这让我别无选择,只能每次使用 Eval、Parse 和 Eval Insert 创建一个变量,这样我就有一个变量跟踪我创建的每个组合/按钮框。
Eval( Parse( Eval Insert( " if(DTopened > 1, lbBB^i^ = Border Box( H List Box( dtListBox^i^ = Combo Box( listofdtnames ), Picture Box( img ), Combo Box( test ), BBox^i^ = Button Box( \!"Fetch Temperature\!" ) ) ); " ) ) );
有没有办法消除 Eval、Parse 和 Eval Insert 并使用更简单的方法?
编辑:我忘了提到代码在一个带有变量“i”循环的for循环中
回复:在移动中创建变量名时,有没有办法替换 Eval(Parse(Eval Insert())) ?JSL 支持多种设计模式,其中一些可能并不明显。 您能否给出一个更具体的示例,说明您何时想要“在循环中创建变量”,这也表明您实际希望如何使用此类变量的下一步?