以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [分享]暂停循环实例(公开源码) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78285) |
-- 作者:黄训良 -- 发布时间:2015/12/6 12:45:00 -- [分享]暂停循环实例(公开源码)
循环暂停,是非常实用的功能, lsy老师的“暂停循环实例”没有公开源码,因工作需要自己写吧!自己愚钝,花了半天的时间(不用MessageBox),经过n次测试才写了出来,核心代码只有47字。功能如下: 循环【表A】,每循环一行就去执行一个任务,执行任务这个时间就暂停循环,收到任务结束的信息后,恢复循环! 优点:代码简洁,循环结束什么都不用去“销毁”。 (有10人需要就公开源码)
以下内容只有回复后才可以浏览 [此贴子已经被作者于2015/12/15 12:56:44编辑过]
|
-- 作者:freeants -- 发布时间:2015/12/6 13:04:00 -- 需要哈 ,多谢 |
-- 作者:qianqian1530 -- 发布时间:2015/12/6 13:42:00 -- \'\'\' Vars("Mark1") = True If Vars("s") Is Nothing Then Vars("s") = 1 End If Dim Sum As Integer Dim i As Integer For i = Vars("s") To 100 If Vars("Mark1") Then Sum = Sum + i Else Vars("s") = i End If Next Output.Show(Sum) 暂停 Vars("Mark1") = False
|
-- 作者:黄训良 -- 发布时间:2015/12/6 14:04:00 -- 以下是引用qianqian1530在2015/12/6 13:42:00的发言:
这个已测试过,是再次启动循环,并非暂停。
\'\'\' Vars("Mark1") = True If Vars("s") Is Nothing Then Vars("s") = 1 End If Dim Sum As Integer Dim i As Integer For i = Vars("s") To 100 If Vars("Mark1") Then Sum = Sum + i Else Vars("s") = i End If Next Output.Show(Sum) 暂停 Vars("Mark1") = False
|
-- 作者:大红袍 -- 发布时间:2015/12/6 14:12:00 -- Do Until vars("开关") = False \'Application.DoEvents Loop |
-- 作者:gua12gua -- 发布时间:2015/12/6 14:59:00 -- 楼主分享呗 |
-- 作者:shenyl0211 -- 发布时间:2015/12/6 15:04:00 -- 好注意,谢分享 |
-- 作者:游 -- 发布时间:2015/12/6 15:06:00 -- 以下是引用gua12gua在2015/12/6 14:59:00的发言:
楼主分享呗 难得啊,第一次看见老兄回帖没用 ddddd |
-- 作者:游 -- 发布时间:2015/12/6 15:12:00 -- 楼主: 个人感觉,这种用例,用循环暂停不如用队列。用变量通知一个执行一个。
|
-- 作者:黄训良 -- 发布时间:2015/12/6 18:25:00 -- 以下是引用游在2015/12/6 15:12:00的发言:
楼主: 个人感觉,这种用例,用循环暂停不如用队列。用变量通知一个执行一个。
分享一下吧! |