找回密码
 加入
搜索
查看: 1842|回复: 5

[AU3基础] _DateAdd 在一个周期运行程序问题(已解决)

  [复制链接]
发表于 2012-7-10 15:23:15 | 显示全部楼层 |阅读模式
本帖最后由 夜猫猫 于 2012-7-10 20:51 编辑

郁闷!居然把帖子发到无意义贴里去了

预想效果:使用_DateAdd获得预定时间,当时间到时执行程序,执行完程序后,保持在线等待下次执行.
我使用当前时间跟预定时间比较,匹配则运行程序.不匹配等待

这里有个差不多的.5楼三笑的代码
http://www.autoitx.com/forum.php ... hlight=%D6%DC%C6%DA
但是使用注册AdlibRegister函数,避免使用 ...Wait(), MsgBox(), InputBox() 等阻断型函数,所以不能使用.
搞一头雾..好象每次获取时间都没法比较...预定时间永远跟当前时间对不上,,求帮忙...谢谢

代码如下:
#include <Date.au3>
$sNewDate = _DateAdd('n', 1, _NowCalc())
$nowdate = _NowCalc()
;MsgBox(4096, "", "1分钟后时间是:  " & $sNewDate)

While 1
If $nowdate = $sNewDate Then
        MsgBox(0,"","运行程序")
EndIf
Sleep(1000)
WEnd
发表于 2012-7-10 15:45:15 | 显示全部楼层
你这是刚给用现在的时间加1分钟后,马上跟现在的时间比较, 这哪里能相等?
应该在循环里i不断更新'现在的时间'来比较:

#include <Date.au3>
$sNewDate = _DateAdd('n', 1, _NowCalc())
While 1
If $sNewDate = _NowCalc() Then ExitLoop
Sleep(100)
WEnd
MsgBox(0,"时间到","运行程序")
发表于 2012-7-10 16:05:00 | 显示全部楼层
本帖最后由 ashfinal 于 2012-7-10 16:09 编辑


#include <Date.au3>
$sNewDate = _DateAdd('n', 1, _NowCalc())

;MsgBox(4096, "", "1分钟后时间是:  " & $sNewDate)

While 1
$nowdate = _NowCalc()  ;原第三行移到这
If $nowdate = $sNewDate Then
        MsgBox(0,"","运行程序")
EndIf
Sleep(1000)
WEnd


原例上改一句你就知道错哪了 虽然你指定 $nowdate 为当前时间,实际上并没更新。它指向的是过去的固定时间
 楼主| 发表于 2012-7-10 16:15:43 | 显示全部楼层
本帖最后由 夜猫猫 于 2012-7-10 16:24 编辑

谢谢ashfinal  555.....测试几下才发现ashfinal改的不是我想要的效果.第一次会执行.并且不会退出.但不会执行第二次,第三次.
我需要循环执行.就是每一分钟.或者一小时.一天执行.比如现在时间2点.预定6小时后执行一次.执行完后等待.再过6小时后再执行一次
发表于 2012-7-10 18:20:14 | 显示全部楼层
本帖最后由 ashfinal 于 2012-7-10 18:22 编辑

直接用sleep不更好?
While 1 
  sleep(60*1000)
  MsgBox(0,"","运行程序")
WEnd


你原来的也能改改

#include <Date.au3>
$sNewDate = _DateAdd('n', 1, _NowCalc())
;MsgBox(4096, "", "1分钟后时间是:  " & $sNewDate)
While 1
$nowdate = _NowCalc()  ;原第三行移到这
If $nowdate = $sNewDate Then
        MsgBox(0,"","运行程序")
        $sNewDate = _DateAdd('n', 1, _NowCalc())  ;复制原第二行到此,重新定义$sNewDate
EndIf
Sleep(1000)
WEnd
 楼主| 发表于 2012-7-10 20:51:21 | 显示全部楼层
SLEEP休眠是可以用.但是如果是分钟,小时.那该添多大数?


谢谢....重定义后可以正常使用了..
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 05:30 , Processed in 0.075453 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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