当前位置:编程学习 > Delphi >>

求用Delphi做的考勤统计窗口的代码

我的考勤记录是用控件Tcheckbox来做,并设有TDateTimePicker来记录时间。在统计窗口要用统计两个TDateTimePicker间这段时间的考勤记录,而用Tcheckbox做的记录的是布尔值,请问怎么转为数值。具体怎么做?谢谢了,要是帮我解决了,我会加分的!
追问:

我要统计的时间是用TDateTimePicker控件,统计两个TDateTimePicker间时间的记录,这样没有像你上面写的那样那么简单吧?还有,统计的你能也写个简单的代码吗?我只是初学阶段,对Delphi不是很精通,先谢谢了,还有谢谢你的回答!

答案:

用的是什么数据库做记录? 用Access吧, Tcheckbox做的记录存储后为布尔值应该是用Access. 用SQLServer的bit字段会直接就是数值型的,不需要转换. 用Access功能比较有限一些, 一些复杂的查询无法进行,只能分步, 现在假设有一张表Present有四个字段, id是主键 自动编号,CName为 "文本"类型, IsPresent为 "是/否" 类型. TDate 表示日期, 如果是要查询得到的结果显示为数值型倒是可以这样做:

select CName,
IIf(IsPresent,"1","0") as 出席, TDate as 时间
from
Present
order by
id

返回"出席"这一列已经是数字了,要如何统计自己做吧.

从上述内容来看,Tcheckbox是记录某一天打卡而否,可以用如下思路满足你的统计;

1、设置某一时间段,查询该期间的所有考勤记录;

2、采用循环语句,逐一判断其布尔值,如果为真则表示有上班,通过一个变更来记录总个上班天数;

注:其实布尔值亦为0或1的数值,一般是不用什么转化,只需要判定则可;

当然,有其它更好的方法实现考勤的统计,只不过你的问题限定,只能通过该方式来处理;

上一个:一段Delphi代码,求解释
下一个:delphi中如何把图片保存到特定的位置

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,