ICカード読み取り動作の停止

投稿者:駆け出しSE 投稿日:2021/02/18(Thu) 11:59:58 No.2632

こんにちは。
現在、公開されているサンプルをもとに、打刻アプリを作成しています。
起動後にICカードをリーダーにかざすと、打刻処理完了のメッセージが
表示されると思うのですが、別画面がアクティブな状態では
打刻処理が停止するようにしたいです。

どのようにすれば制御可能でしょうか。
よろしくお願いいたします。
(実現したいこと)新規カード登録画面表示時に
         ICカードのIDを打刻処理が走らない状態で読み取りたい

Re: ICカード読み取り動作の停止

投稿者:ゆうと 投稿日:2021/02/19(Fri) 22:23:01 No.2634

こんにちは ゆうとです。
投稿ありがとうございます。

> (実現したいこと)新規カード登録画面表示時に
> ICカードのIDを打刻処理が走らない状態で読み取りたい

やりたいことや問題を整理して、方法を考えることをおすすめします。

この場合、
> ICカードをリーダーに置いた時に、打点処理する場合と、新規カード登録する場合とがある
ということだと思います。

方法1.
打刻処理とカード登録は、同時に使う機能ではないので
例えば、「打刻処理する機能」と「新規カードを登録する機能」を
それぞれ別のプログラム(rdrファイル)にするのが簡単だと思います。

方法2.
ICカードの読み取り時に「登録処理中」というフラグ変数を用意して
×ならば打点処理を
○ならば登録処理をする
ということができると思います。

ブログの記事を参考にされている場合には
https://wp.utopiat.net/2017/05/171/#i-7
--------------
登録処理中は、×
繰り返す
・・・
    カードIDmは、読み取り結果
    もし登録処理中なら
      ・・・(登録用のプログラム)
    そうでなければ
      ・・・(現状のプログラム)
    もし終わり
繰り返し終わり
--------------
などと書いて分岐させれば良いかともいます。

他にも、効率はよくありませんが
打点処理用と登録用で2つのタイマーを作り、開始と停止を相互に切り替える
方法もあると思います。
https://docs.utopiat.net/rdr/manual/core/timer.htm

参考になれば幸いです。

▲ページの先頭へ

- WebForum -