ページ 1 / 1
キーボードによる制御
Posted: 2007年4月14日(土) 23:05
by Str$(old)
Basicプログラムで、0.1秒ごとにキー入力を確認し
aキーを押したら次の動作に移ったり、eキーを押すと終了するようにしたいのですが、
どの文字が入力されたかをどのようにして取得するのですか。
ソースを教えてください。
Posted: 2007年4月15日(日) 00:00
by ゲストさん
Inkey$を使ってください
詳しくはヘルプ参照
Posted: 2007年4月15日(日) 10:40
by konisi
僕ならGetAsyncKeyState関数で取得しますが。
Inkey$関数はPrompt指定がないと動かなかったはずなので。
次のようなコードを書きます。
コード: 全て選択
Dim dummy As Long,flag As Long
Const f_NULL=0
Const f_END=1
Const f_NEXT=2
CreateThread(ByVal 0,0,AddressOf(Timer),0,0,VarPtr(dummy))
flag=f_NULL
Do
If flag=f_END then Leave()
If flag=f_NEXT then Exit Do
Sleep(10)
Loop
'ここに作業内容を書く。
Sub Leave()
'ここに終了処理を書く
ExitProcess(0)
End Sub
Sub Timer()
Do
Sleep(100)
If GetAsyncKeyState(Asc("A")) And &H8000 then flag=f_NEXT
If GetAsyncKeyState(Asc("E")) And &H8000 then flag=f_END
If flag<>f_NULL then Exit Do
Loop
End Sub
Posted: 2007年4月15日(日) 12:54
by Str$(old)
うまくできました。
ありがとうございます。