从交互界面输入数据<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
在 JSL 中,希望创建一个交互式界面,用户可以将值输入到列中。 该列应为连续类型。
例如,用户在对话框中输入一个值,该对话框将该值输入到一列中:
x = 上限,y = 下限
年龄 姓名 上限 下限
40 彼得 30 45
有人对如何实现这一目标有任何建议吗?
——安德斯
回复:从交互界面输入数据如果按行编辑可以的话,我还想提一下:
名称默认为此处( 1 ) ;
// 创建新的数据表及其列
dt =新表( “限制” ) ;
dt <<新专栏( “下限” ,数字,连续的) ;
dt <<新专栏( 《上限》 ,数字,连续的) ;
dt <<行编辑器;
这样做的缺点是它不强制执行 USL > LSL 要求,但这可以通过订阅“dt”的更改来完成(在“帮助 > 脚本索引”中查找“订阅”)。 另请注意,您可以向表中的列添加列属性http://www.jmp.com/support/help/Expression_Data.shtml ,其中包括对值的“范围检查”。
回复:从交互界面输入数据非常感谢,这正是我一直在寻找的东西,甚至更多!
干杯
-安德斯
回复:从交互界面输入数据安德斯,
如果我按照您的要求进行操作,下面的脚本将输入上限和下限并将它们添加到数据表中。我已经对脚本进行了注释,希望能让您了解该示例的作用。
名称默认为此处( 1 );
// 创建新的数据表及其列
dt = 新表(“限制”);
dt << 新列( "UpperLimit", 数值, 连续 );
dt << 新列( "LowerLimit", 数值, 连续 );
// 打开一个显示窗口来输入数据
InputWindow = 新窗口( "输入输入",
// 添加一个verticle列表框来构造显示的位置
V 列表框(
// 添加一些空格
间隔盒(尺寸(1, 10)),
// 显示指令文本
文本框(“在输入中输入”),
间隔盒(尺寸(1, 10)),
// 以下显示需要并排
H 列表框(
// 显示文本以告知用户要输入哪些数据
Text Box("输入下限"),
间隔盒(尺寸(10, 1)),
// 使用数字编辑框捕获用户输入并
// 给显示对象命名为“LLimit”
LLimit = 数字编辑框( . ),
间隔盒(尺寸(10, 1)),
// 显示文本以告知用户要输入哪些数据
Text Box("请输入上限"),
间隔盒(尺寸(10, 1)),
// 使用数字编辑框捕获用户输入并
// 给显示对象命名为“ULimit”
ULimit = 数字编辑框( . )
),
间隔盒(尺寸(1, 10)),
// 添加几个控制按钮
H 列表框(
// 第一个按钮框会将值添加到数据表中,如果
// 值有效
按钮框(“添加值”,
If( 缺失( LLimit << get ) == 0 & 缺失( ULimit << get ) == 0 & (ULimit << get) > (LLimit << get),
// 如果值有效,则向数据表添加一行并设置值
dt << 添加行( 1 );
dt:LowerLimit[N 行( dt )] = LLimit << get;
dt:UpperLimit[N 行( dt )] = ULimit << get;
,
// 如果值无效,则将它们设置为缺失并
// 向用户显示一个对话框
LLimit << 设置( . );
ULimit << 设置( . );
Dialog("输入的值无效:");
)
),
间隔盒(尺寸(10, 1)),
// 该按钮框关闭显示窗口
按钮框( "停止添加", InputWindow << 关闭窗口 )
)
)
);
回复:从交互界面输入数据您好,伊恩,感谢您的快速答复。
嗯,我是 JSL 新手,因此我还没有完全掌握语法,因此我尝试编写将用户的输入简单地存储到变量中的代码的所有尝试都失败了。 不过,我确实了解 java 编程的一些基础知识,并且我正在寻找的相应功能是扫描仪类。
java中的例子:
扫描仪 sc = 新扫描仪 (System.in);
Int上限=scanner.nextInt();
在 JMP 中,我希望它按如下方式工作:
据我想象,新列和其他列的所有 te 行都应该是可见的(也许这将来会改变)。
尝试 (
上限=扫描仪.nextInt
dt=当前数据表();
dt << 新列(“UpperLimit”,数值,“连续”,值(UpperLimit));
//LowerLimit 也应该这样做
)
if (UpperLimit < LowerLimit, throw ("!Error") );
我希望你能理解我的例子。
BR
安德斯
回复:从交互界面输入数据有很多方法可以做到这一点,良好的 UI 设计取决于您想要向用户显示哪些信息,以便他们能够可靠地执行输入任务。 您想要或需要显示表中的所有行,还是一次只显示一行? 您是否还需要在其他一列或多列中显示现有值?