DIALOG

プチコン3号 プチコンBIG 

画面にダイアログを表示する

通常のダイアログ 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」の状態では、下画面にのみ表示します)

通常のダイアログ

表示メッセージは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の指定したボタン押下やタッチがされるまで停止します。
値は以下の表の、有効にするボタンの値を加算し、マイナス符号を付けた値です。
内容
1ABXYボタン
2十字キー
4L,RボタンXボタン
8タッチパネル
※例:ABXYもしくはタッチで閉じるなら、1+8=9なので、type=-9となります。
※ZL,ZRは指定不可
戻り値
内容
0タイムアウト(time指定時)
typeが 0~5
-1否定([いいえ][戻る][中止]など左側のボタン又はBボタン押下)
1肯定([了解][はい][次へ][決定][実行]など右側のボタン又はAボタン押下)
typeが-1~-15(押下したもの)
128Aボタン
129Bボタン
130Xボタン
131Yボタン
132上ボタン
133下ボタン
134左ボタン
135右ボタン
136Lボタン
137Rボタン
140タッチパネル

ファイル名専用ダイアログ(v3.2.0追加)

ファイル名を入力するキーボードが表示され、入力した文字列を戻り値として得ます。
中止した場合は戻り値に空文字列が入り、システム予約変数-RESULTには-1が返ります。
defにファイル名の初期値(14文字目よりも後ろは無視)、titleに下画面のタイトルバー文字列、maxNumに最大文字数(1~14,省略時:14)を指定します。

サンプルコード

メッセージを表示し、[了解]ボタンを表示(戻り値なし)
DIALOG "しゅうりょうしました"
実行確認画面を出し、[中止][実行]ボタンを表示
?DIALOG("じっこうしますか?",4,"かくにん",30) 'タイムアウトは30秒
実行結果
[中止](又はBボタン)が押されたら「-1」
[実行](又はAボタン)が押されたら「1」
何も押されずに30秒経ったら「0」を表示

表示メッセージ以外はパラメータの省略も可能。また漢字の表示も可能。
?DIALOG(CHR$(&H7D42)+"わりました。",,,30)
実行結果
「終わりました。」と漢字を含むメッセージを表示し、
[了解]ボタンを表示し、タイムアウト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 プチコン3号 カタログIPの利用開始を宣言

Facebookコメント