国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 技術開發 > 正文

如何實現在PowerBulider中讀寫IC卡

2023-06-15 12:15:00
字體:
來源:轉載
供稿:網友

本文通過場上提供的IC卡編程接口實現了讀寫IC卡的功能。

在寫相關的信息管理系統時,有時會遇見讀寫相關的外部設備等問題,這類的問題,在PowerBulider中實現這類的功能并不是一件難事,現在的相關外部設備廠商在提供產品時,基本都提供了相關編程接口,利用這些接口函數后ActiveX控件,結合PowerBulider中外部函數的調用,可以輕松的實現相關功能,以下提供讀寫IC卡實現的基本代碼,以期消除相關編程人員對讀寫外部設備等問題的恐懼心理

外部函數聲明:

Subroutine PostPara(long prot,strig syspara) library “lock739.dll”//傳遞參數,主要傳遞串口信息
Function long Reset() library “lock739.dll”//讀寫復位
Function Boolean OpenCom () library “lock739.dll”//打開串口
Subroutine CloseCom() library “lock739.dll”//關閉串口
Function long ChkCard() library “lock739.dll”//檢查卡是否到位
Function long CmpSc(string sc) library “lock739.dll”//核對密碼
Function long WriteSc(string sc) library “lock739.dll”//修改加密卡密碼
Function long ReadSc(string inbuff,long sclen) library “lock739.dll”//度曲加密卡密碼
Function long RdDat(long cardtype,long start,long ilen,ref string inbuff) library “lock739.dll”//讀卡信息
Function long WrDat(long cardtype,long start,long ilen,ref string outbuff)library “lock739.dll”//寫卡信息
實例變量:
public string sc=’272272272’
寫卡函數:wf_write(string as_arg1,long al_start,long al_len)
/*參數 string as_arg1 寫入的字符串;
long al_start 寫入的位置
long al_len 寫入的長度*/
long l_rtn
if opencom()=false then
messagebox(“提示”,”串口連接失敗”)
return
end if
l_rtn=chkcard()
if l_rtn<>0 then
  wf_errormessage(l_rtn)
closecom()
return
end if
l_rtn=cmpsc(sc)//sc為密碼
if l_rtn<>0 then
wf_errormessage(l_rtn)
closecom()
return
end if
l_rtn=wrdat(1,al_start,al_len,as_agr1)
if l_rtn<>0 then
  wf_errormessage(l_rtn)
closecom()
return
end if
messagebox(“提示”,”寫卡成功!”)
讀卡函數:wf_read(string as_arg1,long al_start,long al_len)
/*參數 string as_arg1 保存讀出信息的字符串;
long al_start 開始讀卡入的位置
long al_len 讀卡的長度*/
long l_rtn
if opencom()=false then
messagebox(“提示”,”串口連接失敗”)
return
end if
l_rtn=chkcard()
if l_rtn<>0 then
  wf_errormessage(l_rtn)
closecom()
return
end if
l_rtn=rddat(1,al_start,al_len,as_agr1)
if l_rtn<>0 then
  wf_errormessage(l_rtn)
closecom()
return
end if
messagebox(“提示”,”讀卡成功!”)
顯示錯誤函數:wf_errormessage(long lerror)
choose case lerror
case 1
messagebox(“提示”,”寫入錯誤或密碼錯誤!”)
case 2
messagebox(“提示”,”卡已損壞或參數越界!“)
case 3
messagebox(“提示”,”請插卡!”)
case 4
messagebox(“提示”,”通訊錯誤!”)
case else
messagebox(“提示”,”未知錯誤!”)
end choose
初始化卡函數wf_initialcard(long al_port)
/*參數:long al_port 傳入讀寫器使用的串口*/
psotpara(al_port,””)

以上的例子代碼所使用的ic卡為sle4442 加密存儲器卡,讀卡器為wb1000 IC卡讀寫器

通過以上代碼的示例,實現與外部設備的通訊,并不是一件很難的時吧?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳曲县| 平顶山市| 五家渠市| 鹰潭市| 华亭县| 西乌珠穆沁旗| 枣强县| 太谷县| 临沂市| 通河县| 龙井市| 四川省| 盈江县| 兴山县| 安西县| 北辰区| 玉山县| 济阳县| 元氏县| 无锡市| 安远县| 黑水县| 武川县| 平邑县| 称多县| 阿瓦提县| 明光市| 甘德县| 喜德县| 元谋县| 香河县| 昌邑市| 平利县| 莱阳市| 乳源| 民勤县| 山西省| 宾川县| 宁远县| 桃江县| 佛教|