ダイアログウィンドウを開いたままにしますか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />「サブセット」など、テーブル プラットフォームに表示される「ダイアログを開いたままにする」オプションを模倣する簡単なコードは誰でも持っています。「はい」の場合、モーダルウィンドウで動作しますか?

Re: ダイアログウィンドウを開いたままにしますか?指定された式と影響を受けるオブジェクトに基づいて 2 つの異なることを実行する関数の何が混乱しているのかわかりません。以下の削除コマンドを確認してください。

ログにどのようなエラーが記録されているかはわかりませんが、ウィンドウがモーダルかどうかに関係なく、「OK」ボタンと「キャンセル」ボタンにスクリプトを指定することは可能です。上記の説明から、モーダルウィンドウが何であるかを理解していないように感じますが、私は間違っている可能性があります。
Re: ダイアログウィンドウを開いたままにしますか?次のことも試すことができます。
デフォルトの名前はここにあります( 1 ) ;
開いたままにする= 0 ;
新しい窓( "例" 、メニューを表示( 0 ) 、ツールバーを表示( 0 ) 、自動非表示を抑制する、
<<モーダル、 <
テキストボックス( 「例: ダイアログを開いたままにするチェックボックス」 ) 、
テキストボックス( 「」 ) 、
H リストボックス(
キープボックス=チェックボックス( 「ダイアログを開いたままにする」 、開いたままにする=キープボックス<<得る( 1 ) ) 、
ボタンボックス( "わかりました" 、
// スクリプトとして実行する式の名前を挿入します
) 、
ボタンボックス( "キャンセル" )
)
) ;
<Re: ダイアログウィンドウを開いたままにしますか?
私も MS に同意します。何がそうなのか分かりません。 << 閉じる時()機能はどちらかを行っています。 JSL 構文リファレンス ([ヘルプ] > [ブック] の下) では、スクリプト インデックスとは異なる方法で On Close 関数について説明しています。 スクリプト リファレンスより: " <閉まらない。」 それでは、引数 0 はウィンドウを閉じることを妨げるのでしょうか、それともウィンドウを閉じることができないと関数から 0 の結果が生成されるのでしょうか? とても混乱するような。
モーダル ダイアログ ボックスの問題に戻ります... 私は、 << モーダルコマンドは、「OK」ボタンと「キャンセル」ボタンを特別なボタンとして扱います (古い Dialog() 関数と同じ動作)。 そのため、「OK」ボタンや「キャンセル」ボタンにスクリプトを添付することはできません(ログにエラーが表示されます)。
そこで、モーダル ウィンドウに有効な別のアプローチを紹介します。 スクリプトをボタンにアタッチすることで、アクションを実行できる他のボタンを作成します。 「OK」ボタンをクリックするまでウィンドウは開いたままになります。 残念ながら、「OK」ボタンの名前を「閉じる」に変更したり、別のボタンでモーダルウィンドウを閉じることはできないと思います。
Names Default To Here( 1 );win = New Window( "Example", << Modal, << On Close ( Print( "Closed" ) ), // prints to log window Show Menu( 0 ), Show Toolbars( 0 ), Suppress Autohide, Text Box( "Example: Modal Dialog Window" ), Text Box( "" ), H List Box( Button Box( "Say Hello", Print( "Hello" ) ), // prints to log window Button Box( "New Window", newwin = New Window( "New Window" ) ), Button Box( "OK" ) ));
の例を含めました<< 閉じる時()このスクリプトでは。 ウィンドウが閉じられたときにこのスクリプト アクションが実行されることがわかります。
幸運を!
ハワード
Re: ダイアログウィンドウを開いたままにしますか?新しいウィンドウの下のスクリプト索引から:
「Modal 引数が指定されている場合、新しいウィンドウはモーダル ウィンドウとして作成されます。[開く時]、[閉じる時]、[検証時]、および [結果を返す] はモーダル ウィンドウでのみ使用できます。On Open() は、ウィンドウの作成時にその式を評価します。 On Close() がゼロを返した場合、ウィンドウは閉じることができません。」
Mac で動作しない理由はわかりませんが、おそらく Current Window() で更新を行っていないのではないかと思います。
Re: ダイアログウィンドウを開いたままにしますか?何か分かりません閉じる時(1)そして閉じる時(0)ここで行うことになっています。
ただし、これは JMP 12.1 for Mac ではうまく機能しません。 「ダイアログを開いたままにする」にチェックを入れて「OK」をクリックすると、空の(非モーダル)ウィンドウが残され、それを閉じる明確な方法がありません。 そして、メニューで「閉じる」を選択すると、JMPがクラッシュします。 奇妙な
Re: ダイアログウィンドウを開いたままにしますか?もう 1 つの注意点として、実行される式によってウィンドウが作成される場合、「Current Window()」に問題があります。keepcbox (またはモーダルウィンドウ内の他の表示) に切り替えると修正されるはずです。
Re: ダイアログウィンドウを開いたままにしますか?実際、私はそれを理解しました:
'<<モーダル、<<閉じる時(0)'
これは、モーダルで閉じないウィンドウが表示されてしまい、それを hlrauch のスクリプトに追加することになるため、良くありません。
デフォルトの名前はここにあります( 1 ) ;
開いたままにする= 0 ;
新しい窓( "例" 、メニューを表示( 0 ) 、ツールバーを表示( 0 ) 、自動非表示を抑制する、
<<モーダル、
テキストボックス( 「例: ダイアログを開いたままにするチェックボックス」 ) 、
テキストボックス( 「」 ) 、
H リストボックス(
キープボックス=チェックボックス( 「ダイアログを開いたままにする」 、開いたままにする=キープボックス<<得る( 1 ) ) 、
ボタンボックス( "わかりました" 、
// スクリプトとして実行する式の名前を挿入します
もし( !開いたままにする、現在のウィンドウ() <<閉じる時( 1 ) 、現在のウィンドウ() <<閉じる時( 0 )) ;
) 、
ボタンボックス( "キャンセル" 、
現在のウィンドウ() <<ウィンドウを閉じる
)
)
) ;
Re: ダイアログウィンドウを開いたままにしますか?これは私が探しているものです。ユーザーに応答を強制したいので、モーダルウィンドウで動作する必要があるだけです。何かご意見は?
Re: ダイアログウィンドウを開いたままにしますか?ムシャープ、
ダイアログウィンドウにチェックボックスとして「ダイアログを開いたままにする」を追加したいようですね。 その場合は、乱数の 1 つ以上の列を追加するために使用したスクリプトの一部を次に示します。 「OK」ボタンの背後にあるスクリプトは、チェックボックスがオフの場合にのみウィンドウを閉じます。
Names Default to Here( 1 );keepopen = 0;New Window( "Example", Show Menu( 0 ), Show Toolbars( 0 ), Suppress Autohide, Text Box( "Example: Keep Dialog Open Checkbox" ), Text Box( "" ), H List Box( keepcbox = Check Box( "Keep dialog open", keepopen = keepcbox << get( 1 ) ), Button Box( "OK", // Insert name of an expression to run as a script If( !keepopen, Current Window() << Close Window); ), Button Box( "Cancel", Current Window() << Close Window ) ));
もちろん、ダイアログ ウィンドウにさらにオプションを追加することもできます (高度な例『JMP スクリプト ガイド』。 454~456ページ)。 古い (モーダル) Column Dialog() メソッドを使用して同様のチェック ボックスを追加することはできないと思います。 <
ハワード
Re: ダイアログウィンドウを開いたままにしますか?こんにちはムシャープ、
このトピックに関して次の 2 つの矛盾するリンクを見つけました。
これ (ページ 83) では、あまり役に立たないと述べています。
https://books.google.co.uk/books?id=42Bt1lDZLYoC&pg=PA82&lpg=PA82&dq=jsl+keep+dialog+open&source=bl&ots=rnr7dBRzZv&sig=1aAcJT94KS6DsbpLwTUzOen3xkE&hl=ja&sa=X&ved=0ahUKEwj6wqXDiK DJAhXIfhoKHZakDyoQ6AEIIDAA#v=onepage&q=jsl%20keep% 20ダイアログ%20オープン&f=false
これは「ダイアログを開いたままにする (1)」の使用法を示していますが、それがあなたが探している方法であるかどうかはわかりません。
http://www.jmp.com/support/help/Utility_Functions.shtml
最高、
ロン
Re: ダイアログウィンドウを開いたままにしますか?スクリプト索引から:
名前のデフォルトは Here( 1 );
dt = Open( "$SAMPLE_DATA/タイヤトレッド.jmp" );
obj = モデルの適合(
Y( :摩耗)、
エフェクト(:シリカ、:シラン)、
性格(標準最小二乗法)
);
obj << ダイアログを開いたままにする( 1 );
obj << 実行;