メインコンテンツまでスキップ
バージョン: 20 R7 BETA

Request

Request ( message {; defaultResponse {; OKButtonTitle {; CancelButtonTitle}}} ) : Text

引数説明
messageTextリクエストダイアログボックスに表示するメッセージ
defaultResponseTextテキスト入力エリアにデフォルトで表示するデータ
OKButtonTitleTextOKボタンのタイトル
CancelButtonTitleTextキャンセルボタンのタイトル
戻り値Textユーザが入力した値

説明

Requestコマンドは、メッセージ、テキスト入力エリア、OKボタン、キャンセルボタンで構成されるリクエストダイアログボックスを表示します。

message引数には表示するメッセージを渡します。メッセージが表示エリアに収まりきらない場合 (通常50文字程度ですが、使用される文字種やOS、言語により異なります) は切り取られます。

デフォルトでは、OKボタンのタイトルは“OK”で、キャンセルボタンのタイトルは"キャンセル"です。これらのボタンタイトルを変更するには、オプションのOKButtonTitleCancelButtonTitle引数に新しいカスタムボタンタイトルを指定します。必要であれば、渡したカスタムタイトルの幅に応じて、ボタンの幅を左方向にリサイズします。

OKボタンはデフォルトボタンです。ユーザがOKボタンをクリックするかEnterキーを押してダイアログを受け入れると、OKシステム変数が1に設定されます。ユーザがキャンセルボタンをクリックしてダイアログをキャンセルすると、OKシステム変数は0に設定されます。

ユーザはテキスト入力エリアにテキストを入力できます。デフォルトの値を指定するには、defaultResponse引数にデフォルトのテキストを渡します。ユーザがOKをクリックするとRequestはその文字列を返します。ユーザがキャンセルをクリックするとRequestは空の文字列 ("") を返します。返される値が数値または日付のいずれかでなければならない場合は、Requestが返した文字列に対してNumDateを使用して正しいデータタイプに変換します。

Tip: フォームあるいはオブジェクトメソッド中で、On Activate や On Deactivateを処理するセクションからRequestコマンドを呼ばないでください。これは永久ループを引き起こします。

Tip: ユーザから複数の情報を得なければならない場合、Requestダイアログボックスを何度も表示するのではなく、そのためのフォームを作成してDIALOGでそれを表示します。

例題 1

このコードを実行すると:

 $vsPrompt:=Request("Please enter your name:")

以下のようなリクエストダイアログボックスを(Windows 環境下において)表示します:

例題 2

以下のコードを実行すると:

 vsPrompt:=Request("Name of the Employee:";"";"Create Record";"Cancel")
 If(OK=1)
    ADD RECORD([Employees])
  //注: vsPrompt はフォームメソッドのOn Loadイベントにおいて
  //[Employees]Last name フィールドへとコピーされるものとします
 End if

以下のようなリウエストダイアログボックスを(Windows 環境下において)表示します:

例題 3

以下のコードを実行すると:

 $vdPrompt:=Date(Request("Enter the new date:";String(Current date)))

以下のようなリクエストダイアログボックスを(Windows 環境下において)表示します:

参照

ALERT
CONFIRM