《kqconnect dll 用户使用手册》由会员分享,可在线阅读,更多相关《kqconnect dll 用户使用手册(7页珍藏版)》请在金锄头文库上搜索。
1、Page 1 of 7KQCONNECT DLL 用户使用手册Version 1.0Author: Sunshine.Introduction:此动态库是以超伦考勤机 CL21-03 或 CL21-05 、ID、IC(LEGIC )射频卡为对象, 实现 PC 机与考勤机之间的通信,以及资料传送的驱动程序。 它必须使用 PC 机上的一个串行通讯口, 通讯的 baudrate 为 9600bps。几个术语的约定:1,物理卡号:是指 ID 卡中固有的卡号,它是在 ID 卡出厂时产生。一般是不能变动的。2,逻辑卡号:是指用户映射到某张 ID 卡的一个数字符号,它约定为 6 位,当它对应于物理卡号发到考
2、勤机中后即发生作用。 (注:一个物理卡号允许对应几个逻辑卡号。但只有第一个是有效的)3,发卡名单表:它是存放在考勤机中的某一片特定存储区中的物理卡号与逻辑卡号的映射表。4,考勤记录表:它是存放在考勤机中某一特定存储区中的员工考勤打卡的记录表。 SetPort 函数 DestoryPort 函数 ReadCardNum 函数 ChangeDate 函数 ChangeTime 函数 ClearFlag 函数 ClearName 函数 ClearNameList 函数 ClearRecord 函数 CardSendToMachine 函数 RepairAddress 函数 SetClock 函数 G
3、atherData 函数Page 2 of 7 附录 1-1 动态 库在 VB 中的引用DLL 提供的接口函数及其说明:1 Bool SetPort (PortNum As Integer)功能: 用来打开一个串行端口, 在做所有的操作之前, 请调用此函数来设置并打开一个有效的串行端口,否则将使用动态库初始打开的串行端口。 (此函数也可用来设置动态库初始端口。 )参数说明:PortNum 是一个正整数, 表示用户想打开的串行端口号, 一般为 1 或 2, 如果用户扩展了 PC 机的串行端口,也可以使用其它, 但是一般小于 10。Return: 如果函数打开端口成功, 将返回 true, 否则返
4、回 false。Note:在调用此函数时,请选择一个有效的端口号, ( 没被其它设备占用且存在的端口) ,如果端口无效,则返回 false。 打开端口成功, 则返回 true, Example: Dim BoolFlag as BooleanBoolflag=Object.SetPort(2):特别提示:Object 表示你在引用该动态库时建立的对象。以下各例中的 object 皆同于此。2 Bool DestoryPort( ).功能: 用来释放一个被应用程序打开的端口。如果在一个应用程序中有多个模块在调用时要打开一个已被打开的端口时,应先释放端口,然后再打开,否则该模块将无法使用此端口。参
5、数说明:无参数。RETURN: 如果释放端口成功, 将返回 TRUE, 否则返回 FALSE。EXAMPLE:Dim BoolFlag as booleanBoolFlag=Object.DestroyPort()If boolflag then Object.SetPort(1)String ReadCardNum(Addr as integer)功能:用来读取考勤机中最后一次打卡的物理卡号。参数说明:Addr 是一个正整数,表示考勤机的地址(使用者可以在打开考勤机电源时得知,它是个“”之间的数字。 )如果地址不正确,将无法进行通讯。特别提示:在以下函数Page 3 of 7的说明中,如果没
6、有特别说明,Addr 表示意义均相同。RETUEN:如果成功,将返回串 16 位的数据串,否则返回空串。NOTE:在返回的 16 位数据串中:1-2 位是用十六进制表示的考勤机地址,它转换后应该等于 ADDR(可以参考 GatherData 函数中的举例) ,3-4 位是“07” ,5-6 位是“04”或“09”(它代表清除读卡标志位, “04”表示正常的卡号的标志, “09”表示已被清除的标志。使用者可以根据它来处理该数据串)7-16 位是读到的卡号。Example: Dim Tempstr as string Dim Addr as integerAddr=18Tempstr=Object
7、.ReadCardNum(Addr)4 Bool ChangeDate(Addr as integer,Iyear as integer,IMonth as integer,Iday as integer)功能:用来下传日期给考勤机参数说明:Iyear 表示下传的年份, Imonth 表示下传的月份,Iday 表示下传的日期RETURN:如果下传日期成功,将返回 TRUE, 否则返回 FALSE。Example:Dim Addr as integerDim Iyear as integer,Imonth as integer,iday as integerDim BooleanFlag as
8、BooleanBooleanFlag=Object.ChangeDate(Addr,Iyear,Imonth,Iday)5Bool ChangeTime(Addr as integer,IHour as integer,IMinute as integer,ISecend as integer)功能:用来下传时间给考勤机参数说明:Ihour 表示下传的小时,Iminute 表示下传的分钟,Isecend 表示下传的秒。RETURN:如果下传时间成功,则返回 TURE,否则返回 FLASE。Example:Dim Addr as integerDim Ihour as integer,Iminu
9、te as integer Isecend as integerDim BooleanFlage as BooleanBooleanFlag=Object ChangeTime(Addr,Ihour,Iminute,Isecend)6ClearFlag(Addr as Integer)Page 4 of 7功能:用来清除读卡标志位,在使用它来清除标志位,再用 READCARDNUM 去读物理卡号时,其返回值的 5-6 位将是 “09”。 (在某些要求实时采集物理卡号的系统中,将突显它的作用。 )参数说明:Addr 意义同第三个函数中 Addr。RETURN:如果成功返回 TURE,否则返回 F
10、ALSEExample:Dim Addr as integerDim BooleanFlag as BooleanBooleanFlag=Object.ClearFlag(addr)7Bool ClearName(Addr as Integer,TagNum as String)功能:用来从考勤机的发卡名单中清除某张卡的逻辑卡号。参数说明:Addr 意义同第三个函数;TagNum 是一个“6 位”的用户自定义的逻辑卡号,它传给函数时是以串的形式传递的。RETURN :如果成功将返回 TURE,否则将返回 FALSEExample:Dim Addr as integerDim Num as St
11、ring ,BooleanFlag as BooleanBooleanFlag=Object.ClearName(addr,Num)8Bool ClearNameList(Addr)功能:此函数用来清除考勤机中的发卡名单表。但值得特别注意的是调用它时将同时全部清除掉考勤记录表中的全部数据。所以此函数要小心使用。 (它一般来用来初始化考勤机。 )参数说明:ADDR:意义同第三个函数。RETURN:成功返回 TURE,否则返回 FALSEExample:Dim addr as integerDim BooleanFlag as BooleanBooleanFlag=Object.clearName
12、List(Addr)9Bool ClearRecord(Addr as integer)Page 5 of 7功能:此函数用来清除考勤机中的考勤记录表,一旦使用它后,则该台考勤机中的全部考勤数据将无法恢复地被清除。所以要特别慎重使它。参数说明:Addr 意义同第三个函数。Exzmple:Dim Addr as integerDim BooleanFleag as BooleanBooleanFlag=Object.ClearRecord(addr)10Bool CardSendToMachine(Addr as integer,CardNum as String TagNum as Strin
13、g)功能:此函数将一张卡发送给一台考勤机:只有使用了该函数将卡发到了考勤机,该卡在这台考勤机才能正常打卡考勤。否则考勤机将认为是无效卡,并不接受打卡记录。参数说明:CardNum 它表示 ID 卡的物理卡号,它一般要从卡内读取,有些 ID 卡在出厂时,打印在卡片的上。它应该是一个“10 位”的十进制串。TagNum 是一个 “6 位”的用户自定义的逻辑卡号,它传给函数时是以串的形式传递的。RETURN:当发送成功则返回 TURE,否则返回 FALSE。Example:Dim Addr as integerDim CardNum as string,TagNum as stringDim Boo
14、leanFlag as BooleanBooleanFlag=Object.CardSendtoMachine(addr,CardNum,TagNum)11Bool RepairAddress(OldAddress as integer,NewAddress)功能:此函数用来修改考勤机的地址。注意它只适用于 CL21-05 型考勤机,而对Cl21-03 型考勤机不起作用。参数说明:OldAddress 是指考勤机原来的地址,它是一个十进制的数。NewAddress 是指将修改后的才考勤机新地址,它也是一个十进制的数。RETURN 当修改成功时返回 TRUE,否则返回 FALSEExample:
15、Dim OldAddress as integer,NewAddress as integerDim BooleanFlag as BooleanBooleanFlag=Object.RepairAddress(OldAddress,NewAddress)12Bool SetClock(Addr as integer,Itime() as Date) Page 6 of 7功能:考勤机具有外接打铃的功能。使用该函数可以用来设置一天之内的 1-13 次打铃时间表。但应该注意第一个时间点为零时,将不启用打铃功能。参数说明:Addr 与第三个函数相同。Itime() 是一个日期型的一维数组,它的每个
16、元素代表一个打铃时间点。最多只能设置 13个打铃的时间点。NOTE:使用者务必注意 Itime() 数组的每个元素是以“HH:MM:SS”形式的日期数据。不要把“YY/MM/DD”格式的数据传给数组。RETURN:设置成功返回 TRUE,否则返回 FALSE。Example:Dim Addr as integerDim BooleanFlag as BooleanDim Itime() as dateItime(1)=cdate(#08:30#):itime(2)=cdate(#12:30#):Iteme(3)=cdate(#13:30#)BooleanFlag=Object.setclock(addr,itime)13Bool GatherData(Address as