DIALOG コマンド
Concept Information
1 つ以上のスクリプト入力値をインタラクティブにユーザーに確認するカスタム ダイアログ ボックスを作成します。各入力値は名前付き変数に格納されます。
メモ
DIALOG コマンドを使用してパスワードを入力することは安全ではありません。代わりに PASSWORD コマンド を使用してください。
DIALOG コマンドは、ロボットで実行されるスクリプトでサポートされません。
ACCEPT コマンドでは基本的なインタラクティブダイアログボックスを作成できます。
ヒント
カスタム ダイアログボックスを作成する最も簡単な方法は、ダイアログビルダーを使用することです。詳細については、カスタム ダイアログ ボックスの作成を参照してください。
構文
DIALOG (DIALOG TITLE タイトルテキスト WIDTH ピクセル数 HEIGHT ピクセル数) (BUTTONSET TITLE "&OK;&Cancel" AT x_pos y_pos <WIDTH ピクセル数> <HEIGHT ピクセル数> DEFAULT 項目番号 <HORZ>) <[ラベル構文]|[テキストボックス構文]|[チェックボックス構文]|[ラジオボタン構文]|[ドロップダウンリスト構文]| [[プロジェクト項目リスト構文]> <...n>
ラベル構文 ::=
(TEXT TITLE タイトルテキスト AT X座標 Y座標 <WIDTH ピクセル数> <HEIGHT ピクセル数> <CENTER|RIGHT>)
テキストボックス構文 ::=
(EDIT TO 変数名 AT X座標 Y座標 <WIDTH ピクセル数> <HEIGHT ピクセル数> <DEFAULT 文字列>)
チェックボックス構文 ::=
(CHECKBOX TITLE タイトルテキスト TO 変数名 AT X座標 Y座標 <WIDTH ピクセル数> <HEIGHT ピクセル数> <CHECKED>)
ラジオボタン構文 ::=
(RADIOBUTTON TITLE 値リスト TO 変数名 AT X座標 Y座標 <WIDTH ピクセル数> <HEIGHT ピクセル数> <DEFAULT 項目番号> <HORZ>)
ドロップダウンリスト構文 ::=
(DROPDOWN TITLE 値リスト TO 変数名 AT X座標 Y座標 <WIDTH ピクセル数> <HEIGHT ピクセル数> <DEFAULT 項目番号>)
プロジェクト項目一覧構文 ::=
(ITEM TITLE プロジェクト項目の種類 TO 変数名 AT X座標 Y座標 <WIDTH ピクセル数> <HEIGHT ピクセル数> <DEFAULT 文字列>)
パラメーター
一般パラメーター
| 名前 | 説明 |
|---|---|
| DIALOG TITLE タイトルテキスト |
メインダイアログボックスとダイアログボックスタイトルを作成します。 タイトルテキストは引用符で囲んだ文字列として指定する必要があります。 |
| BUTTONSET TITLE "&OK;&キャンセル" |
ダイアログボックスの[OK]ボタンおよび[キャンセル]ボタンのラベル。 通常、ラベルのテキスト値は編集しないでください。変更する場合は、必ず肯定的な値が否定的な値の前に来るようにしてください。例:"&はい;&いいえ" |
| WIDTH ピクセル数 |
個々のコントロールの幅、またはダイアログボックスの幅(DIALOG コントロールに対して指定された場合)。 値はピクセル数で指定します。値がコントロールに対して指定されない場合は、幅はコントロールに含まれる最も長い値に基づいて計算されます。 |
| HEIGHT ピクセル数 |
個々のコントロールの高さ、または DIALOG コントロールに対して指定された場合はダイアログボックスの高さ。 値はピクセル数で指定します。 |
| AT X座標 Y座標 |
カスタムダイアログボックス上のコントロールの左上隅の場所。
|
| DEFAULT 項目番号 |
BUTTONSET 値で、デフォルトとして選択する項目に相当する数値。 たとえば、BUTTONSET 値が「&OK;&キャンセル」の場合、DEFAULT 1 を指定し、デフォルトで OK を選択します。 |
| HORZ 省略可能 |
BUTTONSET コントロールで値が左右に並べて表示されます。値はデフォルトで上下に並べて表示されます。 |
メモ
ほとんどのコントロールタイプでは、DIALOG コマンドは、ユーザー入力を保存するための変数を作成します。代入変数に使用される変数の名前に、é のような英語以外の文字は使用しないでください。変数名に英語以外の文字が含まれていると、変数の代入が失敗します。
デフォルトでは、DIALOG 変数の一部は、文字変数として作成されます。文字変数を使用して、数値または日付時刻値を保存する場合は、スクリプトの後の処理で、変数を必要なデータ型に変換する必要があります。詳細については、入力データ型を参照してください。
ラベルパラメーター
| 名前 | 説明 |
|---|---|
| TEXT | テキストラベルを作成して、特定、通知、または指示します。 |
| TITLE タイトルテキスト |
コントロールラベル。 タイトルテキストは引用符で囲んだ文字列として指定する必要があります。 |
| CENTER | RIGHT 省略可能 |
コントロール内のテキストの配置。 CENTER または RIGHT を省略する場合、左寄せがデフォルトで使用されます。 |
テキストボックスパラメーター
| 名前 | 説明 |
|---|---|
|
EDIT |
ユーザー 入力用のテキスト ボックスを作成します。 |
| TO 変数名 |
ユーザーによって指定された入力を格納する文字変数の名前。 変数が既に存在する場合は、指定された値が割り当てられます。変数が存在しない場合、変数が作成され、指定された値が割り当てられます。 |
| DEFAULT 文字列 省略可能 |
コントロールに表示するデフォルトのテキスト文字列。 文字列は引用符で囲んだ文字列として指定する必要があります。 |
チェックボックスパラメーター
| 名前 | 説明 |
|---|---|
|
CHECKBOX |
チェックボックスを作成して、ユーザーへのオプションを表示します。 |
| TITLE タイトルテキスト |
コントロールラベル。 タイトルテキストは引用符で囲んだ文字列として指定する必要があります。 |
| TO 変数名 |
ユーザーによって指定された True または False 値を格納する論理変数の名前。 変数が既に存在する場合は、指定された値が割り当てられます。変数が存在しない場合、変数が作成され、指定された値が割り当てられます。 |
|
CHECKED 省略可能 |
コントロールがデフォルトでオンにされるように設定します。 |
ラジオボタンパラメーター
| 名前 | 説明 |
|---|---|
|
RADIOBUTTON |
ラジオ ボタンを作成して、相互に排他的なオプションをユーザーに表示します |
| TITLE 値リスト |
コントロールに表示される値のリスト。 値は引用符で囲んだ文字列として指定する必要があります。各値はセミコロン(;)で区切ります。 |
| TO 変数名 |
ユーザーによって選択されたラジオボタン値の数値位置を格納する数値変数の名前。 変数が既に存在する場合は、指定された値が割り当てられます。変数が存在しない場合、変数が作成され、指定された値が割り当てられます。 |
| DEFAULT 項目番号 省略可能 |
項目リスト中で、デフォルトとして選択する項目に相当する数値。 たとえば、値リストは "赤;緑;青" であるとします。フォルトで " 緑" が選択されるようにするには、DEFAULT 2 を指定します。 |
| HORZ 省略可能 |
コントロールで値が左右に並べて表示されます。値はデフォルトで上下に並べて表示されます。 |
ドロップダウンリストパラメーター
| 名前 | 説明 |
|---|---|
|
DROPDOWN |
ドロップダウンリストを作成して、ユーザーへのオプションのリストを表示します |
| TITLE 値リスト |
コントロールに表示される値のリスト。 値は引用符で囲んだ文字列として指定する必要があります。各値はセミコロン(;)で区切ります。 |
| TO 変数名 |
ユーザーによって選択されたドロップダウンリスト値を格納する文字変数の名前。 変数が既に存在する場合は、指定された値が割り当てられます。変数が存在しない場合、変数が作成され、指定された値が割り当てられます。 |
| DEFAULT 項目番号 省略可能 |
項目リスト中で、デフォルトとして選択する項目に相当する数値。 たとえば、値リストは「赤;緑;青」であるとします。ドロップダウンリストが表示されるときにデフォルトで「緑」が選択されるようにするには、DEFAULT 2 を指定します。 |
プロジェクト項目一覧
| 名前 | 説明 |
|---|---|
|
ITEM |
プロンプト項目リストを作成して、フィールドなどの Analytics プロジェクト項目のリストをユーザーに表示します。 |
| TITLE プロジェクト項目カテゴリ |
プロジェクト項目コントロールに含めるプロジェクト項目のカテゴリ。 1 つ以上のカテゴリを指定できます。ユーザーはプロジェクト項目リストから 1 つの値を選ぶことができます。 project_item_category を引用符で囲みます。カテゴリ間にはスペースまたは句読点を入れません。 カテゴリを指定するために使用するコードについては、プロジェクト項目カテゴリーのコードを参照してください。 メモ 特に理由がない場合は、同じ ITEM コントロールに異なるカテゴリを混在させないでください。たとえば、テーブルとフィールドを混在させないでください。結果のプロジェクト項目一覧がユーザーにとって混乱するものになる可能性があります。 |
| TO 変数名 |
ユーザーによって選択されたプロジェクト項目の名前を格納する文字変数の名前。 変数が既に存在する場合は、指定された値が割り当てられます。変数が存在しない場合、変数が作成され、指定された値が割り当てられます。 |
| DEFAULT 文字列 省略可能 |
デフォルトとして選択するプロジェクト項目の正確な名前。 文字列は引用符で囲んだ文字列として指定する必要があります。 |
例
テーブルとスクリプトを選択するようユーザーに求める
スクリプトでは、解析の実行に使用する Analytics のテーブルおよびスクリプトを選択するようユーザーに求める必要があるとします。
ACL_Demo.acl プロジェクトの Metaphor_Inventory_2012 テーブルを Analytics テーブルのデフォルトとして選択されるように指定しています (4 行目)。ただし、ユーザーはプロジェクト内で任意のテーブルを選択することもできます。
実行するスクリプトも、Analytics プロジェクト内でのスクリプトのリストから選択する必要があります。
DIALOG (DIALOG TITLE "在庫分析" WIDTH 500 HEIGHT 200 ) (BUTTONSET TITLE "OK(&O);キャンセル(&C)" AT 370 12 DEFAULT 1 ) (TEXT TITLE "分析する Analytics プロジェクトを選択してください。"AT 50 16 ) (TEXT TITLE "テーブル:" AT 50 50 ) (ITEM TITLE "f" TO "v_table" AT 50 70 DEFAULT "Metaphor_Inventory_2012" ) (TEXT TITLE "スクリプト:" AT 230 50 ) (ITEM TITLE "b" TO "v_script" AT 230 70 )
その他の例
その他の DIALOG の例については、スクリプト例:レコードを日付でフィルタリングし、フィルタリングされたレコードを月別にグループ化するを参照してください。
備考
このコマンドの動作の詳細については、カスタム ダイアログ ボックスの作成を参照してください。
変数の使用の詳細については、ACLScript での変数の操作を参照してください。
インタラクティブ
インタラクティブスクリプトを作成するには、DIALOG コマンドを使用します。DIALOG コマンドが処理されるときにはスクリプトが中断し、Analytics が次の処理で使用する入力をユーザーに促すダイアログボックスが表示されます。
項目ごとに個別のダイアログ ボックスを作成して、一度に 1 項目について入力を求めることもできますが、1 つのダイアログ ボックスで複数項目について入力を求めることもできます。
ACCEPT と DIALOG
ACCEPT コマンドでは、次の 1 つ以上のタイプのコントロールを使用できる基本的なインタラクティブ ダイアログボックスを作成できます。
- テキストボックス
- プロジェクト項目一覧
基本的な対話性については、ACCEPT で十分であると考えられます。詳細については、ACCEPT コマンドを参照してください。
プロジェクト項目カテゴリーのコード
次のコードを使用して、プロジェクト項目リストで表示するプロジェクト項目のカテゴリを指定します。
プロジェクト カテゴリー
|
コード |
カテゴリー |
|---|---|
|
f |
テーブル |
|
十億 |
スクリプト |
|
i |
インデックス |
|
r |
ビューとレポート |
|
w |
ワークスペース |
フィールドカテゴリ
|
コード |
カテゴリー |
|---|---|
|
C |
文字フィールド |
|
N |
数値フィールド |
|
D |
日付時刻フィールド |
|
L |
論理フィールド |
変数カテゴリ
|
コード |
カテゴリー |
|---|---|
|
c |
文字変数 |
|
n |
数値変数 |
|
d |
日付時刻変数 |
|
l |
論理変数 |
入力データ型
DIALOG コマンドのコントロールの一部は、文字変数にユーザー入力を保存します。数値や日付時刻値として保存するには、VALUE( ) 関数や CTOD( ) 関数を使用します。文字変数の値がそれぞれ数値や日付時刻値に変換されます。
SET FILTER TO BETWEEN(%v_date_field%, CTOD(%v_start_date%), CTOD(%v_end_date%))
この例では、フィルターの開始日付および終了日付は文字値として保存されています。これらの日付は、日付時刻データ型を使用する日付フィールドで使用するには、日付型の値に変換する必要があります。
変数名をパーセント記号 (%) で囲むと、変数名の変数によって含まれる文字値を代入します。CTOD( ) 関数は文字値を日付値に変換します。
DIALOG コマンドの位置
可能な限り、DIALOG コマンドはすべてスクリプトの先頭部分に配置することをお勧めします。最初にすべての情報入力を要求し、必要な情報が入力されていれば、その後スクリプトを円滑に実行できます。
メモ
GROUP コマンド内では DIALOG コマンド コマンドを使用できません。