SOS求助

dyousoft 2009-07-10 04:56:18
研究过中控指纹机的朋友帮忙 型号op1000
Demo代码 读取指纹机数据的
try
if CZKEM1.ReadGeneralLogData(DevId) then
while CZKEM1.GetGeneralLogData(DevId,dwTMachine, dwEnrollNumber,dwEMachineNumber,dwVerifyMode,
dwInOutMode,dwYear,dwMonth,dwDay,dwHour,dwMinute) do
begin
s:=format('%5d %d %d %4d-%2d-%2d %2d:%2d'#13#10, [dwEnrollNumber,dwVerifyMode,
dwInOutMode,dwYear,dwMonth,dwDay,dwHour,dwMinute]);

Memo1.Lines.Add(s);
// f.Write(s[1],length(s));
end;
finally
//f.Free;
end;
我只刷了一笔.下面是读出来的数据
3211265 0 0 2000- 1- 1 0: 0

0 0 0 2000- 1- 1 0: 0

0 0 1 2000- 1- 1 0: 4

0 0 0 2000- 1- 1 0: 0

1627455488 0 0 2000- 1-14 20:12
而且中控自带的程序不会出问题..
请问会是什么原因呢?
...全文
193 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
artge 2009-08-11
  • 打赏
  • 举报
回复
我在这儿调试的时候有一个 zkemkeeper_TLB 如何加入到DEPHI中哦。 我编译的时候,提示zkemkeeper_TLB不存在。
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
3211265 0 0 2000-01-01 00:00:00
0 0 0 2000-01-01 00:00:00
0 0 1 2000-01-01 00:04:15
0 0 0 2000-01-01 00:00:00
1627455488 0 0 2000-01-14 20:12:50

老样子 得疯了
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
if CZKEM1.ReadGeneralLogData(DevId) then
while CZKEM1.GetGeneralLogDataStr(devid,dwenrollnumber,dwverifymode,dwinoutmode,timestr) do
还是一样的结果
昨天只是没有仔细的试.
今天仔细一看,原来还是一样.呵呵
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
想起来了,你再试试 重要的是widestring

var
dwEnrollNumber,dwVerifyMode,dwInOutMode, value: Integer;
TimeStr, s: WideString; // <--
begin
if CZKEM1.Connect_Net(NetIP,Port) then
begin
if CZKEM1.ReadGeneralLogData(devid) then
while CZKEM1.GetGeneralLogDataStr(devid,dwEnrollNumber,dwVerifyMode,dwInOutMode,TimeStr) do
begin
...
end;
except
on e:Exception do
...

如果还不行,就没办法了,因为我这样操作这边的考机没问题
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
现在才看你,你说用DEMO走了5次,呵呵~~ 那个DEMO是有问题的,所以我后来才用GetGeneralLogDataStr
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
呵呵.还能蒙你不成.我昨天就试过了呢
也是实在没办法 才上来求救的哈
他们的客服全都推研发部去
打了一上午电话都没找到懂技术的跟我讲..
要不我再试试看
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
之前我用GetGeneralLogData也是有问题,具体忘记了,

我用GetGeneralLogDataStr是没问题的吖,而且你也读出了有两条,你有没有真的用GetGeneralLogDataStr试?
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
我觉得这堆数据同实际数据应该没什么关系

因为不管什么时候读取数据
都是出这堆东西
好象始终在内存中一样...
但卡钟里没有数据了
它也消失了.这也奇怪呢
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
清空那个功能又有用呢
清了就没数据了.

你说它读错了地方了也不是
确实刷了才能读出来
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
那中间三条记录,我估计是没跟员工匹对的关系
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
1 2009-07-10 14:46:49 1 1 1 I 0
1 2009-07-10 14:46:57 1 1 1 I 0
卡钟里有两笔数据
这是用他们自带程序读出来的数据...

可用DEMO程序走了五次..不明白..
应该是前四后一
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
那就怪了,要不先清空全部记录,CZKEM1.ClearGLog(devid);再刷刷看看.好怪喔
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
Value =2
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
CZKEM1.GetDeviceStatus(1, 6, value) 看value看看具体有多少条记录
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
数目也不对.时间也不对...
我只刷了一笔卡.
它却循环了三次


如果我刷了二笔卡的话
它就会出现两个这段东西

ReadGeneralLogData\读到内存这里就已经是三条了

用GetGeneralLogDataStr也不行 开发包里面能用的的函数都出这种结果
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
用这个试试 CZKEM1.GetGeneralLogDataStr(DevId,dwEnrollNumber,dwVerifyMode,dwInOutMode,TimeStr)

直接读timestr
dinoalex 2009-07-10
  • 打赏
  • 举报
回复
你是指时间错误吗? 还是数目不对?
dyousoft 2009-07-10
  • 打赏
  • 举报
回复
指纹机上的日期都是正常的
可为什么读出来的2000年的呢

关键是他们自带的那个程序能够读出来呢

难道他们的Demo用来骗人的么..
SuperTitan001 2009-07-10
  • 打赏
  • 举报
回复
看日期就知道最后一笔是你刷的记录
前面的可能是测试数据

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧