文字入出力操作

MESG 【〈書式文字列〉,〈式〉…】

〈書式文字列〉と〈式〉の値からなる文字列をメッセージエリアへ表示します。

MESGで出力できる文字数は残りメモリのみに依存します。

引数を省略したときはメッセージエリアの表示内容を消去します。

TEXT 〈文字セグメント〉【,〈書式文字列〉,〈式〉…】

〈書式文字列〉と〈式〉の値からなる文字列を〈文字セグメント〉に設定します。〈文字セグメント〉が表示状態になっているときは表示が更新されます。

空の文字セグメントを作るには、空白や改段落を入れて必要な表示領域の大きさとします。TEXT文で扱える文字数は残りメモリのみに依存します。ただし、〈文字セグメント〉の表示領域は更新されないため、実際に表示されるのは、表示領域に収まる文字だけです。

文字セグメントにすでに文字が入っていた場合は、一番左から上書きされ、元の文字列は失われます。

VERSION 3 が指定されたときは、文字セグメントがもともと持つ文字属性が文字列の表示に反映されます。

VERSION 3 が指定されていないときは、文字セグメントがもともと持つ文字属性のうち、書体の設定以外が、文字列の表示に反映されます。また、文字セグメントの先頭文字が半角の場合は、設定した文字列はすべて半角で表示されます。書体は明朝体で表示されます。

TEXT文によって、任意の属性を持つ文字列を与えることはできません。文字セグメントがもともと持つ文字属性(先頭の文字の属性)が反映されます。

プログラム例

#文字セグメント“時刻”に現在の「時」(0~23)を表示する
VERSION 3
PROLOGUE
SCENE 時刻
TEXT 時刻,"%d",$TIME/10000
#$TIME
END

INPUT 【〈文字セグメント〉【,〈カーソルX座標〉,〈カーソルY座標〉】】

〈文字セグメント〉が表示状態になっているときに入力状態とします。入力状態となった文字セグメントにはカーソルが点滅表示されキーボードから数字を入力できます。

†かな漢字変換を通した任意の文字が入力にはKINPUT文を使います。

言語指定コードを含む文字セグメントには対応していません。言語指定コードを含む文字は入力できません。

†比例ピッチ指定の文字は正しく処理されません。

†全角・半角の文字列を任意に切り替えて入力することはできません。

INPUT文は、単に文字を入力できるようにカーソルを表示するだけです。すぐにINPUT文の次の文に制御が移ります。この文自体で、文字入力の終了を待つわけではありません。

〈カーソル座標〉はカーソルを表示する座標の指定で、通常はイベントにより起動された時に渡される座標をそのまま指定します。〈カーソル座標〉を指定しない場合、または0以下の値の時は、〈文字セグメント〉の最後の位置にカーソルが表示されます。入力した文字はカーソル位置に追加されていきます。文字列の編集は、一字消しと削除だけができます。

入力状態の〈文字セグメント〉では、カーソル移動キー[←][→][↑][↓]によりカーソルを移動できます。また、文字の挿入、削除ではカーソルは移動しません。

文字セグメントに1文字の入力があるたびに、文字セグメントの状態名“V”にただちに反映され、取り出すことができます。取り出すことができる値は数値に限ります。

〈文字セグメント〉に格納できる文字数は基本図形編集で最初に作成した文字セグメント内の文字数、またはTEXT文で設定した文字数に制限されます。したがって複数行に渡る〈文字セグメント〉を使用する時は、改行ではなく空白で埋めておかないと実際に文字が入りません。

例:
ACTION 入力(s,n,x,y) PRESS T1,T2,T3
INPUT s,x,y
END
# 文字セグメントT1,T2,T3をプレスした時に、そのセグメントを入力状態としてプレスした位置にカーソルを表示する。

〈文字セグメント〉を省略すると、入力状態の文字セグメントにあるカーソルが消え、非入力状態になります。

入力状態の文字セグメントはウィンドウの中に1つしかありません。したがって、INPUT文により入力状態の文字セグメントを切り替えた場合は、それまで入力状態であった文字セグメントは入力状態でなくなります。また、入力状態の文字セグメントは、DISAPPEAR文やSCENE文により表示が消されると、入力状態でなくなります。

KEYイベントの手続きが定義されている場合に、入力状態の文字セグメントが存在するケースを考えます。このときKEYイベントの手続きは、文字キー・[Backspace]キー・[Delete]キー以外のキーが押されたときのみ実行されます。たとえば、[Tab]キーや[Enter]キーなどが押されたときです。

プログラム例

VERSION 3
PROLOGUE
SCENE BOX
INPUT BOX # 数値を入力できるようにする
END
ACTION 入力チェック KEY # 改段落が入力されたら、それまで入力された数値を表示
IF $KEY==0xA
MESG "%d",BOX.V
ENDIF
END

KINPUT 【〈文字セグメント〉【 ,〈カーソルX座標〉,〈カーソルY座標〉】】

〈文字セグメント〉が表示状態になっているときに入力状態とします。入力状態となった文字セグメントにはカーソルが点滅表示され、キーボードからかな漢字変換を通して任意の文字が入力できます。

†文字列の末尾にも改段落が入力できます。

†入力した結果は一意表現となります。

†比例ピッチ指定の文字は正しく処理されません。

†全角・半角の文字列を任意に切り替えて入力することはできません。

KINPUT文の使い方は、基本的にはINPUT文と同じですが、以下の相違点があります。

KINPUT文とINPUT文の相違点

1) KINPUT文はかな漢字変換を通して任意の文字が入力できますが、INPUT文はかな漢字変換を通さない数値の入力に使います。

2) 〈カーソル座標〉を指定しない場合、または0以下の値の時、KINPUT文は〈文字セグメント〉の先頭の位置にカーソルが表示されます。INPUT文は〈文字セグメント〉の最後の位置です。

3) 入力状態の〈文字セグメント〉で文字の挿入、削除をすると、KINPUT文は挿入/削除にともなってカーソルも移動します。INPUT文は移動しません。

前のページへウィンドウ/表示操作 次のページへ仮身操作

ページの先頭へ戻る

HOME > サポート情報 > 取扱説明書 > 文字入出力操作