技術情報

アプリケーション開発ガイド -キーが押されるまで待つ-

キーが押されるまで待つ

機能

キーが押されるまで、プログラムを中断して待ちます。

書式

詳細説明

ポート0のビット0は、キーボードバッファのデータ有無を監視するフラグに割り当てられています。WAITステートメントを使用して、このフラグが「データ有」に変化するのを待ちます。

[ENT]キーが押されるのを待つ、[F1]が押されるのを待つ、など、特定のキーが押されるのを待つ場合は、WAITステートメントで何かキーが押されるのを待った後、どのキーが押されたか判別します。
押されたキーを判別するには、INKEY$関数を使用して押されたキーのキーデータを取得し、各キーに割り当てられているキーデータと比較してください。
キーデータには、下表の値が、デフォルトで割り当てられています。

キー キーデータ(デフォルト)
[F1] A
[F2] B
[F3] C
[F4] D
[F5] E
[F6] F
[F7] G
[F8] H
[ENT] キャリッジリターン(0Dh)
[BS] バックスペース(08h)
[C] キャンセル(18h)

上記以外のキーについては、BHT-BASICプログラミングマニュアル「付録E キーボードとキー番号」を参照してください。

使用例
[ENT]キーが押されるまで待つ
  private waitENT$
waitENT:
wait 0,&h01                    '何かキーが押されるまで待つ
waitENT$ = inkey$              '押されたキーのキーデータを取得
if waitENT$ <> chr$(&h0D) then 'キーが[ENT]以外の場合、
goto waitENT                 '再びキーが押されるまで待つ
endif
print "[ENT]"
[F1]キー、または、[F2]キーが押されるまで待つ
  private waitkey$
waitkey:
wait 0,&h01                    '何かキーが押されるまで待つ
waitkey$ = inkey$              '押されたキーのキーデータを取得
select waitkey$
case "A":                    'キーが[F1]の場合
print "[F1]"               '[F1]表示
case "B":                    'キーが[F2]の場合
print "[F2]"               '[F2]表示
case else:                   'キーが[F1][F2]以外の場合
goto waitkey               '再びキーが押されるまで待つ
end select

お問合せ

QBdirect