精倫r210的使用的原始碼

2021-09-26 03:51:15 字數 2425 閱讀 8667

使用的類操作如下:

#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是什麼 網路上很多解釋,本文不在贅述,大致意思就好比,比如你乙個月前開發了乙個 功能就是乙個除法功能,而現在,你想在原有除法功能基礎上,記錄傳入的引數 除數,被除數 到資料庫,並且在除法功能完成後,記錄一下返回值到資料庫。按照以前的邏輯是需要到這個除法功能裡面,修改原有 當然,這個除法功能...