有下面这样的一个函数;这个发卡是把卡记录在考勤机上吗? 还是什么意思?
顺便问一下,就一个dll加上一份动态链接库使用说明就能做个考勤吗?发卡
AddKaoqinCard(DeviceID,DeviceType,Number,CardID1,CardID2,CardID3,CardID4,CardType,
WorkNo1, WorkNo2 ,WorkNo3,WorkNo4, WorkNo5, orkNo6 ,WorkNo7,WorkNo8)
执行成功返回True,执行失败返回 False
参数名称 参数类型 数据类型 参数说明
DeviceID 设定值 整数 考勤机的ID号:(设定值)
DeviceType 设定值 整数 考勤机类型(考勤机:DeviceType=1)
Number 设定值 整数 卡在考勤机中的位置(从1--卡片总数)
CardID1 设定值 整数 卡号高位1(0-255)
CardID2 设定值 整数 卡号高位2(0-255)
CardID3 设定值 整数 卡号低位1(0-255)
CardID4 设定值 整数 卡号低位2(0-255)
CardType 设定值 整数 卡片类型(等于0即可)
WorkNo1 设定值 整数 工号(第一个字符,ASCII)
WorkNo2 设定值 整数 工号(第二个字符,ASCII)
WorkNo3 设定值 整数 工号(第三个字符,ASCII)
WorkNo4 设定值 整数 工号(第四个字符,ASCII)
WorkNo5 设定值 整数 工号(第五个字符,ASCII)
WorkNo6 设定值 整数 工号(第六个字符,ASCII)
WorkNo7 设定值 整数 工号(第七个字符,ASCII)
WorkNo8 设定值 整数 工号(第八个字符,ASCII)
例如:向ID为2考勤机增加卡片,卡号为18015789,工号为A0000001
AddKaoqinCard(1,1,01,18,230,45,65,48,48,48,48,48,48,49)
顺便问一下,就一个dll加上一份动态链接库使用说明就能做个考勤吗?发卡
AddKaoqinCard(DeviceID,DeviceType,Number,CardID1,CardID2,CardID3,CardID4,CardType,
WorkNo1, WorkNo2 ,WorkNo3,WorkNo4, WorkNo5, orkNo6 ,WorkNo7,WorkNo8)
执行成功返回True,执行失败返回 False
参数名称 参数类型 数据类型 参数说明
DeviceID 设定值 整数 考勤机的ID号:(设定值)
DeviceType 设定值 整数 考勤机类型(考勤机:DeviceType=1)
Number 设定值 整数 卡在考勤机中的位置(从1--卡片总数)
CardID1 设定值 整数 卡号高位1(0-255)
CardID2 设定值 整数 卡号高位2(0-255)
CardID3 设定值 整数 卡号低位1(0-255)
CardID4 设定值 整数 卡号低位2(0-255)
CardType 设定值 整数 卡片类型(等于0即可)
WorkNo1 设定值 整数 工号(第一个字符,ASCII)
WorkNo2 设定值 整数 工号(第二个字符,ASCII)
WorkNo3 设定值 整数 工号(第三个字符,ASCII)
WorkNo4 设定值 整数 工号(第四个字符,ASCII)
WorkNo5 设定值 整数 工号(第五个字符,ASCII)
WorkNo6 设定值 整数 工号(第六个字符,ASCII)
WorkNo7 设定值 整数 工号(第七个字符,ASCII)
WorkNo8 设定值 整数 工号(第八个字符,ASCII)
例如:向ID为2考勤机增加卡片,卡号为18015789,工号为A0000001
AddKaoqinCard(1,1,01,18,230,45,65,48,48,48,48,48,48,49)
10、获取记录
GetKaoQinRecord(DeviceID,DeviceType,RecordNo,Year,Month,Day,Hour,Minute,Second,
CardNo1,CardNo2,CardNo3,CardNo4,CardType,EventFlag,CurrentNo)
参数名称 参数类型 数据类型 参数说明
DeviceID 设定值 整数 考勤机的ID号:(1-255)
DeviceType 设定值 整数 考勤机类型(考勤机:DeviceType=1)
RecordNo 设定值 整数 返回当前记录编号
Year 返回值 整数 年
Month 返回值 整数 月
Day 返回值 整数 日
Hour 返回值 整数 时
Minute 返回值 整数 分
Second 返回值 整数 秒
CardNo1 返回值 整数 卡号高位1(0-255)
CardNo2 返回值 整数 卡号高位2(0-255)
CardNo3 返回值 整数 卡号低位1(0-255)
CardNo4 返回值 整数 卡号低位2(0-255)
CardType 返回值 整数 卡片类型(0-255)
EventFlag 返回值 整数 事件代码(参看附录说明)
CurrentNo 返回值 整数 下条记录编号
例如:获取考勤机ID为2中的第23条进出记录
GetKaoqinRecord (2,1,23, Year,Month,Day,Hour,Minute,Second,
CardNo1,CardNo2,CardNo3,CardNo4,CardType,
EventFlag,CurrentNo)
注释:1.记录编号:记录存储在考勤机内的位置编号,每条记录对应一个位置编号(例如:控
制器记录容量为20000,则编号范围1-20000);如果考勤机内有100条尚未读取的记
录,并且第一条记录的编号为200,那么,读取时要发送的RecodNo=200,全部读完
的编号是300
2.如果不知道当前记录号,把RecordNo=16777215,就可获得当前记录和当前记录编号
3.到最大记录编号后,记录编号会从1开始
4.卡号是由四个整数组成,高位在前、低位在后
返回值列表
返回值 说明
0 无回应(不能通讯)
1 上传数据校验不正确(需要重新发当前命令)
2 记录号错误(抓正确的记录号,重发这条命令,但必须RecordNo= 16777215,
只有这样才能取道当前记录和记录号)
3 没有新记录(考勤机中没有新的进出记录)
4 执行成功
GetKaoqinCard(DeviceID,DeviceType, CardID1,CardID2,CardID3,CardID4,CardType,
WorkNo1,WorkNo2,WorkNo3,WorkNo4,WorkNo5,WorkNo6 WorkNo7,WorkNo8)
执行成功返回True,执行失败返回 False
参数名称 参数类型 数据类型 参数说明
DeviceID 设定值 整数 考勤机的ID号:(1-255)
DeviceType 设定值 整数 考勤机类型(考勤机:DeviceType=1)
CardID1 设定值 整数 卡号高位1(0-255)
CardID2 设定值 整数 卡号高位2(0-255)
CardID3 设定值 整数 卡号低位1(0-255)
CardID4 设定值 整数 卡号低位2(0-255)
CardType 设定值 整数 卡片类型(0-255)
WorkNo1 返回值 整数 工号(第一个字符,ASCII)
WorkNo2 返回值 整数 工号(第二个字符,ASCII)
WorkNo3 返回值 整数 工号(第三个字符,ASCII)
WorkNo4 返回值 整数 工号(第四个字符,ASCII)
WorkNo5 返回值 整数 工号(第五个字符,ASCII)
WorkNo6 返回值 整数 工号(第六个字符,ASCII)
WorkNo7 返回值 整数 工号(第七个字符,ASCII)
WorkNo8 返回值 整数 工号(第八个字符,ASCII)
例如:查询考勤机的ID为2,卡号为18015789所对应的工号
GetKaoqinCard(1,1,01,18,230,45,WorkNo1, WorkNo2, WorkNo3, WorkNo4
WorkNo5, WorkNo6, WorkNo7, WorkNo8)
WorkNo1,WorkNo2,WorkNo3,WorkNo4,WorkNo5,WorkNo6 WorkNo7,WorkNo8) 这个函数就是读取工号的,返回的值由WorkNo1-8提供,如果是返回值,要是指针或者引用类型才对啊,你先拿这个函数练手,其它的先放着估计是用C写的,只有C才如此喜欢使用out参数
找一张能正常使用的卡,将卡号转换成四个整数,这个你应该明白了
先声明四个用于容纳返回值的整数类型:
int w1,w2,w3,w4;
调用: int result = GetKaoqinCard(1,1,01,18,230,45,ref w1,ref w2,ref w3.....ref w8);
如果返回值result!=0,说明调用成功,w1-w8应该得到了正确的工号
int w1,w2,w3,w4;
调用: int result = GetKaoqinCard(1,1,01,18,230,45,ref w1,ref w2,ref w3.....ref w8);
这样成功话是不是W1,W2,W3,W4....W8就是得到的学号了啊?这样的话使用W1,W2,W3....w8只要这样定义成int类型,然后在函数中用ref W1,ref W2这样表示引用就可以了是吗?听你这样一说的话,这个毕业设计好像还蛮简单的么?
GetKaoQinRecord(DeviceID,DeviceType,RecordNo,Year,Month,Day,Hour,Minute,Second,
CardNo1,CardNo2,CardNo3,CardNo4,CardType,EventFlag,CurrentNo)
参数名称 参数类型 数据类型 参数说明
DeviceID 设定值 整数 考勤机的ID号:(1-255)
DeviceType 设定值 整数 考勤机类型(考勤机:DeviceType=1)
RecordNo 设定值 整数 返回当前记录编号
Year 返回值 整数 年
Month 返回值 整数 月
Day 返回值 整数 日
Hour 返回值 整数 时
Minute 返回值 整数 分
Second 返回值 整数 秒
CardNo1 返回值 整数 卡号高位1(0-255)
CardNo2 返回值 整数 卡号高位2(0-255)
CardNo3 返回值 整数 卡号低位1(0-255)
CardNo4 返回值 整数 卡号低位2(0-255)
CardType 返回值 整数 卡片类型(0-255)
EventFlag 返回值 整数 事件代码(参看附录说明)
CurrentNo 返回值 整数 下条记录编号
例如:获取考勤机ID为2中的第23条进出记录
GetKaoqinRecord (2,1,23, Year,Month,Day,Hour,Minute,Second,
CardNo1,CardNo2,CardNo3,CardNo4,CardType,
EventFlag,CurrentNo)
注释:1.记录编号:记录存储在考勤机内的位置编号,每条记录对应一个位置编号(例如:控
制器记录容量为20000,则编号范围1-20000);如果考勤机内有100条尚未读取的记
录,并且第一条记录的编号为200,那么,读取时要发送的RecodNo=200,全部读完
的编号是300
2.如果不知道当前记录号,把RecordNo=16777215,就可获得当前记录和当前记录编号
3.到最大记录编号后,记录编号会从1开始
4.卡号是由四个整数组成,高位在前、低位在后
返回值列表
返回值 说明
0 无回应(不能通讯)
1 上传数据校验不正确(需要重新发当前命令)
2 记录号错误(抓正确的记录号,重发这条命令,但必须RecordNo= 16777215,
只有这样才能取道当前记录和记录号)
3 没有新记录(考勤机中没有新的进出记录)
4 执行成功
11、获取记录和信息
GetKaoQinRecordAndInfor(DeviceID,DeviceType,RecordNo,Year,Month,Day, Hour,Minute,
Second,CardNo1,CardNo2,CardNo3,CardNo4 ,CardType,EventFlag,Infor,CurrentNo)
当事件代码等于43时,信息是有效的,否则信息无效。
参数名称 参数类型 数据类型 参数说明
DeviceID 设定值 整数 考勤机的ID号:(1-255)
DeviceType 设定值 整数 考勤机类型(考勤机:DeviceType=1)
RecordNo 设定值 整数 返回当前记录编号
Year 返回值 整数 年
Month 返回值 整数 月
Day 返回值 整数 日
Hour 返回值 整数 时
Minute 返回值 整数 分
Second 返回值 整数 秒
CardNo1 返回值 整数 卡号高位1(0-255)
CardNo2 返回值 整数 卡号高位2(0-255)
CardNo3 返回值 整数 卡号低位1(0-255)
CardNo4 返回值 整数 卡号低位2(0-255)
CardType 返回值 整数 卡片类型(0-255)
EventFlag 返回值 整数 事件代码(参看附录说明)
Infor 返回值 整数 信息
CurrentNo 返回值 整数 下条记录编号
例如:获取考勤机ID为2中的第23条进出记录
GetKaoqinRecordAndInfor (2,1,23, Year,Month,Day,Hour,Minute,Second,
CardNo1,CardNo2,CardNo3,CardNo4,CardType, ventFlag,Infor,CurrentNo)
注释:1.记录编号:记录存储在考勤机内的位置编号,每条记录对应一个位置编号(例如:控
制器记录容量为20000,则编号范围1-20000);如果考勤机内有100条尚未读取的记
录,并且第一条记录的编号为200,那么,读取时要发送的RecodNo=200,全部读完
的编号是300
2.如果不知道当前记录号,把RecordNo=16777215,就可获得当前记录和当前记录编号
3.到最大记录编号后,记录编号会从1开始
4.卡号是由四个整数组成,高位在前、低位在后
5. Infor 说明:对于SK100或SK100T:Infor代表输入的信息。用户可对输入的信息进行自定义。
返回值列表
返回值 说明
0 无回应(不能通讯)
1 上传数据校验不正确(需要重新发当前命令)
2 记录号错误(抓正确的记录号,重发这条命令,但必须RecordNo= 16777215,
只有这样才能取道当前记录和记录号)
3 没有新记录(考勤机中没有新的进出记录)
4 执行成功