DIALOG
画面にダイアログを表示する
通常のダイアログ
DIALOG "[str]"[,type[,title[,time]]] [OUT var]
var = DIALOG("[str]"[,type[,title[,time]]])
ファイル名専用ダイアログ(v3.2.0~)
fName = DIALOG("def","title"[,maxNum])
パラメーター
str:表示メッセージ
type:選択タイプ(省略時:0)
title:下画面上部のタイトル(省略時:"DIALOG")
time:タイムアウト時間(省略時:0(タイムアウトなし))
def:ファイル名の初期値
maxNum:最大文字数(1~14,省略時:14)
戻り値
var:戻り値(数値)(※解説参照)
fName:入力された文字列
解説
ダイアログを出してユーザーからの操作を待ち、操作結果を取得します。
3DSでは常に下画面に、WiiUではテレビとゲームパッドの両方にダイアログを表示します。
(WiiUのXSCREEN設定が2,3,6(上下画面使用)で、画面の表示方法が「SPLIT」の状態では、下画面にのみ表示します)
timeでタイムアウト時間を設定します。秒単位で指定し、省略時はタイムアウトしません。
またマイナスの値を指定するとフレーム単位での指定となります(v3.2.0より)
タイムアウトすると戻り値0を返し、ダイアログ画面が自動的に閉じられます。
戻り値の変数を指定しなかった場合、戻り値はシステム予約変数-RESULTに代入されます。
値は以下の表の、有効にするボタンの値を加算し、マイナス符号を付けた値です。
※例:ABXYもしくはタッチで閉じるなら、1+8=9なので、type=-9となります。
※ZL,ZRは指定不可
中止した場合は戻り値に空文字列が入り、システム予約変数-RESULTには-1が返ります。
defにファイル名の初期値(14文字目よりも後ろは無視)、titleに下画面のタイトルバー文字列、maxNumに最大文字数(1~14,省略時:14)を指定します。
3DSでは常に下画面に、WiiUではテレビとゲームパッドの両方にダイアログを表示します。
(WiiUのXSCREEN設定が2,3,6(上下画面使用)で、画面の表示方法が「SPLIT」の状態では、下画面にのみ表示します)
通常のダイアログ
表示メッセージはCHR$を使ってCHR$(10)またはCHR$(13)で改行を入れたり、UTF-16形式の文字コードを指定すれば漢字を使用する事もできます。timeでタイムアウト時間を設定します。秒単位で指定し、省略時はタイムアウトしません。
またマイナスの値を指定するとフレーム単位での指定となります(v3.2.0より)
タイムアウトすると戻り値0を返し、ダイアログ画面が自動的に閉じられます。
戻り値の変数を指定しなかった場合、戻り値はシステム予約変数-RESULTに代入されます。
type値と選択タイプ
type | 左側ボタン (戻値:-1) | 右側ボタン (戻値:1) |
---|---|---|
0 | − | 了解 |
1 | いいえ | はい |
2 | 戻る | 次へ |
3 | 中止 | 決定 |
4 | 中止 | 実行 |
5 | − | 次へ |
-1~-15 | − | − |
特殊モード(typeがマイナスの時)の指定
typeをマイナスに設定すると特殊モードとなり、3DSの指定したボタン押下やタッチがされるまで停止します。値は以下の表の、有効にするボタンの値を加算し、マイナス符号を付けた値です。
値 | 内容 |
---|---|
1 | ABXYボタン |
2 | 十字キー |
4 | L,RボタンXボタン |
8 | タッチパネル |
※ZL,ZRは指定不可
戻り値
値 | 内容 |
---|---|
0 | タイムアウト(time指定時) |
typeが 0~5 | |
-1 | 否定([いいえ][戻る][中止]など左側のボタン又はBボタン押下) |
1 | 肯定([了解][はい][次へ][決定][実行]など右側のボタン又はAボタン押下) |
typeが-1~-15(押下したもの) | |
128 | Aボタン |
129 | Bボタン |
130 | Xボタン |
131 | Yボタン |
132 | 上ボタン |
133 | 下ボタン |
134 | 左ボタン |
135 | 右ボタン |
136 | Lボタン |
137 | Rボタン |
140 | タッチパネル |
ファイル名専用ダイアログ(v3.2.0追加)
ファイル名を入力するキーボードが表示され、入力した文字列を戻り値として得ます。中止した場合は戻り値に空文字列が入り、システム予約変数-RESULTには-1が返ります。
defにファイル名の初期値(14文字目よりも後ろは無視)、titleに下画面のタイトルバー文字列、maxNumに最大文字数(1~14,省略時:14)を指定します。
サンプルコード
メッセージを表示し、[了解]ボタンを表示(戻り値なし)
[中止](又はBボタン)が押されたら「-1」
[実行](又はAボタン)が押されたら「1」
何も押されずに30秒経ったら「0」を表示
表示メッセージ以外はパラメータの省略も可能。また漢字の表示も可能。
「終わりました。」と漢字を含むメッセージを表示し、
[了解]ボタンを表示し、タイムアウト30秒を指定。
[了解]が押されたら「1」、何も押されずに30秒経ったら「0」を表示
実行確認画面を出し、[中止][実行]ボタンを表示DIALOG "しゅうりょうしました"
実行結果
[中止](又はBボタン)が押されたら「-1」
[実行](又はAボタン)が押されたら「1」
何も押されずに30秒経ったら「0」を表示
表示メッセージ以外はパラメータの省略も可能。また漢字の表示も可能。
実行結果
「終わりました。」と漢字を含むメッセージを表示し、
[了解]ボタンを表示し、タイムアウト30秒を指定。
[了解]が押されたら「1」、何も押されずに30秒経ったら「0」を表示
ファイル名専用ダイアログ
A$=DIALOG("TEST01","ファイルめいをいれてね",14)
参照
READ
DATAに書かれた内容で変数に値を一括代入する
DATA
READで読み取るためのデータを記述
RESTORE
READで読込むDATAの位置を指定
OPTION
プログラムの動作モードを設定
WAIT
プログラムを指定フレーム数停止
VSYNC
プログラムを指定フレーム間隔まで停止
'
プログラムの中にコメントを書く
REM
プログラムの中にコメントを書く
KEY
ファンクションキーの設定を上書/読込
DTREAD
日付/曜日を数値で取得
TMREAD
時刻を数値で取得
CHKLABEL
ラベル名が存在するか調べる
CHKCALL
ユーザー定義命令・関数に使われている名前か調べる
CHKVAR
変数に使われている名前か調べる
DIALOG
画面にダイアログを表示する
CLIPBOARD
クリップボードへの読み書き
DLCOPEN
カタログIPの利用開始を宣言