力维4接口开发包-4说明书_第1页
力维4接口开发包-4说明书_第2页
力维4接口开发包-4说明书_第3页
力维4接口开发包-4说明书_第4页
力维4接口开发包-4说明书_第5页
免费预览已结束,剩余27页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

概 功能介 文件介 接口函数简 函数的调用流 函数详细描 公共返回 常见问 关于开 关于编 关于报 概3.5软件所安装的门锁。五个*.dll文件:LevelLock.dll、lv4.dll、EMUSB.dll、RCUSB.dll、RFUSB.dll(都包 ;动态库使用说明书,即此文档;动态库使用DEMO(文件夹名以“Source”结尾的是各种开发环境下使用本动态库的源代码,而编译出来的*.exe文件都放在“ ; _Build”文件夹中,以房间名发宾客卡时会用到,详见3.8LV4_ReadRoomStructure节;1-1Delphi2007为准。函数的描述1-1函功LV4_SetAuthCode(Pointer,Smallint,Smallint,Smallint,Smallint,Smallint,Smallint,Smallint,Smallint,Smallint,Smallint,Smallint,Smallint,设置码及各扇pareRegCode(Pointer,对比Pointer,Pointer,Pointer,Pointer, ardExtData(Pointer,Pointer,Pointer, ardByName(Pointer,Pointer,Pointer,Pointer,Pointer,Pointer,Pointer,Pointer,Pointer,48Byte更改读写读48Byte的数据从数据 设 从数据 设 V4adByNmeV4asuG输入16 函数的调输入16 是是否保 )否是LV4_InitializeSystem】和【设置码及各扇区LV4_SetAuthCode,如果在第二阶段需要调用LV4_GardByName函数来以房间名制宾客卡或调用LV4_SetGardExtByName函数来以房间名设置宾客卡扩展房数LV4_ReadRoomStructure要以码作为参数之一调用LV4_SetAuthCode函数因此建议把码保存到数据库中。需要调用LV4_SetAuthCode函数时,直接从数据库中取出码。到第三阶段,这一阶段的可以根据需要无限次地进行而不需每读一张卡或发一张卡LV4_FreeRoomStructure(在第一阶段调用过Delphi20072-1函数详细描04参数3-1卡片类456789ShowExtSector2,PubDoorSector,ExtendSector1,ExtendSector2,LiftExtNO1,LiftExtNO2,LiftExtNO3,LiftExtNO4,LiftExtNO5,LiftExtNO6,ParkSector:smallint):smallint;参数RegCode:一个长度固定为16个字符的字符串,着由用户输入的码(四段4码合并而成3-2。ShowSectorMain:是smallint类型,其值是一个明码主扇区代号,不使用明码主扇区时03-2。ShowExtSector1:与ShowSectorMain相类似,但必须先使用明码主扇区,再使用明码扩1。ShowExtSector2:与ShowExtSector11,再使用明码2。PubDoorStor:是mallint0480个。各种类型的卡32。ExtendSector1smallint1代号,不使用宾客卡扩展区1014个房间(1个主房,3个扩展房。3-2。ExtendSector2:与ExtendSector11,再使用宾客卡227个房间(1个主房,6个扩展房。LiftExtNO1LiftExtNO2LiftExtNO3LiftExtNO4LiftExtNO5LiftExtNO6smallint0ParkSector:是smallint03-2卡片类可用扇可用公共没使用公共门扇使用了公共门扇111注意21312;宾12。4、没使用宾客卡扩展区,使用明码扇区时最多只能使用一个(明码主扇区212111区,若有特殊需要可联系本公司。71111区曾经作为公共门扇区发过宾客卡,则此卡片的4区将不再能作为其他“一卡通”使9310、提示:因为读写卡前都需要调用本函数,因此,把用户输入的码保存到数据库,以后进入的时候都直接从数据库,这样就不需要每次都让用户输入码了。功能:卡片的。:LV4_ReadCardID(CardIDpointer):smallint;只是系统当前时间的前后一个小时,即在13时发的总卡,只在当天的12时到14时可开所有提示:码及各扇区的设置与门锁上的设置相符时,总卡只要在有效时间内就可以开门。因此,总卡能否开门有助于检查码及各扇区的设置是否正确,这有助于找出宾客卡:LV4_IssueGard(RoomPara,Suite,PubDoor,OptionNO,StartTime,EndTime,OpPara,WeekArr:pointer;ExtRoomAmt:smallint):smallint;参数RoomPara:一个长度为0~3的byte数组指针,数组的0~3个元素依次着区域号、楼1~255。Suite0~7的byte0~71~8的套房号,值1(0)表示该套房能开;0则表示该套房不能开。PubDoor:一个动态smallint数组指针,数组着该卡能开的所有公共门的号。0表示OptionNO0~2的byte3个元素是宾客卡增强型格式中的,这张宾客能把门锁打开。其中StartTime的前4位代表年,接下来的月,日,时,分各占,,这张宾客卡不能再把门锁打开。字符串的格式与StartTime相似。,OpPara0~10的byte0~10功能(1:是;0:否、宾客卡在增强型格式时的操作范围(1:区域、2:楼栋、3:楼4(1客房是否要反写记录(仅S70可用,1:是;0:否、公共门是否要反写记录(S70可用,1:是;0:否、是否需要限制卡片一周内的使用日期(1:是;0:否。在增强型格式下(OpPara[7]:=1),OpPara的操作范围(OpPara[6])、RoomPara的各个号以及OptionNO选项号配合使用时,宾客卡可开多个房间。例如,当OpPara的操作范围是楼层客卡可开楼栋3的第2、4、6层的所有房间。另外,当第一个的选项号为0时,宾客卡可开270、2、7(0、7、2)即可。WeekArr:一个长度为0~6的byte数组指针组的0~6个元素依次代表周日周一…1(0)表示该日可用;0则表示该日不可用。ExtRoomAmt:是smallint类型,其值是扩展房的数量。假设想发如下一张宾客卡:区域号为1、楼栋号为2,楼层号为3,房间号为4,能开套2、3、8、、、、、,入住时间为201392213:30~201392411:30,能开反锁,使用空调,不使用保险箱,带设置通道(常开)功能,顶替其他宾客卡,不带设置功能,增强型格式,也能开楼栋2的4到8层的RoomPara:array[0..3]ofbyte;Suite:array[0..7]ofbyte;PubDoor:arrayofsmallint;OptionNO:array[0..2]ofbyte;StartTime,EndTime:array[0..11]ofchar;OpPara:array[0..7]ofbyte;fori:=0to7do8PubDoor[0]:=2;PubDoor[1]:=6;PubDoor[2]:=18;PubDoor[3]:=72;PubDoor[4]:=113;PubDoor[5]:=246;PubDoor[6]:=325;PubDoor[7]:=477; //0表示结束 //20139221330 //20139241130 // **使用空调不带设置功 //需要限制卡片一周内的使用日期 //能开4到8层的所有房间 // // // // // // //周六不可用LV4_IssueGard(@RoomPara,@Suite,@PubDoor[0],@OptionNO,@StartTime,@EndTime,@OpPara,@WeekArr,0);2013922133120139221330201392230分的宾客卡以前已经开过这把锁。因此,如果两个客人同时入住同一房间,先后发的宾客卡必须保证设置的开始时间一致,这样两张宾客都能开门。2、在设置各开门参数的值时和着开始时间结束时间的字符串StartTimeEndTime20136131分,则StartTime的赋值必须是'201306010301',月、日、时、分前面的’0’不能省略。EndTime同理。330305、PubDoor0,以此来表示结束。即使不需要开任何公共门也必须设置PubDoor[0]:=0。另外,Delphi程序员请注意,调用LV4_IssueGard6OpPara[6]OptionNOOpPara[7]设为增强型格式时7、扩展房数量ExtRoomAmt的值必须小于等于调用函数LV4_SetGardExtData ardExtByName的是S70卡,才能够生效。房间,最多可设置3个扩展房或6个扩展房,具体由调用LV4_SetAuthCode函数时的设置来:LV4_SetGardExtData(RoomPara,Suite,StartTime,OpPara:Pointer;SequenceNO:smallint):smallint;参数RoomPara、Suite、StartTime均与3.6LV4_IssueGard相似OpPara:一个长度为0~5的byte数组指针,数组只有3.6LV4_IssueG ard的前6个元素,即反锁、空调、保险箱、带设置通道功能、顶替、带设置功能。SequenceNOsmallint类型,其值是扩展房的序号。 ardExtByName函数若干次 ardByName函数调用LV4_SetAuthCode调用LV4_SetAuthCode时,是否是否 注意1,则设置扩展房数据时,SequenceNO3;如果还设置2SequenceNO6SequenceNO(392、在制宾客卡时,如果扩展房数量ExtRoomAmt设为n,则至少需要设置扩展房n次,把扩展房的序号SequenceNO1n的扩展房数据全部都设置了。否则在制宾客卡(123、其余注意事项与3.6 ard相类似功能:RoomStructure.lvr文件中的房间结构(在本节的提示部分会详细介绍该文件的使用。使用函数LV4_SetGardExtByName以房间名设置宾客卡扩展房数据或使用函数LV4_GardByName制宾客卡前,必须有成功调用过此函数一次。1、使用RoomStructure.lvr4=>以后点【ok】即可导出RoomStructure.lvr文件④、把刚才导出的RoomStructure.lvr文件放到与LevelLock.dll相同 这样,LV4_ReadRoomStructure函数就可以从RoomStructure.lvr文件房间结构了 _Build”文件夹中,有一个从力维4的软件中导出来的注意1、RoomStructure.lvr文件必须放在与LevelLock.dll相同 下OpPara,WeekArr:Pointer;ExtRoomAmt:smallint):smallint;参数RoomName:一个固定长度为30个字符的字符串,调用前着房间名。其余参数与3.6LV4_IssueG ard相似,在此不再重复。注意除3.6LV4_IssueGard中提到的注意事项以外,还须注意2、因为在力维3软件中房间名最长为30个字符因此RoomName字符串也过:LV4_SetGardExtByName(RoomName,Suite,StartTime,OpPara:Pointer;SequenceNO:smallint):smallint;各参数的介绍及函数调用时的注意事项可参照3.7LV4_SetGardExtData和3.9:LV4_ReadCardInfo(LanguageTypesmallintCardTypeCardInfopointer):smallint;CardType:一个长度为一个byte的指针。调用函数以后,该指针指向的变量将保存该卡3-3。CardInfo50003-3代卡片功能种英文名0卡Authorized1Clock2Install3Spare4Data5CheckOut6Stop7Lost8Meeting9EmergentMasterCard(ChiefGateAreaBuildingFloorGuestVisitPowerBlank示例CardInfo:array[0..4999ofchar;能种类的代号,CardInfo字符串将保存着以中文显示的该卡片信息。注意1LV4_SetAuthCode函数对各扇区的设置必须与卡片发卡前调用(17,或读出来的信LV4_SetAuthCode(@RegCode11,0,0,0,20,0,0,0,0,000)LV4_SetAuthCode(@RegCode11,0,0,040,0,0,0,0,0,0)功能:把放到卡机上卡片的数据出来。:LV4_ReadCard(CardTypepointerCardInfopointer):smallint;本函数的CardInfoLV4_ReadCardInfo中的CardInfo不同。LV4_ReadCardInfo的CardInfoCardInfo是全数字形式的卡信息。因为此函数只在读卡时有特殊需要时才调用,而且使用起来比较繁琐,所以不作详细介绍有的程序员可参“d_rd_DEO_Soure文件夹中用lphi2007编写的例子。功能48个byte或char组成的数组。此函数只能在扇区13-2。:LV4_WriteData(WData,WKey:pointer;SectorToWrite:参数WKey:一个长度为6个的byte数组指针,数组调用前着读写。此必须正确才能把WData中的数据写入卡片中去。此由6个0~255中的数字组成。在没有修改过的情况下,每张卡的都默认为6个255。SectorToWrite:数据类型为smallint,其值是一个写数据的扇区的代号。各种类型的卡所3-2。注意功能:用函数LV4_WriteData写进卡片的数据。此函数只能在扇区数大于1的卡片3-2。:LV4_ReadData(RData,RKey:pointer;SectorToRead:参数RData48RKey:一个长度为6个的byte数组指针,数组调用前着读写。此必须正确才能把卡片中的数据读出。每张卡的都同样默认为6个255。SectorToRead:数据类型为smallint,其值是一个读数据的扇区的代号。各种类型的卡所3-2。功能:更改指定扇区的读写参数OldKey:一个长度为6个的byte数组指针,数组调用前着旧读写。此正确才能改成新。默认为6个255。NewKey:一个长度为6个的byte数组指针,数组调用前着新读写SectorToWrite:数据类型为smallint,其值是一个想更改读写的扇区的代号。各种类3-2。注意2、卡上扇区的读写若不是6个255,则此扇区将不能作为公共门扇区、明码扇区、 功能:检查是否连接,返回0则表示已经连接。功能:对比新旧码,看两者的源码是否一样,返回0则表示一样。 pareRegCode(OldRegCode,NewRegCode:Pointer):smallint;OldRegCode:一个长度固定为16个字符的字符串,着旧的码NewRegCode:一个长度固定为16个字符的字符串,着新的码 ardExtByNameLV4_ReadRoomStructure函数来333个电梯可到达:LV4_SetLift_FloorData(FloorData,DeviceNO:Pointer;OpPara:参数FloorData80个的byte4个byte20组电梯参数。每组的第一个byte是电梯号,第二到四个byte是楼层。当每组的第二个byte0时,后面的两个byte表示连续楼层的起始楼层和结束楼层。各组电梯参数的电梯号可重复。DeviceNO3个的bytebyte0时,后面的两个byteOpParasmallint01,代表示例FloorData:array[0..79]of //DeviceNO:array[0..2]ofbyte; //设备号参数123表示后面两个byte表示后面两个byte注意:LV4_SetParkData(IssueTimeBgTimeEndTimeParkingListOpParaWeekArr:参数IssueTime:长度为12个字符的字符串,发卡时间,该参数暂无作用,这张宾客能使用停车场。其中StartTime的前4位代表年,接下来的月,日,时,分各占,,这张宾客卡不能再使用停车场。字符串的格式与StartTime相似。,ParkingList0~31的byte0~311~32的停1(0)表示该停车场能用;0则表示该停车场不能用。OpPara:一个长度为0~3的byte数组指针,数组的0~3个元素依次代表:能否使用全部WeekArr0~6的byte0~6…1(0)表示该日可用;0则表示该日不可用。注意公共返回报错代报错内0制卡设备类报对请求失加密狗报错(包括加密狗引入错误对不起加密狗权限不够,校验加密狗失加密狗没有校验次数(已对加密作失对加密狗失加密狗错加密狗的校验次数为其他报数据不存在唯一存在指定路径中找不到()文当前的码很快就超出使用时间,请联系经销加密或算法出制卡类公共报不能卡片制当前的卡片种类与要求种类不该卡不是本系统的卡(主要是码不对应该卡的与本系统不对应(主要是时间不对应该卡是本系统的卡,不能制成其它你的软件与你现在使用的软件语言比匹系统中的格式错参数错误,或参数格式错hex新加密狗的报对比码的报新码格式错这不是同一组码的旧码期格式错新码期格式错新码的可用时间比旧码的可用时间还要新码的可用时间已经超新码的可用时间不到一个星常见问1、码或设置的扇区不正确2、也可能是在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论