CHARACTER INPUT文は,キーが押されるのを待ち,いずれかのキーが押されると,そのキーが表す文字を文字列変数に代入する。
例 CHARACTER INPUT s$
Enterキー,BackSpaceキー,ESCキーは文字を表す。
Enterキーは文字コードが13の文字を,
Ctrl-Enterは文字コードが10の文字を,
BackSpaceキーは文字コードが8の文字を,
ESCキーは文字コードが27の文字を表す。
ファンクションキーや矢印キーなど,文字を表さないキーは無視する。
<補足>
INPUT文と同様にprompt句,timeout句,elapsed句を書くことができる。
例 CHARACTER INPUT PROMPT "選んだ答えの番号を押してください。":s$
CHARACTER INPUT文にのみ書ける句として,CLEARとNOWAITがある。
例 CHARACTER INPUT CLEAR:s$
先行入力バッファ中の文字をすべて取り除いて後,キー入力を待つ。
例 CHARACTER INPUT NOWAIT:s$
入力待ちをしない。先行入力バッファに文字がないとs$はもとの値のままとなる。
複数の句を書くときはコンマで区切る。書く順序は自由。
例 CHARACTER INPUT ELAPSED n ,CLEAR: s$
例 CHARACTER INPUT CLEAR,ELAPSED n: s$
先行入力バッファ中の文字のバイト数を次の文によって知ることができる。nには数値変数を指定する。
ASK CHARACTER PENDING n
参照 SET ECHO