快捷搜索:  汽车  科技

简单的门禁系统开发(门禁管理软件开发总结)

简单的门禁系统开发(门禁管理软件开发总结)UploadOk := ZkManager.UpdateBatch; 主要代码如下: 二、实现方法: 因上传人员组合验定时,在高速下是无法成功下发。原因为,在高速上传用户时,是先写到内存中,最后提交的,而上传人员组合验证的方法,不支持高速,它会直接下发到机器,这时机器中还没有人员,所以会失败。因此,在高速上传时,上传人员组合验证的功能移到最后,待人员都上传完毕之后处理。 三、门禁管理软件代码Changelog:

门禁管理软件开发总结

一、定制需求简述:

门禁管理软件向设备传输数据时,上传人员信息及指纹信息不全,由于门禁管理软件是按照固件版本来处理下发指纹数据,因为以前的软件对于现在的机器固件的指纹下发是处理不了的。因此需要定制。

简单的门禁系统开发(门禁管理软件开发总结)(1)

门禁管理软件

二、实现方法:

因上传人员组合验定时,在高速下是无法成功下发。原因为,在高速上传用户时,是先写到内存中,最后提交的,而上传人员组合验证的方法,不支持高速,它会直接下发到机器,这时机器中还没有人员,所以会失败。因此,在高速上传时,上传人员组合验证的功能移到最后,待人员都上传完毕之后处理。

三、门禁管理软件代码Changelog:

主要代码如下:

UploadOk := ZkManager.UpdateBatch;

//更新组合验证 不可以放到高速里面,只有在高速完成了之后再做

//如果是高速模式还要处理 上传验证方式

First; //从头开始

while Not Eof do

begin

if Not FieldByName('Selected').AsBoolean then //此用户没有选中跳过

begin

Next;

Continue;

Application.ProcessMessages;

end;

if ckbBase.Checked then

begin

if FCancelOp then Exit;

ZeroMemory(Pointer(@UserACCfg) Sizeof(UserACCfg));

//处理验证方式

UserACCfg.VerifyStyle := 0;

//根据门禁管理软件参数[上传用户没有指定门禁权限时,门禁管理软件将默认权限(使用组1时间段)。]

//去查找此用户有没有定义用户门禁权限

bFind := SearchUserDoorPri(ZkManager.DeviceInfo.ID IntToStr(FieldByName('UserNo').AsInteger) UserACCfg);

if not bFind then

begin

//没有找到用户自定义门禁权限 用户在不在:组->门禁组中

bFind := SearchUserDoorPriExt(ZkManager.DeviceInfo.ID FieldByName('UserNo').AsInteger UserACCfg);

end;

if bFind and ZkManager.TFTACC then

begin

iVerify:=IfThen((UserACCfg.VerifyStyle > 0) (128 UserACCfg.VerifyStyle-1) 0);

ZkManager.ZKem.SetUserInfoEx(ZkManager.DeviceInfo.MachineNumber FieldByName('UserNo').AsInteger iVerify Reserved);

end;

猜您喜欢: