BHT:TOP

入力(input)

画面モードの種類について


BHT-BASIC 構文で表現する場合

private quantity%
screen 1

'数字入力指定
OUT &h60B0, 0
OUT .pnKeyEnt, .pvKyNm

'英数字入力指定
OUT &h60B0, 1
OUT .pnKeyEnt, .pvKyAlpNm

'左辺:プロンプト、右辺:格納用変数
input "個数=", quantity%

'キー入力待ち。結果は、inkey$に格納される。
WAIT 0, &h01

ライブラリ関数:LIWaitInputKey500% を使用する場合

まず、ライブラリを取り込みます。
'$Include:'libPa500.def'
数値指定ではなく定数指定した場合、定数定義ファイルを取り込みます。
'$Include:'lib500.dim'

使用方法:waitPtn% = LIWaitInputKey500%(minLen%, maxLen%, CharMode%, defData$, defCurPos%, escapeKey$, scrMode%, dblWidthAtt%, revAtt%, dispFont%, locLine%, locDigit%, HeaderCode$, cursorSwitch%, SetEntFlag%, FontColor&, BGColor&, dispStrt%, dispLen%)


入力結果はLIGetInputData$に格納されます

この関数には戻り値があるため、文字列表示だけのものですが左辺(数値型)が必須になります。

Lc.RIN.OK(1) : 成功時
Lc.RIN.ESC(2) : エスケープキー入力
Lc.RIN.ERR(0) : エラー(パラメータ不正)

戻り値数値指定定数指定
成功1Lc.RIN.OK
エスケープキー入力2Lc.RIN.ESC
失敗0Lc.RIN.ERR

引数数値指定定数指定備考
minLen%
(最小取得文字)
--この文字数以下は受け付けません
maxLen%
(最大取得文字)
--この文字数以上は入力できません
CharMode%
(入力モード指定)
0 : 数字
1 : 英字
2 : 英数字
Lc.CMD.NUMERIC
Lc.CMD.ALPHABET
Lc.CMD.ALPHANUMERIC
Lc.CMD.HEX
-
defData$
(デフォルト値)
---
defCurPos%
(デフォルト値表示後のカーソル位置)
0 : 追記
1 : 上書き
Lc.DCP.ADDWRITE
Lc.DCP.OVERWRITE
-
escapeKey$
(エスケープキー(スペース区切り))
M1 M2-"M1 M2"
ScrMode%
(表示モード)
0 : ANKモード
1 : 漢字モード
Lc.SCR.ANK
Lc.SCR.KANJI
-
dblWidthAtt%
(倍角属性)
0 : 標準サイズ
1 : 横倍角
Lc.WAT.NORMAL
Lc.WAT.WIDTH
-
RevAtt%
(反転属性)
0 : 通常
1 : 反転
Lc.RAT.NORMAL
Lc.RAT.REVERSE
-
dispFont%
(表示フォント)
0 : 標準フォント
1 : 小フォント
Lc.DFT.NORMAL
Lc.DFT.SMALL
-
LocLine%
(開始行)
--表示位置
locDigit%
(開始列)
--表示位置
HeaderCode$
(先頭コード)
--先頭がこれに一致しなければ受け付けない
※最大5文字
cursorSwitch%
(カーソルスイッチ)
0 : 表示なし
1 : アンダーライン
2 : ブロック
255 : ユーザー定義カーソル
???
Lc.CUR.BLOCK
???
???

SetEntFlag%
(ENTキー確定フラグ)
0 : 最大取得文字で確定
1 : ENTキーで確定
Lc.False
Lc.True
-
FontColor&
(文字色)
&H00000000
&HFFFFFF00
Lc.COL.BLACK
Lc.COL.WHITE
16進数での指定。
※16進数は&H**と表現します。
BGColor&
(背景色)
&H00000000
&HFFFFFF00
Lc.COL.BLACK
Lc.COL.WHITE
16進数での指定。
※16進数は&H**と表現します。
DispStrt%
(表示先頭桁)
--入力の何桁目から表示させたいかを指定
※LIGetInputData$には入力値全て入ります
DispLen%
(表示桁数)
--入力の何桁目まで表示させたいかを指定
※LIGetInputData$には入力値全て入ります