代码
一.版权说明
Larkdll.dll函数与本公司门锁管理软件配套发行,不属于免费提供技术服务。所有使用
DLL公司必须经过本公司授权。非法拷贝使用所带来的后果本公司概不负责。
二.函数定义
function integer opencomm( integer com) library "larkdll.dll"
function integer closecomm() library "larkdll.dll"
function integer deletecard(string a7) library "larkdll.dll" alias for "deletecard;Ansi"
function integer makecard(string a1,string a2,string a3,string a4,string a5,string a6,string a7) library "larkdll.dll" alias for "makecard;Ansi"
function integer readcard(ref string buffer,string a7) library "larkdll.dll" alias for readcard;Ansi"
或作如下定义(PB9)
function integer opencomm( integer com) library "larkdll.dll"
function integer closecomm() library "larkdll.dll"
function integer deletecard(string a) library "larkdll.dll"
function integer makecard(string a1,string a2,string a3,string a4,string a5,string a6,string a7) library "larkdll.dll"
function integer readcard(ref string a1,string a) library "larkdll.dll"
三.函数说明
1.opencomm(com:integer):integer;
说明:打开通讯设备
调用:com:integer 串口号,整数0:表示串口1,1:表示串口2。
返回:<>0 错误
=0 正确
2. closecomm():integer
说明:关闭通讯设备
调用:
返回:<>0 错误
=0 通讯设备正常关闭
3. makecard(a1,a2,a3,a4,a5,a6,a7):integer;
说明:制宾客卡
调用: a1:string 4位或6位 房间锁的物理号,门锁管理软件御出(sfcroom.txt,sfcroom.dbf,sfcroom.xls,
普通房间长度为4,子房间长度为6)。
a2:string 12位 开始时间, 格式为yyyymmddhhmm
a3:string 12位 结束时间, 格式为yyyymmddhhmm
a4:string 2位 反锁标志位 01 为能开反锁 00 为不能开反锁
a5:string 2位 卡号为01至99
a6:string 6位 卡系列号 0x000000至0xFFFFFF 每张卡唯一标志,可顺序加1
a7:string 11位 注册号
注:1:因为本公司的房号是加密的,所以在取房号时要先运行 sfcroom.exe 把房号对应表导出来。
2:卡号就是同一个房间,能同时打开房间的序号。即第一张为 01 第二张为 02 等。
3:开反锁:跟据酒店的规矩,客人卡能不开反锁,就是房间反锁了,客人卡能否开门。
4:结束时间必须大于开始时间,但不超过365天。
5: 卡系列号为6位十六进制的数,表示每张卡的ID号,所以每做一张卡卡系列号都不能相同。
以上限制规则必须严格遵守,在调用函数前请作好各种效验。在DLL函数中不作效验,
否则即使显示制卡成功 也可能存在不能正常开门。
返回:0: 制卡正确
1: 非57卡
2: 未加密卡
3,4,8:AOR错误
100,101:注册号错误
4.readcard(buffer:pchar,a7:pchar):integer;
说明:读宾客卡
调用: buffer:pchar 读出数据的缓冲区(70字符,一定要申请分配空间)
返回:0:读卡正确,
显示的信息buffer的内容依次为:卡号,反锁标志位,房间号(6位),开始时间,结束时间,卡系列号
用“;”分开。
<>0读卡错误
a7:pchar 注册号
5.deletecard(a7:pchar):integer;
说明:退宾客卡,把客人卡的数据清空。
返回:0:读卡正确,
a7:pchar 注册号
四:操作流程
1:先安装调试好酒店的所有门锁都能正常开门。备份相应的数据库文件。
2:运行 roomcd.exe,会生成三个文件sfcroom.txt,sfcroom.dbf,sfcroom.xls,
内面有房号和加密房号的一一对应表。如:301 AABB,表示301房的加密房号为
AABB,所以在做301房的客人卡时在房号栏为 AABB,在读301房号卡时要显示为301,
不能显示 AABB 给操作人员。
3:在做接口时要最少要做好以下操作:
A:建一个内面有房号和加密房号的对应表。
B:建一个做客人卡的表,保存做卡信息。
C:建一个操作纪录的表,保存操作纪录。
4:如何做二张卡能同时开一个门:
在做第二张卡时要从 3中 表B 中提取第一张卡的开始时间作为这张卡的开始时间,其它信息
按实际情况填写。
五:客人卡不能开门作如下检查:
1:房号相同。
2:客人卡是有效的。
在门锁系统中有四个时间,
一:门锁主板上有二个时间:
1:锁内当前时间=A。
2:客人卡的开始有效时间=B。
二:客人卡上有二个时间:
1: 开始时间=C
2: 结束时间=D
只有满足: B <= C <= A <= D 客人卡就能开门。
各个时间的变化是:C 和 D 是做客人卡时确定的。
A 是在门锁初始化时读“时间卡”时确定的,
并且 A 会在锁体中与标准时间一样变化走动。 可以认为是实时标准时间。
B 是在门锁初始化时,初始成“2000年1月1号0点0分0秒”。
以后每读到一个新的客人卡时,客人卡开门时, 会比较“客人卡”的开始时间,若客人卡的
开始时间晚于B ,则会把新的客人卡的开始时间代替 B 。
所以在接口中一定要注意四个时间和它们的变化,
并且酒管接口与本公司的锁管软件不能同时使用做客人卡。
做出来的卡会互相干扰,因为所做的客人卡的开始时间会不一致的而导致开不了门。
3:本系统是新卡取代旧卡,即:客人的开始时间在后的开门后,客人的开始时间在前的就不能开门。
4:所有用户接口函数的注册号是专用的。
酒店软件界面
东方仙盟智能商用平台
东方仙盟 VOS 智能浏览器在网页调用硬件 SDK 领域堪称卓越典范。它全面兼容多平台,无论是电脑、手机还是各类移动终端,都能完美适配,无缝对接。令人瞩目的是,该浏览器支持上百种硬件设备,从常见的打印机、摄像头,到专业的工业传感器、医疗检测设备等,覆盖面极为广泛。不仅如此,它还具备动态接入硬件 SDK 的强大功能,可随时响应新硬件接入需求,保障系统灵活性与扩展性。
值得一提的是,东方仙盟 VOS 智能浏览器自带编译器,支持现场编译。这意味着开发者在调用硬件 SDK 过程中,若需对代码进行优化或根据硬件特性进行定制开发,无需额外配置复杂环境,直接在浏览器内即可快速完成编译工作,极大提升开发效率,为硬件与网页的深度融合提供了坚实技术保障。
阿雪技术观
在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者。无论是分享代码、撰写技术博客,还是参与开源项目维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基生命,为科技进步添砖加瓦。
Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets, hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology.