FreeBASIC マニュアルのトップに戻る

FreeBASIC Inkey

目次→実行時ライブラリー参考→ユーザ入力INKEY←オリジナル・サイト

INKEY 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

キーボード・バッファで、キー入力を待って、最初のキーの文字を返します。

構文:
declare function Inkey ( ) as string

用法:
result = Inkey [$]

戻り値:
キーボード・バッファの、先頭文字を返します。見つからなければ、空の文字 ("") を返します。

記述:
キーボード・バッファを覗いて、見つけたものの先頭文字の String 表現を返します。
そして、キーは、バッファから取り外されます。キー入力した文字は、画面に表示されません。
キーボード・バッファが空ならば、 キー入力を待つことなく、直ぐに、空の文字 ("") を返します。

入力されたキーが、ASCII文字セットに含まれているなら、その文字の String を返します。
入力したキーが「拡張」されたもの(テンキー(キーボード右の数字キー)、カーソル、ファンクション・キー)であれば、2文字の String を返します。最初に返された文字が、拡張キーであることを示しています。(下の方言差を参考下さい。)

キーボード・バッファを入力しないとき、この関数で、独自に、Shift、Ctrl、Alt、および AltGr キーを読むことは、できません。(もっとも、明らかでしょうが、 「Shift-A」は「Control-A」などと違って、Inkey で返されます。「Alt-A」は、上の拡張キーに該当します。)

キーボード・バッファが空の間は、キー入力を待つ、Input()GetkeySleep についても、比較参考してください。

例:
Print "キー q を入力すると終了します。"
Do
    Sleep 1, 1
Loop Until Inkey = "q"


'' -lang fblite または qb でコンパイルする

#lang "fblite"

#if __FB_LANG__ = "qb"
#define EXTCHAR Chr$ (0)
#else
#define EXTCHAR Chr (255)
#endif

Dim k As String

Print "何かキー入力して下さい。「Esc」キー入力で終了します。"

Do

    k = Inkey$

    Select Case k
        Case "A" To "Z", "a" To "z": Print "文字: " & k
        Case "1" To "9":              Print "数字: " & k
        Case Chr$(32): Print "Space"
        Case Chr$(27): Print "Escape"
        Case Chr$(9): Print "Tab"
        Case Chr$(8): Print "Backspace"

        Case Chr$(32) To Chr$ (127)
            Print "記号: " & k

        Case EXTCHAR & "G": Print "Up Left / Home"
        Case EXTCHAR & "H": Print "Up"
        Case EXTCHAR & "I": Print "Up Right / PgUp"

        Case EXTCHAR & "K": Print "Left"
        Case EXTCHAR & "L": Print "Center"
        Case EXTCHAR & "M": Print "Right"

        Case EXTCHAR & "O": Print "Down Left / End"
        Case EXTCHAR & "P": Print "Down"
        Case EXTCHAR & "Q": Print "Down Right / PgDn"

        Case EXTCHAR & "R": Print "Insert"
        Case EXTCHAR & "S": Print "Delete"

        Case EXTCHAR & "k": Print "Close window / Alt-F4"

        Case EXTCHAR & Chr$(59) To EXTCHAR & Chr$ (68)
            Print "Function key: F" & Asc(k, 2) - 58

        Case EXTCHAR & Chr$(133) To EXTCHAR & Chr$ (134)
            Print "Function key: F" & Asc(k, 2) - 122

        Case Else
            If Len(k) = 2 Then
                Print Using "Extended character: chr$(###, ###)"; Asc(k, 1); Asc (k, 2)
            ElseIf Len(k) = 1 Then
                Print Using "Character chr$(###)"; Asc (k)
            End If

    End Select

    If k = Chr$(27) Then Exit Do

    Sleep 1, 1

Loop



方言差:

QBからの違い:

参照:

ユーザ入力に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2020-09-12 02:30:31
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

ホームページのトップに戻る

表示-非営利-継承