a=0
b:=0
c:=0
if 不是星期六和星期天
begin
if copy(200609061145,9,4) <830
begin
c:=c+1;//表示人到且不迟到次。
next //表示下一条记录
end;
if copy(200609061145,9,4) >830 ,and <1200
begin
a:=a+1;//表示迟到多一次。
next //表示下一条记录
end;
if (a> 0)or (c>0) //表示不管咋样,他来了
begin
if copy(200609061145,9,4) <1200
begin
b:=b+1;//表示早退多一次。
next //表示下一条记录
end;
end;
end;//if 不是星期六和星期天
if 是星期六和星期天 then
begin
结束//当然,如果以后要扩展功能,可以在这里入手
end;
下午雷同
将结果写道日志中,要用的时候或者一周(或一月) 从日志中统计,原始数据压缩保存.
点评:这种算法分步解决,不难,一般的计算机能完成的,它有原始数据作档案,中间计算不累;;报表可以马上要,也可以以后定时上报。
一个是判断迟到早退,解决
一个是判断周六周日,解决
还有一个是判断有没有刷 如果a=0 and b=0 and c= 0 表示人没有到或人道他没有刷卡 你可以在
if copy(200609061145,9,4) >830
begin
a:=a+1;//表示迟到多一次。
end;
提醒员工,你是迟到还是早退了,若果是早退,要找证人,否则,将视为迟到,而且是太迟了
要在当天记录中用,否则速度慢,统计后将当天记录天再加到总记录中,