<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 (今天() ) ;
展示(繼續日期時間) ;
展示(按下按鈕) ;
如果(按下按鈕== “按下取消鍵” ,
扔( “按下了取消鍵” ) ;
) ;