开放式自动建表流水根据工班时段设置归属

上传人:kms****20 文档编号:40551064 上传时间:2018-05-26 格式:DOC 页数:5 大小:28KB
返回 下载 相关 举报
开放式自动建表流水根据工班时段设置归属_第1页
第1页 / 共5页
开放式自动建表流水根据工班时段设置归属_第2页
第2页 / 共5页
开放式自动建表流水根据工班时段设置归属_第3页
第3页 / 共5页
开放式自动建表流水根据工班时段设置归属_第4页
第4页 / 共5页
开放式自动建表流水根据工班时段设置归属_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《开放式自动建表流水根据工班时段设置归属》由会员分享,可在线阅读,更多相关《开放式自动建表流水根据工班时段设置归属(5页珍藏版)》请在金锄头文库上搜索。

1、开放式自动建表流水根据工班时段设置归属开放式自动建表流水根据工班时段设置归属/-/将时间转换为长整型 需要用这个函数 unsigned long DateTime2LongTime(TDateTime DT)TDateTime odt = StrToDateTime(“1970-1-1 08:00:00“);unsigned long time;Word enHour, enMinute, enSecond, enMSecond;Word exHour, exMinute, exSecond, exMSecond;DecodeTime(odt, enHour, enMinute, enSeco

2、nd, enMSecond);DecodeTime(DT , exHour, exMinute, exSecond, exMSecond);long days = (long)(Double)DT) - (long)(Double)odt);/ 时间的 毫秒总是认为是 0time= (60 * (60 * (24 * days + exHour - enHour) + exMinute - enMinute) + exSecond - enSecond);return(time);/-“Main.h“中定义#define MAX_WORK_NO 9unsigned char MaxWorkNo

3、;/定义最大工班,从系统参数表取值,用于流水数据月份归属AnsiString WorkSTimeMAX_WORK_NO+1;AnsiString WorkETimeMAX_WORK_NO+1;void _fastcall TMainForm:FormCreate(TObject *Sender).MaxWorkNo =(unsigned char)ADODataSet-FieldByName(“MaxWorkNo“)-AsInteger;TDateTime tmpDt;for(int i=0;iCommandText =“SELECT * FROM RDateTable Where RType

4、=0 And WorkNo=“ + IntToStr(i+1);ADODataSet-Open();tmpDt =ADODataSet-FieldByName(“StartTime“)-AsDateTime;strSTime=tmpDt.FormatString(“hh:nn:ss“);WorkSTimei=strSTime;tmpDt =ADODataSet-FieldByName(“EndTime“)-AsDateTime;strETime=tmpDt.FormatString(“hh:nn:ss“);WorkETimei=strETime; ADODataSet-Close();/数据分

5、解后写数据库中bool WinSockToDatabase1(AnsiString RStr)/根据流水数据登录时间自动创建表并将数据进行表的归属if(MainForm-AutoCreateChangeDataTable=true)TDateTime dt=StrToDateTime(WinSockStruc.LoginDate);unsigned long lgdt;lgdt=DateTime2LongTime(dt);AnsiString SDateTime;AnsiString tmpSTime,tmpETime;unsigned long tmpSDt,tmpEDt;bool Find

6、Time; /找登录时间所属时间段标记/取登录日期 年月日SDateTime=dt.FormatString(“yyyy-mm-dd“);FindTime=false;for(int i=0;iMaxWorkNo tmpETime = SDateTime + “ “ + MainForm-WorkETimei;/将时间字符串转换为时间后再转换为 long 型,因为需要精确到秒/而不能转换为 TDateTime 时间类型进行比较 因为 DateTime 精确到天tmpSDt =DateTime2LongTime(StrToDateTime(tmpSTime);tmpEDt =DateTime2L

7、ongTime(StrToDateTime(tmpETime);if(lgdt=tmpSDt else/没有找到时段所属日期,说明该时段属于跨零点日期,其时段在下一天内,/因此所属日期应归纳在 dt-1 天所属月内 同样对跨月的零点日期有效String tmps;tmps=“ChangeDataTable“+(dt-1).FormatString(“yyyymm“);if(MainForm-ChangeDataTableNamePortNo!= tmps)if(!MainForm-AutoCreatTable(dt-1).FormatString(“yyyymm“),PortNo) return false;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号