從互動介面輸入數據<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 設計取決於您想要向用戶顯示哪些訊息,以便他們能夠可靠地執行輸入任務。 您想要或需要顯示表格中的所有行,還是一次只顯示一行? 您是否還需要在其他一列或多列中顯示現有值?