<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我编写了一个脚本以在开始时获取用户输入/生产数据的停止日期和时间。在橱窗里,有两个按钮,确定和取消。输入数据并单击“确定”后与输出相关的所有内容都可以。问题出在“取消”按钮上。对于一个,我在读那个投掷()将退出脚本。如果你运行下面的例子,单击取消将输出“按下取消”日志日期,但它也会输出“继续日期时间”并纠正“按下按钮”数据,由于抛出,应该忽略它。
其他“问题”是改变单词cancel的拼写的能力(即取消)并且该按钮不再起作用。如果你点击它,什么都没发生。并不是说这有什么大不了的,很奇怪,我无法解释。
反正,下面是我的代码示例;非常感谢任何和所有帮助。
新窗户( “报告日期和时间” , <<模态,
V 列表框(
V 列表框(
文本框( “选择开始和结束日期和时间” ) ,
文本框( “” ) ,
文本框( “日期格式 YYYY-MM-DD” ) ,
文本框( “时间格式 HH-MI-SS-ss” ) ) ,
H 列表框(
V 列表框(
文本框( “” ) ,
文本框( “开始日期” ) ,
日期 1 =文本编辑框( 《2013-04-01》 ) ) ,
V 列表框(
文本框( “” ) ,
文本框( “结束日期” ) ,
日期2 =文本编辑框( 《2013-04-05》 ) ) ) ,
H 列表框(
V 列表框(
文本框( “” ) ,
文本框( “开始时间” ) ,
时间1 =单选框( { “ 5:00 AM ” , “ 5:00 PM ” ,
“第一项” , “ 手动的 ” } ) ,
时间1m =文本编辑框( “05-00-00-00” ) ,
文本框( “” ) ) ,
V 列表框(
文本框( “” ) ,
文本框( “结束时间” ) ,
时间2 =单选框( { “ 5:00 AM ” , “ 5:00 PM ” ,
“最后一项” , “ 手动的 ” } ) ,
时间2米=文本编辑框( “17-00-00-00” ) ,
文本框( “” ) ) ) , ) ,
H 列表框(文本框( “” ) ,
按钮盒( “好的” ,
按好的= MDYHMS (今天() ) ;
展示(按好的) ;
按下按钮= “按下确定按钮” ; ) ,
按钮盒( “取消” ,
按取消= MDYHMS (今天() ) ;
展示(按取消) ;
按下按钮= “按下取消键” ;,
扔( ) ; ) ) ) ;
继续日期时间= MDYHMS (今天() ) ;
展示(继续日期时间) ;
展示(按下按钮) ;
throw() 函数的文本参数将出现在日志中,如果它被调用的话。对调试很有用。
谢谢你的回复,这就是我最终做的。我在想你可以在按钮的评估中嵌入 throw() 并完全退出脚本。我不确定在 throw 中包含“文本”的目的是什么,除非它将文本存储在变量中。也许这在具有多个退出点的较大脚本中会很有用,以便记录脚本退出的位置(?)。
再次感谢您的帮助,非常感谢。
史蒂夫
您的取消按钮逻辑不需要 throw()。当您按下取消时对话框会自动退出,因为这是一个模态对话框。
如果您不提供模态对话框,它们将为您提供确定和取消按钮。退出模态对话框的唯一方法是按“确定”或“取消”按钮。
如果你想要更多的控制,去掉 << modal()。但是,无模式对话框将允许用户在打开时在 JMP 中执行其他操作,这可能是您不希望的。
如果您想在用户按下取消时退出脚本,请在对话框外执行检查和 throw()。
按钮盒( “取消” ,
按取消= MDYHMS (今天() ) ;
展示(按取消) ;
按下按钮= “按下取消键” ;
)
)
) ;
继续日期时间= MDYHMS (今天() ) ;
展示(继续日期时间) ;
展示(按下按钮) ;
如果(按下按钮== “按下取消键” ,
扔( “按下了取消键” ) ;
) ;