Contact-less Smart Card Reader & Mifare one Card 二次開發文檔
Author: Dennis Lan
Date: 2003/12/17
Copyright© Universal Master Information Co(sz)., Ltd 轉載請說明出處
續 http://www.csdn.net/Develop/read_article.asp?id=22906
八. 加到應用程式(Form)
Form 應用程式寫卡: 在寫卡的界面上,如 “人事資料卡” 加一個按鈕,在按鈕的 WHEN-BUTTON-PRESSED 下加寫卡的程式,把要寫的資料, 如卡號等等傳給寫卡的 Procedure 即可
Form 應用程式讀卡: 在 Form應用程式中, 如考勤的刷卡界面, 其讀卡的觸發時機是用 Timer 去 Call 讀卡的程式,在一定的頻率下來讀取感應區內 IC 上的 Data
讀寫 IC 卡時注意事項 FAQ:
1. Smart Card Reader 接錯電腦 COM Port 如何處理?
A: Show Message 提示操作員聯繫系統管理員來把 Smart Card Reader 接駁在 COM1 Port
2. 電腦的主板 COM Port Baud Rate 不同如何處理?
A: 暫時有兩種解決方法:
第一種方法: 先根據電腦主板 COM1 Port Baud Rate 的不同來改程式中的 Baud Rate(這樣有較好的 Performance)
優點: 有較好的 Performance.
缺點: 經常要修改程式
第二種方法: 在程式中用 Smart Card Reader 所提供的 Baud Rate 去嘗試連結,直到成功為止(把 Baud Rate 放在一個 Array 裡,最常用的放在最前面如 115200,19200,14400,288000 … )
優點: 不用為每臺電腦來修改改程式;
缺點: 每次啟動和 Smart Card Reader 連結時需要花一定的(視 Array 中 Baud Rate 的順序和電腦主板上 COM Port 的Baud Rate 而定,越在後花的時間就越久)時間,對頻繁連結、斷開的應用程式(如考勤)不適合.
3. 何時把 Smart Card Reader 和電腦連結?
A: 在需要執行讀寫操作時再來連結 Smart Card Reader, 如人事資料卡中寫卡界面,在按下按鈕時,讀卡程式(以考勤為例): 在考勤界面 when-windows-activated 時才和 Smart Card Reader 建立連結
4. 何時把 Smart Card Reader 和電腦斷開?
A: 在讀寫卡界面關閉或 Deactivated 時, 把連結斷開以供其它的應用程式使用. 以考勤界面為例: 當考勤界面關閉或 Deactivated 時,相應的 Trigger 是 when-windows-deactivated、when-windows-close
5. 如果電腦上未連結 Smart Card Reader 如何處理?
A: 在應用程式中加一全域的孌數 :Paramter.DevInstalled,來記錄電腦上是否有連結 Smart Card Reader(注:COM Port 接錯視為無連結設備),改此變數的時機是:連結一次設備看返回的值是多少,如果是 –32 表示無 Smart Card Reader 連結,把:Parameter.DevInstalled 改為 0,在每一次執行讀寫之前先看此孌數的值,如果是0就 Return;什麼都不做.
6. 端口被佔用時如何處理?
A: 如果在用到讀寫程式的應用程式的Close 或 Deactivated 有退出連結的話就應該不會出現此錯誤(返回 -36), 萬一出現這種情況, Show Message 告訴 End-User 關閉其它的讀寫卡應用程式再來執行當前執行出錯的應用程式.
7. 在程式正在執行的中途拔掉 Smart Card Reader 如何處理?
A: 處理方式同 5, 也是用連結的程式去試,如果返回的 Code = -32就把DevInstalled值改為0不再執行讀寫程式,即使立即接駁也無效,需要把要執行讀寫程式的應用程式關閉重開才可執行讀寫
8. 何時設定 Smart Card Reader 的 LCD 上顯示的時間和 Server 同步?
A: 在連結 Smart Card 成功後就執行一次設定時間
9. 讀寫卡成功或失敗時提示的方式?
A: 讀寫卡成功或失敗時可以用 Smart Card Reader 的 Beep 功能, 如果讀寫成功就以 Beep(10), 失敗就 Beep(30)叫的時間長一點.
待續 ...
附錄:
參考資料: