9.146 MESSAGE_BOX_SHOW
注意: 9.1 組み込み関数の規則 利用オプション
標準的なMS Windowsメッセージ・ボックスを表示します。その後、メッセージ・ボックスに指定された一連のボタンの内の一つがユーザーにクリックされるまで待機します。クリックされるとアプリケーションに制御を戻します。
引数
番号
|
タイプ
|
必須/任意
|
記述
|
最小長
|
最大長
|
最小小数桁数
|
最大小数桁数
|
1
|
A
|
任意
|
メッセージ・ボックスに表示されるボタンを指定します。この引数には以下の値を指定します。
'ABORTRETRYIGNORE' 'OK' 'OKCANCEL' 'RETRYCANCEL' 'YESNO' 'YESNOCANCEL'
この引数が指定されていない場合、または無効な場合は、'OK'に設定されます。
|
1
|
20
|
|
|
2
|
A
|
任意
|
使用可能なボタンの中からデフォルト・ボタンを指定します。この引数には以下の値を指定します。
'ABORT' 'RETRY' 'IGNORE' 'OK' 'CANCEL' 'YES' 'NO'
この引数が指定されていない場合、または無効な場合は、1番目の引数に指定された1番目のボタンに設定されます。
1番目の引数が指定されていない場合、または無効な場合は、この引数はOKに設定されます。
|
1
|
20
|
|
|
3
|
A
|
任意
|
メッセージ・ボックスに表示されるアイコン。この引数には以下の値を指定します。
'EXCLAMATION' ' WARNING' 'INFORMATION' ' ASTERISK' ' QUESTION' 'STOP' 'ERROR' 'HAND' 'NONE'
この引数が指定されていない場合、または無効な場合は、この引数は'NONE'に設定されます。
|
1
|
20
|
|
|
4
|
u
|
任意
|
メッセージ・ボックス・タイトル。この引数が指定されていない場合、この引数には、この組み込み関数を使用しているアプリケーションの記述がデフォルトとして使用されます。
|
1
|
256
|
|
|
5
|
U
|
任意
|
オーバーライド・メッセージ・テキスト。現在のメッセージ・ボックスのアセンブリ域に入っているあらゆるテキストを、この値でオーバーライドして置き換えます。この引数を使えば、ADDおよびAPPEND組み込み関数を使わずに、単純なメッセージを表示することができます。
|
1
|
256
|
|
|
|
戻り値
番号
|
タイプ
|
必須/任意
|
記述
|
最小長
|
最大長
|
最小小数桁数
|
最大小数桁数
|
1
|
A
|
任意
|
メッセージ・ボックス・ウィンドウの終了に使用されたボタン。次の値が戻されます。 'ABORT' 'RETRY' 'IGNORE' 'OK' 'CANCEL' 'YES' 'NO'
Windows以外の環境でこの組み込み関数が使用される場合は、このルールは適用されません。この場合、戻り値は2番目の引数で指定された省略値 (有効性は無関係) になります。
|
1
|
20
|
|
|
|
技術上の注記
- この組み込み関数が完了した時に、メッセージ・アセンブリ域はクリアされます。
- 適切な環境 (例:バッチ・タスク、Windows以外の環境など) で呼び出された場合、メッセージ・ウィンドウは表示されずにデフォルト・ボタンの値が戻されます。戻される値は、2番目の引数に指定されたデフォルトです。
- デフォルト・ボタンを指定する場合は、そのボタンがすべての状況に対して有効かつ適切であることを確認しておく必要があります。
例
考えられる最も単純なメッセージ・ボックスを表示します。
USE BUILTIN(MESSAGE_BOX_SHOW)
メッセージ・ボックスを表示します。メッセージ・ボックスでは、OKボタンとキャンセル・ボタン(キャンセルをデフォルトとする)を有効にして、 "HELLO"タイトル、クエスチョン・アイコン、"Do you want to do your backups now?"テキストを表示します。
USE BUILTIN(MESSAGE_BOX_SHOW) WITH_ARGS(OKCANCEL CANCEL QUESTION HELLO 'Do you want to do your backups now?') to_get(#std_codel)
if '#std_codel *eq CANCEL'
Return
endif
従業員の詳細を個別の行としてメッセージ・ボックスのアセンブリ域にフォーマットします。次にその詳細を表示します。ボタンはOKボタンだけを表示します。
use message_box_add ('Employee Number:' #empno)
use message_box_add ('Name:' #givename #surname)
use message_box_add ('Department:' #deptment)
use message_box_add ('Section:' #section)
use message_box_add ('Salary:' #salary '(monthly =' #mnthsal ')' )
use message_box_show