起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 150|回复: 5

【结贴】每天定时启动流程,如何做呢?**

[复制链接]
发表于 2008-4-7 17:46:11 | 显示全部楼层 |阅读模式
比如我想每天9:00启动流程?该如何做呢?
回复

使用道具 举报

发表于 2008-4-7 17:57:48 | 显示全部楼层
自己在一个功能上放一个time,然后代码启动流程实例就可以了,
参考:http://bbs.justep.com/forum.php?mod=viewthread&tid=1202
回复 支持 反对

使用道具 举报

发表于 2008-4-7 18:05:00 | 显示全部楼层
做一个服务功能,用timer控件定时创建新流程。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-8 11:27:51 | 显示全部楼层

谢谢,时间9:00如何定呢?

谢谢,我想问一下时间9:00设定呢,DateUtils.CompareTime的精度是比较到秒?
我把定时器设为1分钟,我写了一个段代码,
procedure TMAINFORM.Timer1Timer(Sender: TObject);
  var
     sNowMinu,sMsg:String;
     tNowMinu,tStartFlowTime,tStartFlowTime2:TDateTime;
     flag1,flag2:ShortInt;
begin
   tStartFlowTime:=Business.System.SysUtils.StrToDateTime('2008-4-7 19:00:00');
   tNowMinu:=DateUtils.TimeOf(SysUtils.Now());
    tStartFlowTime2:=DateUtils.IncMinute(tStartFlowTime,1);
   //当前时间大于19:00&&<19:01,启动流程,timer:1分钟
   flag1:=DateUtils.CompareTime(tNowMinu,tStartFlowTime);// 19:00
   flag2:=DateUtils.CompareTime(tNowMinu,tStartFlowTime2);//19:01
   if flag1<>-1 and flag2=-1 then     //
         jsDialogs.ShowMsg('启动流程','启动流程');
   Timer1.Interval:=1000*60;
   Timer1.Enabled:=true;
end;
竞然,在段点flag1=1,falg2=-1时没有进入showMsg!,是不是shortInt的原因?
我觉得我代码写的不好,有更好的定时到9:00的方法么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-8 14:13:22 | 显示全部楼层

这儿写错了,

结贴吧,我这儿写错了,if flag1<>-1 and flag2=-1 then     //
         jsDialogs.ShowMsg('启动流程','启动流程'
该是if (flag1<>-1) and (flag2=-1) then     
对delphi不熟悉的错呀,这样就正确了,若没有更好的方法就先这样写吧,
回复 支持 反对

使用道具 举报

发表于 2008-4-8 14:34:11 | 显示全部楼层
ok,一般如果要用到时间,都用服务器的时间。因为客户端,用户可能会顺便修改,且不同客户端的时间可能有出入;而服务器的时间,只有系统管理员才能修改,一般的操作员都改不到,且所有客户端访问的时间是一致的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 22:18 , Processed in 0.053191 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表