連続で、ID取得を行うにはどうすればいいですか
質問:OrangeEasyAPIを利用して、ボタンを押した時だけ読むのではなく、連続で読み続けるにはどうすればよいですか?
回答:
製品付属のサンプルプログラムソースでは、ボタンを押した時のみID読取りを行っています。
これを連続で行うには、タイマーなどのコンポーネントを利用して、定期的にAPIを呼び出してください。
※0.5秒~1.0秒(500ms~1000ms)間隔での呼び出しを推奨しております。(SCL010の場合)
※1.5秒(1500ms)程度の間隔での呼び出しを推奨しております。(R1-1Rの場合)
例.VB2008の場合
1.プロジェクトを開いて、デザイナ(画面を開発する画面)を開く
サンプルプログラムソースでは、Form1.vbを開いて下さい。
2.[ツールボックス]の中から「Timer」を選択して、画面の上にドラッグ&ドロップする
Timer1というコンポーネントが画面の下部に追加されます。
3.追加されたコンポーネント(例.Timer1)を選択して、プロパティの[Enable]をTrueにする
デフォルトでEnableはFalseになっていますので、Timerが動作しません。
[Interval]を変更することで、読取り間隔(ミリ秒)を変更することができます。
100ミリ秒以下に設定することはできません。
3.追加されたコンポーネント(例.Timer1)をダブルクリックして、Timerイベントを作成する
ダブルクリックするとForm1.vbに
Private Sub Timer1_Tick( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
が追加されます。
4.Timer1_Tick内でAPIを呼び出す
定期的に行いたい処理をここで記述してください。
Private Sub Timer1_Tick( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim id(10) As Byte
Dim length As Integer
Dim result As String
Dim value As Integer
result = ""
'ICを読取ります
value = GetCardID(id(0), length)
End Sub
カード連続読取中に、突然少しの間リーダライタがカードを読み込まなくなる
カードをかざした時に鳴るデフォルトの音を消したいのですが可能でしょうか?