ダイアログステートメント

DPL 実行中に利用者とインタフェースをとるために,各種の入出力用のダイアログを表示します。用途に応じて 12種類のダイアログボックスが利用できます。


形式

  ダイアログ <表示文字列式>
, 種別 = 了解 | エラー
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 表示時間 = <最大表示時間秒数>
ダイアログ <表示文字列式>
, 種別 = 了解取消
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 表示時間 = <最大表示時間秒数>
, 既定値 = 了解 | 取消
ダイアログ <表示文字列式>
, 種別 = はいいいえ
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 表示時間 = <最大表示時間秒数>
, 既定値 = はい | いいえ
ダイアログ <表示文字列式>
, 種別 = はいいいえ取消
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 表示時間 = <最大表示時間秒数>
, 既定値 = はい | いいえ | 取消
ダイアログ <表示文字列式>
, 種別 = 継続中止
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 表示時間 = <最大表示時間秒数>
, 既定値 = 継続 | 中止
ダイアログ <表示文字列式>
, 種別 = 入力 | パスワード
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 入力領域 = (<幅> , <高さ> )
, 初期値 = <文字列式>
, 空文字列 = 許可 | 禁止
, 表示時間 = <最大表示時間秒数>
, 既定値 = 了解 | 取消
ダイアログ <表示文字列式>
, 種別 = チェック
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 選択肢 = (<文字列式> [ : <初期状態> ] [ , <文字列式> [ : <初期状態> ] ]... )
, 列数 = <整数>
, チェック = <整数>
, 表示時間 = <最大表示時間秒数>
, 既定値 = 了解 | 取消
ダイアログ <表示文字列式>
, 種別 = オプション
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 選択肢 = (<文字列式> [ : <初期状態> ] [ , <文字列式> [ : <初期状態> ] ]... )
, 列数 = <整数>
, オプション = <整数>
, 表示時間 = <最大表示時間秒数>
, 既定値 = 了解 | 取消
ダイアログ <表示文字列式>
, 種別 = ファイル
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, ファイルマスク = <文字列式>
, 初期値 = <文字列式>
, 空文字列 = 許可 | 禁止
, 表示時間 = <最大表示時間秒数>
, 既定値 = 了解 | 取消
ダイアログ <表示文字列式>
, 種別 = フォルダ
, タイトル = <文字列式>
, 位置 = ( [ 中央揃え | 左寄せ | 右寄せ | <左から> ] , [ 中央揃え | 上寄せ | 下寄せ | <上から> ] , [ DBPro | 画面 | 全画面] )
, 表示幅 = <数値>
, 初期値 = <文字列式>
, 空文字列 = 許可 | 禁止
, 表示時間 = <最大表示時間秒数>
, 既定値 = 了解 | 取消

パラメータ

<表示文字列式>
ダイアログ内に表示する文字列を指定します。
種別
ダイアログの種別を指定します。次のいずれかです。
了解 メッセージを表示し,確認を待ちます。[OK] ボタンが一つだけあります。(既定値)
エラー エラーを通知し,確認を待ちます。[OK] ボタンが一つだけあります。
了解取消 [OK],[キャンセル] の二つのボタンがあります。
継続中止 [継続],[中止] の二つのボタンがあります。
はいいいえ [はい],[いいえ] の二つのボタンがあります。
はいいいえ取消 [はい],[いいえ],[キャンセル] の三つのボタンがあります。
入力 文字列入力用のダイアログです。入力領域と [OK],[キャンセル] の二つのボタンがあります。
パスワード パスワード文字列入力用のダイアログです。入力領域と [OK],[キャンセル] の二つのボタンがあります。文字が * で表示される以外は 入力 と同じです。
チェック チェックボックスにより複数の選択肢のいくつかを選びます。選択肢と [OK],[キャンセル] の二つのボタンがあります。
オプション オプションボタンにより複数の選択肢から一つを選びます。選択肢と [OK],[キャンセル] の二つのボタンがあります。
ファイル ファイル名入力のためのダイアログです。ファイル名の入力領域と [OK],[キャンセル] の二つのボタンがあります。
フォルダ フォルダ名入力のためのダイアログです。フォルダ名の入力領域と [OK],[キャンセル] の二つのボタンがあります。
タイトル
ダイアログのタイトルバーに表示する文字列を指定します。
位置
ダイアログの表示位置を,横方向,縦方向の順で指定します。
中央揃え 中央に配置します。(既定値)
左寄せ 左端に配置します。
右寄せ 右端に配置します。
<左から> 左端からウィンドウ左上隅までの距離を算術式で指定します。文字幅の1/4を1として指定します (ダイアログ単位)。
上寄せ 上端に配置します。
下寄せ 下端に配置します。
<上から> 上端からウィンドウ左上隅までの距離を算術式で指定します。文字高さの1/8を1として指定します (ダイアログ単位)。
位置パラメータの3番目の指定は,指定した位置が DBProウィンドウ内のクライアント領域相対の位置か,画面全体の相対位置かを指定します。この指定はコンマを含めて省略できます。
DBPro DBPro ウィンドウ内のクライアント領域相対とみなします。(既定値)
画面 Windows の画面相対とみなします。
全画面 画面 と同じです。
表示幅
ダイアログの幅を 1/4文字を1として指定します(ダイアログ単位)。1以下の数値を指定すると,画面の幅に対する割合とみなされます。
この指定が有効なのは,<表示文字列式> が長いときであり,指定された幅に収まるように文字列が適当に折り返されます。あまり小さくても必要なだけは確保されます。
この指定は,すべての種別に有効です。
入力領域
種別が 入力 または パスワード のときにだけ意味をもちます。文字列入力領域のサイズを算術式で指定します。幅は文字幅の1/4を1として,高さは文字高さの1/8を1として指定します(ダイアログ単位)。パスワード のときは、高さにかかわらず、1行として入力するので,改行はできません。
初期値
種別が 入力パスワードファイル または フォルダ のときにだけ意味をもち,入力領域に最初に表示しておく文字列を指定します。
空文字列
入力領域に何も文字が入力されていないときに [OK]ボタンを淡色表示して押せなくすることができます。
許可 文字が入力されていないときでも [OK] が押せます。(既定値)
禁止 文字が入力されていないときは [OK] が押せません。
選択肢
種別が チェック または オプション のときにだけ意味をもちます。選択肢として表示する文字列と,最初のチェック状態を指定します。選択肢は,32個まで指定できます。
<文字列式> 選択肢として表示する文字列を指定します。
<初期状態> 最初からチェックしておくかどうかを任意の論理式で指定します。値が真ならばあらかじめチェックされます。<初期状態> はコロンと共に省略することができ,省略したときは偽とみなされます。
列数
チェックボックスやオプションボタンを複数列に並べるときに指定します。省略したときや,ゼロ以下を指定したときは1とみなされ,縦1列にチェックボックスやオプションボタンが並びます。
チェック
チェックボックスの初期状態を,$$CHECK と同じ形式で指定できます。このとき,選択肢パラメータの指定は無効です。
オプション
オプションボタンの初期状態を,$$OPTION と同じ形式で指定できます。このとき,選択肢パラメータの指定は無効です。
ファイルマスク
種別が ファイル のときにだけ意味をもちます。入力対象となるファイルのマスク文字列を '*.DPT' のように指定します。省略したときは '*.*' とみなされます。つまり,すべてのファイルが対象となります。この指定は,表示されたダイアログにある[参照]ボタンによって表示されるファイル選択ダイアログのファイル名の初期値に採用されます。
表示時間
指定した秒数の間,利用者によってボタンが押されなければ,既定値パラメータで指定されたボタンが押されたものとして処理が続行されます。その秒数を算術式で指定します。最大60秒まで指定できます。それを超えた指定は60秒とみなされます。ゼロまたは負の数を指定したときや,省略したときは利用者の反応をいつまでも待ちます。
既定値
種別が 了解エラー 以外のときにだけ意味をもちます。Enterキーを押したときにどのボタンが押されたことにするかを指定します。また,表示時間を超えたときに押されたとみなされるボタンにもなります。省略したときは,[OK],[はい],[継続] のいずれかのボタンが押されたとみなされます。

結果

$$BUTTON どのボタンが押されたかが次の整数値で設定されます。
1[OK] ボタンが押されました
2[キャンセル] ボタンが押されました
3[はい] ボタンが押されました
4[いいえ] ボタンが押されました
5[継続] ボタンが押されました
6[中止] ボタンが押されました
$$INPUTSTR種別が 入力 または パスワード のとき [OK] ボタンが押されると,入力された文字列が設定されます。
$$CHECK種別が チェック のとき [OK] ボタンが押されると,選択肢のチェック状態が整数値で設定されます。たとえば 3 番目の選択肢がチェックされているかどうかを知るには次のようにします。
#AND($$CHECK,BIT3)
1,3,6番目の選択肢のうち,3番目だけがチェックされているかどうかを知るにはは次のようにします。
#AND($$CHECK,#OR(BIT1,BIT3,BIT6))=BIT3
$$OPTION種別が オプション のとき [OK] ボタンが押されると,選択されたオプションボタンの番号が整数値で設定されます。先頭の選択肢が 1 です。
$$FILENAME 種別が ファイル または フォルダ のとき [OK] ボタンが押されると,入力されたファイルまたはフォルダの絶対パス名が設定されます。
$$CMDSTATE = 0 正常終了

構造コマンドパラメータ
 オープン@ZAIKO, 'ZAIKO.DPT'
 ダイアログ'印刷を実行しますか', タイトル='印刷確認', 位置=(中央揃え, 中央揃え), 種別=了解取消, 表示時間=10, 既定値=了解
IF $$BUTTON = 1 THEN 
 印刷@ZAIKO, 'A4縦形式'
ENDIF 
 クローズ@ZAIKO, 保存=しない
 オープン@URIAGE, 'URIAGE.DPT'
 ダイアログ'処理種別を選んでください', タイトル='印刷処理', 種別=チェック, 選択肢=('商品順に整列して印刷':0, '担当者順に整列して印刷':0, '売上を集計して印刷':0)
IF $$BUTTON=1 THEN 
IF #AND($$CHECK, B'001') THEN 
 整列@URIAGE, '商品順'
 印刷@URIAGE, 印刷形式='A4縦形式'
ENDIF 
IF #AND($$CHECK, B'010') THEN 
 整列@URIAGE, '担当順'
 印刷@URIAGE, 印刷形式='A4縦形式'
ENDIF 
IF #AND($$CHECK, B'100') THEN 
 集計@URIAGE, '売上集計'
IF $$CMDSTATE = 0 THEN 
 代入@TOTAL := @@
 印刷@TOTAL, 印刷形式='A4縦形式'
 クローズ@TOTAL
ENDIF 
ENDIF 
ENDIF 

解説

関連項目

→BIT1 〜 BIT32
→DPLの構文
→$$CMDSTATE一覧
DBProヘルプ目次へ