欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 为什么KillTimer没起作用?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4306人关注过本帖树形打印复制链接

主题:为什么KillTimer没起作用?

帅哥哟,离线,有人找我吗?
dwjgwsm
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
为什么KillTimer没起作用?  发帖心情 Post By:2014/7/29 16:38:55 [显示全部帖子]

Sub cs()

Call Application.SetTimer(0,5*1000) 
if time> "16:30:40" then call Application.KillTimer(0)

'if time> "16:30:40" then
'  application.msgout "yes"
'else
'  application.msgout "no"
'end if

End Sub

Sub Application_Timer(ID)
Application.msgout Cdate(time) & ",0号计时器触发了"
End Sub

16:29:59,0号计时器触发了
16:30:04,0号计时器触发了
16:30:09,0号计时器触发了
16:30:14,0号计时器触发了
16:30:19,0号计时器触发了
16:30:24,0号计时器触发了
16:30:29,0号计时器触发了
16:30:34,0号计时器触发了
16:30:39,0号计时器触发了
16:30:44,0号计时器触发了
16:30:49,0号计时器触发了
16:30:54,0号计时器触发了
16:30:59,0号计时器触发了
16:31:04,0号计时器触发了

[此贴子已经被作者于2014/7/29 16:39:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
dwjgwsm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2014/7/29 21:19:01 [显示全部帖子]

没用!还是照样.
其实,time> "16:30:40"这个写法我是调试通过了的
[此贴子已经被作者于2014/7/29 21:19:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
dwjgwsm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2014/7/29 21:22:16 [显示全部帖子]


[此贴子已经被作者于2014/7/29 21:23:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
dwjgwsm
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2014/7/29 21:38:07 [显示全部帖子]

很神奇啊

单独调试
if time> "21:30:40" then          
application.msgout "yes"
else
application.msgout "no"
end if

这句是正确的,通过了的.但是按照王峰的写法调试
Call Application.SetTimer(0,5*1000) 
if time> "16:30:40" then
application.msgout "yes"
call Application.KillTimer(0)
end if
到了时间点竟然条件语句不能进入if的语句块,没输出"yes"!我也改成2楼的方法试过了,也是一样.何解???

 回到顶部
帅哥哟,离线,有人找我吗?
dwjgwsm
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2014/7/29 22:16:19 [显示全部帖子]

我知道了!因为if time> "16:30:40" then这句仅执行一遍,在程序刚刚运行的时候就执行过了, 所以,后面不存在再次运行该if语句的可能了!

 回到顶部