• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    PB中實(shí)現(xiàn)通過神盾ICR—100M身份證閱讀器讀取身份證信息的方法

    2014-04-29 00:00:00華逢兆

    摘 要:在許多應(yīng)用系統(tǒng)中,需要輸入用戶的姓名、身份證號(hào)等身份證上的信息,為了保證信息輸入的準(zhǔn)確性,可以采用身份證閱讀器讀取第二代居民身份證的信息輸入到應(yīng)用程序中,本文主要探討在PowerBuilder中,神盾ICR-100M身份證閱讀器讀取身份證信息的方法。

    關(guān)鍵詞:PowerBuilder;身份證閱讀器;身份證信息;ucs_2編碼;GB 2312-80編碼

    中圖分類號(hào):TP311.52

    許多應(yīng)用系統(tǒng)中都涉及到錄入身份證信息的問題,如果身份信息錄入不正確或不完整,可能會(huì)在應(yīng)用過程中出現(xiàn)很多問題,比如我院學(xué)生收費(fèi)管理系統(tǒng)在前期版本中,未錄入學(xué)生身份證號(hào),設(shè)計(jì)時(shí)是以學(xué)號(hào)來區(qū)分不同學(xué)生。但在其他系統(tǒng)中,比如學(xué)生資助的系統(tǒng)中是以身份證號(hào)來區(qū)分不同學(xué)生,為核對(duì)學(xué)生收費(fèi)情況和資助情況造成困難,如果按姓名來進(jìn)行核對(duì),可能出現(xiàn)重名或者姓名錄入錯(cuò)誤等情況。為了解決這個(gè)問題,就需要在學(xué)生收費(fèi)系統(tǒng)中增加身份證號(hào),但如果用人工錄入身份證號(hào),一是容易出錯(cuò),二是效率低下。為了避免錄入的身份證信息出現(xiàn)錯(cuò)誤和提高工作效率,我們采用了神盾ICR-100M身份證閱讀器讀取身份證信息。

    1 實(shí)現(xiàn)原理

    1.1 神盾ICR-100M身份證閱讀器提供了進(jìn)行二次開發(fā)的SDK開發(fā)包,主要包括以下文件:termb.h API函數(shù)原型定義。termb.lib API函數(shù)的VC開發(fā)包。termb.dll API函數(shù)的動(dòng)態(tài)聯(lián)接庫。sdtapi.dll termb.dll需要的后臺(tái)庫(和termb.dll一起放在當(dāng)前目錄或系統(tǒng)目錄下)。IDCard.dll termb.dll需要的后臺(tái)庫(和termb.dll一起放在當(dāng)前目錄或系統(tǒng)目錄下)。

    1.2 函數(shù)列表

    int InitComm(int Port) 初始化串口

    int InitCommExt() 初始化串口(擴(kuò)展)

    int CloseComm() 關(guān)閉串口

    int Authenticate() 卡認(rèn)證

    Read_Content(int Active) 讀卡操作,信息文件存儲(chǔ)在應(yīng)用程序當(dāng)前目錄下;

    int GetSAMID (char * cSAMID) 獲取SAM編號(hào)

    Int GetPhoto(char * Wlt_File) 獲取bmp照片

    1.3 函數(shù)調(diào)用流程

    1.4 文字信息讀取

    讀完后,文字信息采用GB 13000的UCS-2進(jìn)行存儲(chǔ),各項(xiàng)目分配如下:

    2 實(shí)現(xiàn)方法

    int li_cshdk,li_sq,li_dwj,li_fh

    long l_file_length,l_ret

    string ls_xm,ls_sfzh,ls_long

    li_cshdk=InitComm(1001) //初始化端口

    if li_cshdk=1 then

    messagebox(\"提示信息\",\"初始化端口成功\")

    else

    messagebox(\"提示信息\",\"提示信息失敗,檢查硬件連接是否正確。\")

    end if

    if li_cshdk=1 then //卡認(rèn)證

    li_sq=Authenticate()

    if li_sq<>1 then

    messagebox(\"提示信息\",\"身份證放置不正確,請(qǐng)重新放置身份證。\")

    end if

    else

    return

    end if

    if li_sq=1 then //讀卡

    li_dwj=Read_Content(1)

    if li_dwj<>1 then

    messagebox(\"提示信息\",\"讀卡失敗,可能身份證信息已被破壞。\")

    end if

    else

    return

    end if

    CloseComm()//關(guān)閉端口

    //打開文件

    li_fh=FileOpen(\"wz.txt\",StreamMode!,Read!,lockread!)

    l_file_length=0

    IF li_fh <0 THEN

    FileClose(li_fh)

    RETURN

    END IF

    //讀文件,將ucs-2編碼轉(zhuǎn)換為GB2312-80編碼

    l_ret=FileRead(li_fh,ls_long)

    if l_ret <> -100 then

    li_textlen=WideCharToMultiByte(936,0,ls_long,255,ls_rddata,255,ls_tmp,lb_udc)

    // ls_rddata保存轉(zhuǎn)結(jié)果

    end if

    FileClose(li_fh)

    3 結(jié)束語

    在將身份證信息轉(zhuǎn)換為GB2312-80編碼后根據(jù)需要取出所需信息,本文的程序在PB 9.0下調(diào)試通過,應(yīng)用于我院學(xué)生收費(fèi)系統(tǒng)中。

    參考文獻(xiàn):

    [1]李勇.PowerBuilder8.0徹底研究[M].北京:中國鐵道出版社.

    [2]身份證閱讀器智能接口版SDK使用手冊(cè) V1.30.公安部第一研究所,2007.

    作者單位:安順職業(yè)技術(shù)學(xué)院信息工程系,貴州安順 561000

    新沂市| 古田县| 昆明市| 封开县| 宁明县| 都江堰市| 九龙坡区| 隆安县| 鄢陵县| 保山市| 武汉市| 姜堰市| 长垣县| 缙云县| 双牌县| 鹤峰县| 漾濞| 荥阳市| 定南县| 潞城市| 长治市| 黄大仙区| 远安县| 朝阳市| 天峨县| 永泰县| 沙雅县| 乳山市| 上蔡县| 霸州市| 穆棱市| 皋兰县| 浑源县| 九龙城区| 腾冲县| 南木林县| 忻州市| 普洱| 多伦县| 陵川县| 霍城县|