• 
    

    
    

      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

      池州市| 商洛市| 珠海市| 二手房| 资兴市| 阳曲县| 台山市| 新平| 疏勒县| 明光市| 海丰县| 石楼县| 沅江市| 福贡县| 乌苏市| 岫岩| 康保县| 上杭县| 许昌市| 彰化市| 门源| 鹿泉市| 五台县| 瓦房店市| 永康市| 济南市| 安丘市| 长乐市| 全南县| 镇江市| 德惠市| 吉木乃县| 玛沁县| 永州市| 会同县| 乌什县| 肥西县| 丹东市| 布拖县| 全州县| 桃园县|