《动态库函数使用说明》由会员分享,可在线阅读,更多相关《动态库函数使用说明(3页珍藏版)》请在金锄头文库上搜索。
1、动态库函数使用说明一、动态库说明(1) 该动态库接口所适用的卡类型:MF1S50 卡。(2) “btlock73L.dll”这个文件是调用读写卡函数的动态库。(3) “zymsr232.dll”这个文件是调用 RW-21 读卡器的驱动,“zymurusb.dll、 EasyD12_500.dll”这两个文件是调用 RW-33 读卡器的驱动,“btmf1232.dll”这个文件是调用 RW-26D 读卡器的驱动,“acr120u.dll、AcsReader.dll”这两个文件是调用 RW-41读卡器的驱动。(4) 酒店密码(HotelPwd)由酒店提供。(5) 房间号(DoorID)由酒店提供,
2、 门锁软件有房间号与房间名称的对应表。(6) 宾客流水号(1-4294967296)可按时间生成或者按累加 1 算法生成,具有顶替功能,即宾客流水卡号大的宾客卡顶替宾客流水号小的宾客卡。(7) 宾客序号(1-255),即表示同住宾客卡时同住宾客的流水号相同,序号不同。(8) 更改酒店密码时,密码一定要 6 位字符串。(9) 有效时间的值一定要 10 位,年、月、日、时、分。(10) MF1S50 卡扇区默认值为 0,当酒店所使用的扇区己作更改时,请填写相应的扇区号。(11) 每一个使用接口发卡点都必须配合一个“硬件狗”才可以运行,即是有多少个发卡点就需要多少个“硬件狗”。二、“btlock73
3、L.dll”库函数说明(语言:DelPhi7)(1) function Write_Guest_Card(Port, ReaderType, SectorNo: Byte; HotelPwd:PChar; ClientID: Longword; CardNo, GuestSN, GuestIdx: Integer; DoorID, SuitDoor, PubDoor, Begi nTime, EndTime: PChar): Integer;说明:写宾客卡函数。参数说明: Port:通讯口号 1、2、3、4 分别代表串口 COM1、COM2、COM3、COM4(范围 1 4);当使用的读卡器为
4、 USB 设备时,通迅口号不生效。ReaderType:MF 读卡器类型,1:RW-21;2:RW-33;3:RW-26B;4:RW-41 SectorNo:MF1S50 卡使用扇区号(范围 015)HotelPwd:酒店密码 (6 位字符串,字符串内容为 ASCII 码字符) ClientID:客户对应的客户标识(范围 04,294,967,295)CardNo:宾客卡号(范围 14294967296)GuestSN:宾客流水号(范围 14294967296)GuestIdx:宾客序号(范围 1255)DoorID:房间号 (6 位字符串)SuitDoor:套房内门选号,即宾客卡能够开启的多
5、个套房内门的代号串,长度为4,默认值为“0000”。宾客卡最多能够同时开启 16 个套房内门及 1 个套房大门。如果门锁系统中存在两个或以上前 6 位门锁代号相同的房间,则该系统设置了套房。如果门锁系统没有设置套房或者不需要开启套房内门(宾客卡一定能开启套房外门),则可以填写默认值“0000”。算法:从右至左按位判断是否能够开启对应序号的套房内门,如果能够开启则置 1,否则置 0。最后再合并成十六进制的字符串。举例: 宾客卡可以开启 01、02、07、08 号套房内门,则置位二进制字符串为“:0000 0000 1100 0011”,转化为十六进制字符串为:“00C3”。PubDoor:公共门
6、选号,即宾客卡能够开启的多种公共门的代号串,长度为8,默认值 为“00000000”。宾客卡最多能同时开启 32 种公共门。如果系统没有设置公共门或者不需要开启公共门,则可以填写默认值“00000000”。从右至左按位判断是否能够开启对应序号的公共门,如果能够开启则置 1,否则置 0。最后再合并成十六进制的字符串。宾客卡可以开 启 01、 08、 15号 公 共 门 , 则 置 位 二 进 制 字 符 串 为 : “0000 0000 0000 0000 0100 0000 1000 0001”,转化为十六进制字符串为:“00004081”。BeginTime:有效起始时间,长度为 10,时间
7、格式“年年月月日日时时分分”。EndTime:有效终止时间,长度为 10,时间格式“年年月月日日时时分分”。(2) function Read_Guest_Card(Port, ReaderType, SectorNo: Byte; HotelPwd: PChar; ClientID: Longword; var CardNo, GuestSN, GuestIdx: Integer; DoorID,SuitDoor, PubDoor, BeginTime, EndTime: PChar): Integer说明:读宾客卡函数。参数说明: Port:通讯口号 1、2、3、4 分别代表串口 COM1
8、、COM2、COM3、COM4(范围 1 4);当使用的读卡器为 USB 设备时,通迅口号不生效。ReaderType:MF 读卡器类型,1:RW-21;2:RW-33;3:RW-26B;4:RW-41 SectorNo:MF1S50 卡使用扇区号(范围 015)HotelPwd:酒店密码 (6 位字符串,字符串内容为 ASCII 码字符) ClientID:客户对应的客户标识(范围04,294,967,295)CardNo:宾客卡号(范围 14294967296)GuestSN:宾客流水号(范围 14294967296)GuestIdx:宾客序号(范围 1255)DoorID:房间号 (6
9、位字符串)SuitDoor:套房内门选号,即宾客卡能够开启的多个套房内门的代号串,长度为4, 默认值为“0000”。宾客卡最多能够同时开启 16 个套房内门及 1 个套房大门。如果门锁系统中存在两个或以上前6 位门锁代号相同的房间,则该系统设置了套房。如果门锁系统没有设置套房或者不需要开启套房内门(宾客卡一定能开启套房外门),则可以填写默认值“0000”。算法:从右至左按位判断是否能够开启对应序号的套房内门,如果能够开启则置 1,否则置 0。最后再合并成十六进制的字符串。举例:宾客卡可以开启 01、02、07、08 号套房内门,则置位二进制字符串为:“0000 0000 1100 0011”,
10、转化为十六进制字符串为: “00C3”。PubDoor:公共门选号,即宾客卡能够开启的多种公共门的代号串,长度为8,默认值 为“00000000”。宾客卡最多能同时开启 32 种公共门。如果系统没有设置公共门或者不需要开启公共门,则可以填写默认值“00000000”。从右至左按位判断是否能够开启对应序号的公共门,如果能够开启则置 1,否则置 0。最后再合并成十六进制的字符串。宾客卡可以开 启 01、 08、 15号 公 共 门 , 则 置 位 二 进 制 字 符 串 为 :“0000 0000 0000 0000 0100 0000 1000 0001”,转化为十六进制字符串为:“000040
11、81”。BeginTime:有效起始时间,长度为 10,时间格式“年年月月日日时时分分”。EndTime:有效终止时间,长度为 10,时间格式“年年月月日日时时分分”。(3) function Bin_Hex(Dest: PChar; Source: PChar; Len: Integer): Integer 说明:二进制字符串转十六进制字符串。参数说明: Dest:目的十六进制字符串。 Source:原二进制字符串。Len:原二进制字符串长度。参数返回:0 为转换成功,-1 为不转成功。(4) function Hex_Bin(Dest: PChar; Source: PChar; Len: Integer): Integer说明:十六进制字符串转二进制字符串。 参数说明:Dest:目的二进制字符串。 Source:原十六进制字符串。 Len:原十六进制字符串长度。参数返回:0 为转换成功,-1 为不转成功。(5) function SerialNo_FromNow():Integer; 说明:通过本地电脑的时间换算出4 个字节的整型流水号,可以用此作为宾客卡号和宾客流水号的值。