使用的類操作如下:
#region using
using system;
using system.io;
using system.runtime.interopservices;
using system.text;
#endregion
/// /// 用於獲取二代身份證的基本資訊(包括)
/// 呼叫時確保 由廠商提供的api的動態鏈結庫等及lic檔案
/// 裝置 精倫電子公司的idr200 或 idr210 型號測試通過
/// 獲取的頭像在應用程式目錄下「photo.bmp」檔案
///
public class idcardreader
if (intopenret != 1)
//卡認證
int intreadret = authenticate();
if (intreadret != 1)
//readbaseinfos(推薦使用)
int intreadbaseinfosret = readbaseinfos(
name, gender, folk, birthday,
code, address, agency,
expirestart, expireend);
if (intreadbaseinfosret == 0)
beep(2047, 200);
readcardcompletedeventargs args = new readcardcompletedeventargs();
args.code = code.tostring().trim();
args.name = name.tostring().trim();
args.gender = gender.tostring().trim();
args.folk = folk.tostring().trim();
args.birthday = birthday.tostring().trim();
args.address = address.tostring().trim();
args.agency = agency.tostring().trim();
args.expirestart = expirestart.tostring().trim();
args.expireend = expireend.tostring().trim();
args.photopath = directory.getcurrentdirectory() + "\\photo.bmp";
closecomm();
if (readcardcompleted != null)
}} /// /// readcardcompleted事件引數類
/// 包含身份證基本資訊和
///
public class readcardcompletedeventargs : eventargs
/// /// 性別
///
public string gender
/// /// 民族
///
public string folk
public string birthday
/// /// 身份證號
///
public string code
public string address
/// /// 發證機關
///
public string agency
public string expirestart
public string expireend
public string photopath
}
**沒有什麼改動 就換了一下名字 讓程式設計生活體驗更好一點。
當時為什麼這樣寫? 這個問題是問這麼寫有什麼好處。現階段我只能說習慣這樣寫。
對了,模模糊糊感覺為了好非同步處理這個類的例項。
為什麼要處理 非同步處理這個類的例項? 因為外部裝置執行有乙個響應時間,這個響應時間有長有短,不易控制,還容易介面無法響應。
這樣介面就感覺卡卡的,使用者體驗也不好。這樣的軟體還容易被淘汰掉。得妥善解決這一問題!
非同步呼叫是關鍵。
reader.value.readcardcompleted += (args) =>
;action delegatereader = () => reader.value.readcard();
delegatereader.begininvoke(null, null);
這裡用到了委託的非同步呼叫, 明顯改善了程式的效能和使用者體驗。
這裡只是寫了一種情況 當然其他具體情況 請看官們斟酌了。
本文采自:
OPC UA的原始碼使用
1 修改上的坑 著手改動顯示的節點,這個改動是在underlyingsystem.cs這個檔案中,開啟檔案時就能看到s blockpathdatabase和s blockdatabase這兩個string的陣列,從陣列的內容就知道是節點和節點的內容了,在看看下面的findsegments finds...
STL原始碼 traits的使用
關於iterator traits和type traits的使用,我們什麼時候會使用這兩個類?我們怎麼使用?問題 將 first1,last1 區間內的元素複製一遍。我們需要知道first1迭代器的型別。template iter copy iter first1,iter last1 else n...
spring原始碼,AOP的使用
1.aop是什麼 網路上很多解釋,本文不在贅述,大致意思就好比,比如你乙個月前開發了乙個 功能就是乙個除法功能,而現在,你想在原有除法功能基礎上,記錄傳入的引數 除數,被除數 到資料庫,並且在除法功能完成後,記錄一下返回值到資料庫。按照以前的邏輯是需要到這個除法功能裡面,修改原有 當然,這個除法功能...