暂停脚本,直到用户手动处理数据表后各位,
我试图暂停我的脚本,以便用户可以在继续之前手动处理打开的数据表(手动检查数据并添加/删除行或列)。 我尝试使用对话框来完成此操作,但在接受对话框之前我无法处理数据表。 有人对我如何实现这一目标有任何建议吗?
清除日志();
名称默认为此处 ( 1 );
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
新窗口(“等等!”,
<<模态,
嘟(),
V 列表框(
文本框(
“手动添加/删除数据表中的行或列”
),
)
);
// 用户在继续之前从打开的数据表中添加或减去行/列
// 其他指令
回复:暂停脚本,直到用户手动处理数据表后我猜你正在做类似的事情。
Names Default To Here( 1 );
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
New Window( "WAIT!",
Beep(),
V List Box( Text Box( "Manually Add/Delete Rows or Columns In Data Table" ), ),
Hlistbox(
Buttonbox("OK",
<<SET function=""></SET>
你不想要“这不应该显示,直到好的
在按下“确定”之前,您不需要做任何其他事情。我执行此操作的正常方法是使用函数并从“确定”按钮调用它们。
Names Default To Here( 1 );
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
action_okay = function({},
//{DEFAULT LOCAL}, //uncomment this if you want the variables to be local only (don't exist outside the function)
// put everything you want to do after okay button in here.
print("this shouldn't show until okay");
// other stuff
);
New Window( "WAIT!",
Beep(),
V List Box( Text Box( "Manually Add/Delete Rows or Columns In Data Table" ), ),
Hlistbox(
Buttonbox("OK",
<<SET function=""></SET>回复:暂停脚本,直到用户手动处理数据表后对于这个特定示例,如果您希望用户对表执行手动操作,您可以为该表创建一个数据视图/数据框,并将其显示在同一窗口中。例如:
Names Default To Here( 1 );
dt = New Table( "My Table" );
dt << Add Rows( 10 );
dt << New Column( "X1", Set Values( J( 10, 1, Random Normal() ) ) );
dt << New Column( "X2", Set Values( J( 10, 1, Random Uniform() ) ) );
nw = New Window( "Prepare Your Data",
hb = H List Box(
V List Box(
Text Box( "Delete Unneccesary Columns in Table and then click OK" ),
Button Box( "OK", nw << close window )
),
Panel Box( "Data Table View",
Border Box( Sides( 15 ), dt << new data box(), <<BORDER></BORDER>

回复:暂停脚本,直到用户手动处理数据表后Vince 提供的脚本和想法应该可以工作,您必须在按下按钮后放置要执行的操作,按钮内部函数调用
Button Box("OK",
<<SET function=""></SET>
按下“确定”按钮后将执行的脚本是这样的:
打印(“做事”); self << 关闭窗口;
还有其他方法可以做到这一点,但这很可能是最简单的选择,我将从它开始。
回复:暂停脚本,直到用户手动处理数据表后文斯,
如果我理解用户的问题,我会尝试做一件非常类似的事情,即允许用户在继续执行脚本之前编辑表格。 也许我没有做正确的事情,但是当我在脚本中使用上面的脚本时,程序会继续运行,从而导致错误,因为必要的表编辑尚未完成。
因此,如果我使用模态,脚本会停止,但不允许进行表编辑。
如果我不使用模态,则在按“确定”之前允许进行表编辑,但脚本会继续运行而无需进行必要的编辑。
我希望脚本停止运行,直到用户指示已进行表编辑后才继续运行。
这可以做到吗?
在此先感谢您的帮助。
帕特里克·卡罗尔
回复:暂停脚本,直到用户手动处理数据表后谢谢文斯,
那很简单。 我想我需要阅读有关模态属性的内容。
回复:暂停脚本,直到用户手动处理数据表后只是不要使新窗口成为模态窗口。 然后将所有操作放在“确定”按钮(或任何按钮)内。
Names Default To Here( 1 );
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
New Window( "WAIT!",
Beep(),
V List Box( Text Box( "Manually Add/Delete Rows or Columns In Data Table" ), ),
Hlistbox(
Buttonbox("OK",
<<SET function=""></SET>