读写卡测试程序VFP源代码
CARDID=spac(4)
recu=pcdgetdevicenumber(@CARDID)
if recu=0
= MESSAGEBOX(allt(str(asc(subs(cardid,1,1))))+'-'+allt(str(asc(subs(cardid,2,1))))+'-'+allt(str(asc(subs(cardid,3,1))))+'-'+allt(str(asc(subs(cardid,4,1)))),64,'提示:')
endif
myctrlword=0
mypiccserial=space(4)
myareano=8
authmode=1
mypiccoldkey=''
for i=1 to 6
mypiccoldkey=mypiccoldkey+chr(255)
next i
mypiccnewkey=''
for i=1 to 6
mypiccnewkey=mypiccnewkey+chr(255)
next i
ans=piccchangesinglekey(myctrlword,@mypiccserial,myareano,authmode,@mypiccoldkey,@mypiccnewkey)
if ans=0
= MESSAGEBOX(' 操作成功! ',48,'提示:')
else
if ans=8
= MESSAGEBOX(' 请将卡放在感应区! ',48,'提示:')
endif
endif
BLOCK0_EN = 1 &&读块0 BLOCK1_EN = 2 &&读块1 BLOCK2_EN = 4 &&读块2 NEEDSERIAL = 8 &&是否需要只对指定系列号的卡操作 EXTERNKEY =16 &&是否使用外部密码 NEEDHALT = 32 &&是否休眠本卡 myctrlword=BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY &&23 mypiccserial=space(4) myareano=8 authmode=1 mypicckey=chr(255)+chr(255)+chr(255)+chr(255)+chr(255)+chr(255) mypiccdata=space(48) ans= piccreadex(myctrlword,@mypiccserial,myareano,authmode,@mypicckey,@mypiccdata) if ans=0 = MESSAGEBOX(' 操作成功! ',48,'提示:') else if ans=8 = MESSAGEBOX(' 请将卡放在感应区! ',48,'提示:') endif endif BLOCK0_EN = 1 &&读块0 BLOCK1_EN = 2 &&读块1 BLOCK2_EN = 4 &&读块2 NEEDSERIAL = 8 &&是否需要只对指定系列号的卡操作 EXTERNKEY =16 &&是否使用外部密码 NEEDHALT = 32 &&是否休眠本卡 myctrlword=BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY &&23 mypiccserial=space(4) myareano=8 authmode=1 mypicckey=chr(255)+chr(255)+chr(255)+chr(255)+chr(255)+chr(255) mypiccdata='' for i=1 to 48 mypiccdata=mypiccdata+chr(255) next i ans= piccwriteex(myctrlword,@mypiccserial,myareano,authmode,@mypicckey,@mypiccdata) if ans=0 = MESSAGEBOX(' 操作成功! ',48,'提示:') else if ans=8 = MESSAGEBOX(' 请将卡放在感应区! ',48,'提示:') endif endif