====== 文字表示・入力 ======
[[erabasicリファレンス|リファレンストップ]] · [[erabasicリファレンス_総索引|名前の総索引]]
文字表示、フォント・色、入力、入力待ちを調べます。
===== 命令の説明 =====
==== DRAWLINE ====
横一列に横棒を表示する命令です。
==== WAIT ====
入力待ちを行います。Emueraの場合はマウスクリックも入力と扱います。
==== PRINT(|V|S|FORM|FORMS)(|K|D)(|L|W) ====
PRINT系の基本となる命令です。\\
1つ目の括弧内のキーワードは引数タイプを指定します。\\
* なし - (<文字列>)
* V - (<数式> <数式> ,<数式> ……)
* S - <文字列式>
* FORM - (<書式付文字列>)
* FORMS - <書式付文字列式>
2つ目の括弧内のキーワードの"K"はFORCEKANA命令の適用を指定します。またキーワード"D"はSETCOLOR命令を無視することを指定します。ver1.736現在、キーワードKとDを同時に指定することはできません。\\
* なし - FORCEKANAを無視し、SETCOLORで指定された色で描画します。
* K - FORCEKANAを適用して描画します。
* D - SETCOLORを無視してコンフィグで指定されたディフォルト色で描画します。
* 3つ目の括弧内のキーワードは描画後の改行、WAITの有無を指定します。
* なし - PRINTのみで改行やWAITは行いません。
* L - PRINT後、改行します。
* W - PRINT後、改行しWAIT命令を行います。
これらの組み合わせにより、例えばPRINTSDWであれば、引数として<文字列式>を指定し、ディフォルト色で描画し、PRINT後にWAIT命令を行うことを意味します。\\
=== 基本の動作 ===
**PRINT 文字列**
文字列表示命令です。
**PRINTL 文字列**
文字列の表示と改行を一緒に行う命令です。
**PRINTS 文字列変数**
文字列変数の表示を行う命令です。なお、""や
書式:PRINTDATA (数値変数:省略可)
DATA (文字)
DATAFORM (FORM文字列)
DATALIST
(DATA or DATAFORMの羅列)
ENDLIST
ENDDATA
内容:DATA、DATAFORMおよびDATALIST〜ENDLISTで指定した文字列を確率均一でランダムで表示
IFとRANDを使わずにランダム表示を実装可能
引数に数値変数を指定した場合は表示された変数DATAの番号が入ります
表示された文字列によって後の処理をいじりたい場合にどうぞ
DATALIST〜ENDLIST内ではDATAorDATAFORM1個が1行に相当します
とのことです。\\
K、D、L、Wキーワードの効果はPRINT系と同じです。\\
PRINTDATA系〜ENDDATAの内部にDATA系による表示データが与えられてない場合、何もせずに次に進みます。\\
PRINTDATA系〜ENDDATA、およびDATALIST〜ENDLIST内に上記の文法以外の記述をすることはできません。\\
==== PRINTBUTTON(|C|LC) <文字列式>, <数式 or 文字列式> ====
PRINTBUTTON命令はマウスでクリックできるボタンを生成するための命令です。\\
書式としてはPRINTS命令に近いですが、第二引数としてクリックされたときに入力する数字または文字を指定します。 第一引数に改行コードが入っている場合オミットされ改行されません。\\
Emueraは"[300] セーブ"のように[]でくくられた数字とその前後の文字列を自動的にボタンに変換します。\\
このようなボタンを自動ではなく強制的に生成するための命令がPRINTBUTTONです。\\
この命令は例えば以下のような場合に有用です。\\
PRINT これでいい? [0] はい [1] いいえ
INPUT
このような行についてはEmueraはボタンを正しく認識できず、"これでいい? [0] はい"というボタンと"[1] いいえ"というボタンになってしまいます。\\
PRINTBUTTONを用いて書き直すと以下のようになります。\\
PRINTS "これでいい? "
PRINTBUTTON "[0] はい", 0
PRINTS " "
PRINTBUTTON "[1] いいえ", 1
INPUT
(PRINT命令の代わりにPRINTSを使っていますがこれは半角スペースの数を明らかにするためです)\\
このようにすると"これでいい? "はボタンではなくなり、"[0] はい"と"[1] いいえ"だけがボタンになります。\\
なお、PRITNBUTTON命令では表示する文字列に[0]や[1]などが含まれていることは必須ではありませんが、対応する数字を全く表示しないとテンキーなどで操作している方を戸惑わせることになるでしょう。 従来通り[0]などを表記することを勧めます。\\
また、PRINTBUTTON命令では数字だけでなく文字列を入力するボタンを作成することができます。 そうして作成したボタンはINPUTS命令の実行時にクリックすることができます。\\
PRINTL 名前を入力してください。
PRINTBUTTON "[ほげほげ] ", "ほげほげ"
PRINTBUTTON "[ぷげぷげ] ", "ぷげぷげ"
PRINTBUTTON "[ふうばあ] ", "ふうばあ"
INPUTS
括弧内のキーワードは文字を揃える位置を指定します。\\
* なし - 揃えません
* C - PRINTCと同様に右側に揃えます
* LC - PRINTLCと左に揃えます
==== PRINTPLAIN(|FORM) ====
引数の文字列を平文として出力します。この時ボタン文字列(0など)があってもボタン化しません。\\
括弧内のキーワードは引数タイプを指定します。\\
* なし - <文字列>
* FORM - <書式付文字列>
* CUSTOMDRAWLINE <文字列>
==== DRAWLINEFORM