现在有现成的dll ,但是record 怎么来使用
这是门禁系统dll的一个方法
解决方案 »
- 求一数值处理思路
- 如何把内网电脑作为服务器?
- 关于MDI窗口客户端(MDIClient)大小改变的问题
- 小弟我是个初学者,想听听大家对语言学习的意见!谢谢大家!
- 在线等待:关于一个批处理拷贝文件的问题
- 用Access2k做的数据库软件在win98下无法运行,请问原因。
- vb是不是只能访问automation com object?
- vb+sql,怎样对sql的image字段记录进行操作
- 怎样在Listview上添小图标,就像资源管理器右边窗口一样(注:我用的是Report方式)
- 请各位高手赐教?
- 如何刷新datagrid?
- 哪位大哥熟悉API的internetSetOption()函数,帮帮我好吗?
type RECORD
lockadr(4) as byte
..........
end type
typedef struct {
char lockadr[5]; ='1',..lockadr[3]='3',lockadr[4]=0;
char card[17]; //card length = 10
char year[3];
char month[3];
char day[3];
char hour[3];
char minute[3];
char second[3];
char type;
}RECORD;
int int Pollalock(int adr,int eoch,int recdnum,
char lockstate,RECORD* lockrecord) 是动态链接库一个方法以上是门禁系统dll的一个方法
在vb中我是这样使用的
Public Declare Function Pollalock Lib "hsn20adl.dll" (ByVal adr As Integer, Lecoh As Long, Lrecdnum As Long, Llockstate As Byte, Lrec As record) As LongPublic Type record
dlockadr(0 To 4) As String * 1
dcard(0 To 11) As String * 1
dyear(0 To 2) As String * 1
dmonth(0 To 2) As String * 1
dday(0 To 2) As String * 1
dhour(0 To 2) As String * 1
dminute(0 To 2) As String * 1
dsecond(0 To 2) As String * 1
dtype As Byte
End Type
Dim fecoh As Long, fnum As Long, flo As Byte
Dim frec As record, adr As String, flag As Long
flag = Pollalock(1, fecoh, fnum, flo, frec)
If flag = 1 Then
MsgBox "read ok"
MsgBox "CardNo " & frec.dcard(0) + frec.dcard(1) + frec.dcard(2) + frec.dcard(3) + frec.dcard(4)
Else
MsgBox "read faile"
End If现在frec 里面应该存储是多条 record ,当只有一条记录时我采用frec.dcard(0) + frec.dcard(1) + frec.dcard(2) + frec.dcard(3) + frec.dcard(4) 可以读出这条记录。
请问各位大侠,当有多条记录的时候我该怎样来取值呢?在这儿先谢谢了
dlockadr(0 To 4) As Byte
dcard(0 To 11) As Byte
dyear(0 To 2) As Byte
dmonth(0 To 2) As Byte
dday(0 To 2) As Byte
dhour(0 To 2) As Byte
dminute(0 To 2) As Byte
dsecond(0 To 2) As Byte
dtype As Byte
End TypeMsgBox "CardNo " & StrConv(frec.dcard, vbUniCode)