[求助]懂VB和VFP的朋友帮帮忙
读IC卡的数据,用VB能实现,怎么用VFP不能实现?懂VB和VFP的朋友,看看我VFP的代码哪里有问题。VB代码:
Public suc As Long
Dim cdata As String
Dim cardnodec As String
Dim cardnohex As String
Private Sub Commandread_Click()
suc = WMTECH1611.ReadSpecifyWithPass(1, 4, "ffffff", 0, 1, cdata, cardnohex, cardnodec)
If suc = 0 Then
Text1.Text = "失败"
Else
Text1.Text = cdata
End If
End Sub
VFP代码:
public cdata
public cardnohex
public cardnodec
if thisform.olecontrol1.ReadSpecifyWithPass(1,4,"ffffff",0,1,cdata,cardnohex,cardnodec)=0
thisform.text1.value="读数据失败"
else
thisform.text1.value=cdata
MESSAGEBOX('读数据成功',64,'信息提示')
endif
说明:
1、两者都调用的同一动态连接库。
2、用VFP编写的,运行后,读数据成功,文本框显示“F”,VARTYPE(CARDATA)显示类型为逻辑型。不知道为什么!
3、函数说明
带密码读取指定块数据以十六进制字符串返回,并返回十进制卡号和十六进制卡号串
ReadSpecifyWithPass(int jh, int block, BSTR *pass,int ab, int closeorno, BSTR *data, BSTR *cardnohex,BSTR *cardnodec):BOOL
jh机号;block块号;pass密码;ab a密码还是b密码(a密码0,b密码1);closeorno是否关卡(0不关,1关);data返回的数据;cardnohex返回的十六进制卡号;cardnodec返回的十进制卡号。
成功返回TRUE,失败返FALSE。