ここから本文です

vb.net テンキー入力のプログラミングについて

アバター

ID非公開さん

2011/6/2623:48:09

vb.net テンキー入力のプログラミングについて

プログラミング、vbに詳しい方、お願いします。

私は今vb.netを使って、反応時間を測るプログラミングを作っています。
刺激呈示→テンキー押す→反応時間算出→押されたテンキーと反応時間をメモ帳に記録
という流れのプログラミングを作りたいです。

今、最後の「押されたテンキーと反応時間をメモ帳に記録」という部分が上手くいっていません。
それっぽい数字は記録されるのですが、おそらくテンキーの数値と思われる部分が
144や98、99のような番号で記録されています。

どのようなプログラミングを組んだら、1,2,3というような数値で記録されるようになるでしょうか?
ネットでも色々調べましたが、答えを見つけられていません。

分かる方、よろしくお願いします。

補足>distrofreakさん
有難うございます。該当コードの一部です

Private Sub Form2_KeyDown (略) Handles MyBase.KeyDown
If p1.Visible = True Then
If e.KeyCode = Keys.NumPad1 Then
RT =timeGetTime
p2.Visible = True
Else
time = timeGetTime
Print( time &"." & e.KeyCode & vbCrLf)
End If
End If

刺激(p1)呈示
→1が押されれば反応時間(RT)が記録され、次の刺激(p2)呈示
→それ以外は、ボタンの番号とそのタイムをメモ帳に記録

閲覧数:
1,969
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

10ninさん

2011/6/2701:25:06

どのようにして書き出しているのか、当該部分のコードを抜き出して載せると、回答がつきやすいかと思います。
おそらく、記録されているのは仮想キーコードと呼ばれる、キーに割り当てられた仮想的な数値だと思います。
押されたキーについてSelect Case文で分岐し、文字列に置き換えるのがカンタンではないかと思います。
(場合によってはToStringすることで印字されている値に近い文字列が得られるかもしれません)

また、使用するタイマーによっては目的とする精度を得られない可能性もあるので、タイマーについても調べてみて、反応速度を見るという目的に合致した精度が得られるのか再検討してみると良いと思います。

アバター

質問した人からのコメント

2011/6/27 23:33:41

ご指摘ありがとうございました。
「仮想キーコードを調べ、select case文で分岐」をやってみます。
まだ成功していませんが、頑張ります。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる