暫停腳本,直到用戶手動處理數據表後各位,
我試圖暫停我的腳本,以便用戶可以在繼續之前手動處理打開的數據表(手動檢查數據並添加/刪除行或列)。 我嘗試使用對話框來完成此操作,但在接受對話框之前我無法處理數據表。 有人對我如何實現這一目標有任何建議嗎?
清除日誌();
名稱默認為此處 ( 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>