| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1348 人关注过本帖
标题:[求助]函数返回值
取消只看楼主 加入收藏
running_drea
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-3-16
收藏
 问题点数:0 回复次数:3 
[求助]函数返回值
我调用动态连接库函数,想把函数返回值输出到文本中。
public cardata
public cardnohex
public cardnodec
if thisform.olecontrol1.ReadSpecifyWithPass(1,4,"ffffff",0,1,cardata,cardnohex,cardnodec)=0 *ReadSpecifyWithPass为读IC卡数据函数
MESSAGEBOX('读数据失败',48,'信息提示')
else
thisform.text1.value=cardata
MESSAGEBOX('读数据成功',64,'信息提示')
endif
读数据成功,可文本框里显示F,那为大侠知道为什么?谢谢!
函数说明如下:
带密码读取指定块数据以十六进制字符串返回,并返回十进制卡号和十六进制卡号串
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;
搜索更多相关主题的帖子: 返回值 函数 
2007-04-05 22:21
running_drea
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-3-16
收藏
得分:0 
回复:(baichuan)失败返回FALSE,当然就是 .F. 了啊...
那MESSAGEBOX怎么显示“读数据成功”?
2007-04-06 08:47
running_drea
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-3-16
收藏
得分:0 
下面是VB的程序,调试成功。与我用VFP编写的功能一样。懂VB的朋友看看我的程序错在哪里。
Dim Block As Long
Dim JH As Long
Dim AB As Long
Dim Closeorno As Integer
Dim BeepOrno As Integer
Dim pass As String
Dim rdata As String
Dim cardnodec As String
Dim cardnohex As String
Dim cardno As Double
Dim data As String
suc = WMTECH1611.ReadSpecifyWithPass(JH, Block, pass, AB, Closeorno, rdata, cardnohex, cardnodec)
If suc = 1 Then
Txtrece.Text = Txtrece.Text & "读取块" & Block & "成功!" & Chr(13) & Chr(10) & "data:" & rdata & Chr(13) & Chr(10) & "十进制卡号:" & cardnodec & Chr(13) & Chr(10) & "十六进制卡号:" & cardnohex & Chr(13) & Chr(10)
Text12.Text = Mid(cardnohex, 1, 2)
Text13.Text = Mid(cardnohex, 3, 2)
Text14.Text = Mid(cardnohex, 5, 2)
Text15.Text = Mid(cardnohex, 7, 2)
Else
Txtrece.Text = Txtrece.Text & "读取块" & Block & "失败!" & Chr(13) & Chr(10)
End If
2007-04-06 17:14
running_drea
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-3-16
收藏
得分:0 
jh机号,block块号,pass密码,ab a密码还是b密码(a为0,b为1),closeorno是否关卡(关卡为0,不关为1)这4个参数是指定的;
data返回的数据,cardnohex返回的十六进制卡号,cardnodec返回的十进制卡号这3个参数是返回值。
VARTYPE(CARDATA),得到L,看来CARDATA是逻辑型。可是在VB和函数说明里都是字符形呀?!我糊涂了,晕倒!

2007-04-07 09:57
快速回复:[求助]函数返回值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025180 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved