大家好:
我們醫院想上“醫卡通”,有一個問題弄不明白,請教各位。
為了節省費用,選用磁卡,磁卡面上印有賬號,而磁條上的賬號是加密的,請問:
我怎樣才能在輸入賬號時,在賬號欄既可以用鍵盤輸入賬號,也可以直接刷卡。
謝謝
uj5u.com熱心網友回復:
在那查詢事件中先看是否是正常賬號,是就直接查詢,不是就解密再查詢!
uj5u.com熱心網友回復:
樓上說得很好,我就是這么處理的uj5u.com熱心網友回復:
謝謝還需請教,還是磁卡問題:如果別人直接用他人卡面上的的賬號,寫一張卡,不就和鍵盤輸入一樣了?
uj5u.com熱心網友回復:
非要處理的話,可以考慮在程式中檢測當前輸入賬號的方式,鍵盤輸入或是讀卡器讀入;
不過估計有人為此而做假卡的極少.
uj5u.com熱心網友回復:
那怎樣判斷:是鍵盤輸入或是讀卡器讀入?uj5u.com熱心網友回復:
比較笨的方法,沒有測驗過:可以考慮設定一個標志變數, 如 boolean ib_iskeyboard = false //默認為讀卡器讀入
當鍵盤輸入的時候隨即設定 ib_iskeyboard = true
查詢前檢測該值.
查詢完畢后,復位該標志 ib_iskeyboard = false
uj5u.com熱心網友回復:
還是不明白uj5u.com熱心網友回復:
利用視窗時鐘來判斷多少秒內如果還沒有輸入多少字符的話肯定就是手工輸入而不是磁條閱讀(0.2s居然才輸入2個字符)或者利用文框控制編輯事件每輸入一個字符now()一下,然后累計計算平均每字符時間差(同上)太慢肯定就是人工輸入
以上兩方法可能需要實體變數配合,別說你不知道哈。
uj5u.com熱心網友回復:
就這樣了,磁卡就是提供快速輸入的方法!這賬號是有個人資訊吧!別從也用不了啊!
uj5u.com熱心網友回復:
刷卡事件等同鍵盤敲入事件你貌似不需要區分吧
uj5u.com熱心網友回復:
1. 定義引數或者全域變數 gs_CardFlag = 'Y' // 當然可以是別的值2. 在 卡號判斷時 取 Upper(Left(Data,1)) = 'Y' 就認為是 輸入的卡號 ,直接進行查詢,否則則認為輸入的加密卡號,進行解密后查詢
3. 程式時死的,人是活的 ,你要定義了規則去讓他們遵守 ,而不是把各種情況都列舉出來 ,人的創造力是無限的 ,把他固定一下并不見得是壞事
uj5u.com熱心網友回復:
做醫療軟體的 同行頂起~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/93643.html
標籤:API 調用
