<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />最初にユーザー入力を取得するスクリプトを作成しました/本番データの停止日時。窓に、 2つのボタンがあります、 OKとキャンセル。データを入力して [OK] をクリックした後の出力に関連するものはすべて問題ありません。問題はキャンセルボタンにあります。一人分、私はその投げを読んでいた()スクリプトを終了します。以下の例を実行すると、キャンセルをクリックすると、 「押されたキャンセル」ログへの日付、しかし、それはまた出力します"ContinueDateTime"そして正しい「ボタンが押されました」データ、これは、スローのために無視する必要があります。
別"問題" cancelという単語のスペルを変更する機能です(つまりキャンセル)そしてボタンが効かなくなりました。クリックすると、何も起こりません。これは大したことではない、ただ奇妙で、説明できない何か。
ともかく、以下は私のコードのサンプルです;ありとあらゆる支援を大歓迎します。
新しい窓( 「報告日時」 、 <<モーダル、
Ⅴリストボックス(
Ⅴリストボックス(
テキストボックス( " 開始日時と終了日時を選択 " ) 、
テキストボックス( "" ) 、
テキストボックス( " 日付形式 YYYY-MM-DD " ) 、
テキストボックス( 「時刻形式 HH-MI-SS-ss」 ) ) 、
H リストボックス(
Ⅴリストボックス(
テキストボックス( "" ) 、
テキストボックス( 「開始日」 ) 、
日付1 =テキスト編集ボックス( "2013-04-01" ) ) 、
Ⅴリストボックス(
テキストボックス( "" ) 、
テキストボックス( 「終了日」 ) 、
日付2 =テキスト編集ボックス( "2013-04-05" ) ) ) 、
H リストボックス(
Ⅴリストボックス(
テキストボックス( "" ) 、
テキストボックス( 「はじまりの時」 ) 、
時間1 =ラジオボックス( { 「午前5時」 、 " 午後5:00 " 、
「最初の項目」 、 「マニュアル」 } ) 、
時間1分=テキスト編集ボックス( 「05-00-00-00」 ) 、
テキストボックス( "" ) ) 、
Ⅴリストボックス(
テキストボックス( "" ) 、
テキストボックス( 「エンディングタイム」 ) 、
時間2 =ラジオボックス( { 「午前5時」 、 " 午後5:00 " 、
「最後の項目」 、 「マニュアル」 } ) 、
時間2分=テキスト編集ボックス( "17-00-00-00" ) 、
テキストボックス( "" ) ) ) 、 ) 、
H リストボックス(テキストボックス( " " ) 、
ボタンボックス( "わかった" 、
押されたOK = MDYHMS (今日() ) ;
公演(押されたOK ) ;
ボタンが押された= 「OKボタンを押しました」 ; ) 、
ボタンボックス( "キャンセル" 、
押されたキャンセル= MDYHMS (今日() ) ;
公演(押されたキャンセル) ;
ボタンが押された= 「キャンセルボタンを押しました」 ;、
投げる( ) ; ) ) ) ;
継続日時= MDYHMS (今日() ) ;
公演(継続日時) ;
公演(ボタンが押された) ;
throw() 関数へのテキスト引数は、呼び出された場合にログに表示されます。デバッグに役立ちます。
返信ありがとうございます、それが私がやったことです。ボタンの評価に throw() を埋め込んで、スクリプトを完全に終了できると思っていました。テキストを変数に格納しない限り、スローに「テキスト」を含める目的がわかりません。おそらく、これは、スクリプトが終了した場所をログに記録するために、複数の終了ポイントを持つ大規模なスクリプトで役立つでしょう (?)。
繰り返しますが、助けてくれてありがとう、とても感謝しています。
スティーブ
キャンセル ボタンのロジックに throw() は必要ありません。これはモーダル ダイアログ ボックスであるため、[キャンセル] を押すと、ダイアログ ボックスは自動的に終了します。
モーダル ダイアログ ボックスには、[OK] ボタンと [キャンセル] ボタンが用意されていない場合、それらが用意されています。モーダル ダイアログ ボックスを終了する唯一の方法は、[OK] または [キャンセル] ボタンを押すことです。
さらに制御したい場合は、<< modal() を取り出します。ただし、モードレス ダイアログ ボックスを使用すると、ユーザーは JMP を開いている間、別の操作を行うことができますが、これは望ましくない場合があります。
ユーザーが [キャンセル] を押したときにスクリプトを終了する場合は、ダイアログ ボックスの外でチェックと throw() を実行します。
ボタンボックス( "キャンセル" 、
押されたキャンセル= MDYHMS (今日() ) ;
公演(押されたキャンセル) ;
ボタンが押された= 「キャンセルボタンを押しました」 ;
)
)
) ;
継続日時= MDYHMS (今日() ) ;
公演(継続日時) ;
公演(ボタンが押された) ;
もしも(ボタンが押された== 「キャンセルボタンを押しました」 、
投げる( 「キャンセルボタンを押しました」 ) ;
) ;