程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi從IC卡讀取數據,並寫入數據模塊代碼

Delphi從IC卡讀取數據,並寫入數據模塊代碼

編輯:Delphi

一個很不錯的Delphi讀取和寫入IC卡的模塊類,可方便讓Delphi開發者調用,代碼注釋清楚,容易理解,下面與大家分享具體代碼:

001 unit U_Card; 002   {* 作者:肖景峰 003    *開發時間:2005-10-30 004    *模塊作用:對讀卡器進行處理 005   } 006 interface 007    {1} //打開設備,進行口令驗正 008     function Open_Card():Boolean; 009       010    {2} // 關閉設備 011     function CLose_Card():boolean; 012    {3} // 寫卡,對卡進行寫操作 013     function Write_card(COntent:pchar):boolean; 014    {4}//對卡進行讀操作 015     function Read_Card():string; 016    {5} //寫卡時內容組織 017     function Content(aa:string):string; 018    {6}//卡片比效函數 019     function Card_Compare():boolean; 020     {7}//是否有卡片在驅動器裡 021     function Check_card():Boolean; 022  implementation 023  uses u_public_define,dialogs,sysutils,StrUtils; 024    {1} //打開設備,進行口令驗正 025     function Open_Card():Boolean; 026       var 027          Status:integer; 028          aa:array[0..2]of char; 029      begin 030        g_icdev:=auto_init(0,9600); 031          g_st:=setsc_md(g_icdev,1); 032   033         aa:=chr(0)+chr(0)+chr(0); 034         //  g_icdev:=auto_init(0,9600); 035           G_st := cmp_dvsc(G_icdev, 3, aa); 036   037           G_st:=setsc_md(G_icdev, 0); 038   039           G_st:=get_status(G_icdev, @Status); 040         If G_st < 0 Then 041           begin 042             showmessage('驅動器有錯誤!請檢查設備後繼續使用!'); 043              OPen_Card:= False; 044             // G_st :=ic_exit(G_icdev); 045               Exit; 046          end; 047               OPen_Card := True; 048      end; 049    {2} // 關閉設備 050     function CLose_Card():boolean; 051       begin 052        G_st := ic_exit(G_icdev); 053      If G_st < 0 Then 054       begin 055       showmessage('關閉設備時有誤,請重新啟動系統'); 056        close_card:=false; 057        exit; 058       end; 059       close_card:=true; 060       // 061       end; 062    {3} // 寫卡,對卡進行寫操作 063     function Write_card(COntent:pchar):boolean; 064      begin 065         G_st := swr_eeprom(G_icdev, 0384, Content); 066        If G_st <> 0 Then 067            begin 068              showmessage('寫卡時出錯,請檢查後使用!'); 069              Write_card := False; 070              exit; 071            end; 072   073         Write_card:= True; 074       // 075       end; 076    {4}//對卡進行讀操作 077     function Read_Card():string; 078       var 079       Cent:array[0..383of char; 080       tent:array[0..383of char; 081       I,j:integer; 082       DD:string; 083      begin 084      G_st:= srd_eeprom(G_icdev, 0383, Cent); 085           If G_st < 0 Then 086              begin 087                showmessage('讀卡時出錯,請檢查後使用!'); 088                 Exit; 089             end; 090     For i := 0 To 383 do 091      begin 092         If i > 13 Then 093           begin 094              for j:=0 to 12 do 095                begin 096                    dd:=dd+cent[j]; 097                end; 098                 Read_Card:= dd; 099                 Exit; 100           end; 101       end; 102      end; 103    {5} //寫卡時內容組織 104 function Content(aa:string):string; 105      begin 106       // 107       end; 108    {6}//卡片比效函數 109      function Card_Compare():boolean; 110       begin 111       // 112       end; 113    {7}// 114      function check_card():boolean; 115        var 116          Status:integer; 117          aa:array[0..2]of char; 118      begin 119           status:=0; 120           G_st:=get_status(G_icdev, @Status); 121   122           If  Status  =0 Then 123              begin 124                //showmessage('請插入卡後使用!'); 125                check_Card:=False; 126               // G_st := ic_exit(G_icdev); 127                 Exit; 128               End; 129               check_Card := True; 130        end; 131 end.

由此代碼可擴展一個員工考勤系統或資料信息錄入系統,信息社會IC卡的應用十分廣泛,讀卡和寫卡操作是必不可少的,因此本模塊上有很好的實用價值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved