以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个数据备份的TimerTick能暂停吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96623)

--  作者:天若千颖
--  发布时间:2017/2/24 14:50:00
--  这个数据备份的TimerTick能暂停吗?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:databack.rar

 

数据备份的功能,打开窗口后即执行,执行时占用太大的本地资源,想增加一个暂停和一个继续的按钮,这样设置好像没有用。

 

如果暂停了,重新继续,会不会又重新开始备份,而不是接着刚才的进度?


--  作者:有点色
--  发布时间:2017/2/24 14:56:00
--  

 你这个备份代码,不应该写在timertick事件。单独写在一个按钮不行?

 

 如果确实要写在timertick事件,那么间隔,应该调成 60秒 甚至更大。


--  作者:天若千颖
--  发布时间:2017/2/24 15:02:00
--  

意思是,Timertick中的实践每个周期就执行一次?比如说我设置成60秒的话,从窗口一加载完毕就开始执行,如果60秒之内结束了,第61秒又开始执行重复的了吗?

 

现在我设置的是1秒,默认的,如果1秒没有把程序代码执行完的话,第二秒的事件是?


--  作者:天若千颖
--  发布时间:2017/2/24 15:06:00
--  
不行,设置成60秒的话,备份就不执行了,进度条就不走了。
--  作者:有点色
--  发布时间:2017/2/24 15:06:00
--  

timertick事件,每个周期都会执行一次。也就是说,你的代码会被重复执行。

 

你加入msgbox(date.now)就知道了。

[此贴子已经被作者于2017/2/24 15:06:19编辑过]

--  作者:天若千颖
--  发布时间:2017/2/24 15:08:00
--  
目前只能设置为1秒,打开窗口开始执行备份,进度条有显示当前进度,当备份完毕之后,不会再执行代码了。
--  作者:有点色
--  发布时间:2017/2/24 15:08:00
--  
 TimerTick事件,不是一开始就执行的,而是60秒以后,才开始执行。
[此贴子已经被作者于2017/2/24 15:08:00编辑过]

--  作者:天若千颖
--  发布时间:2017/2/24 15:11:00
--  

没明白,那我这个间隔到底该如何设置?设置成5秒?也就是说窗口打开后5秒开始执行?

 

不能实现中途暂停,继续之后还能接着刚才的进度备份吧?

 


--  作者:有点色
--  发布时间:2017/2/24 15:11:00
--  
以下是引用天若千颖在2017/2/24 15:08:00的发言:
目前只能设置为1秒,打开窗口开始执行备份,进度条有显示当前进度,当备份完毕之后,不会再执行代码了。

 

可以。如果想暂停,可以这样处理

 

Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(10)
    Application.DoEvents
End While

msgbox("10秒后执行")

 

然后,那个红色代码,可以改成一个vars变量的值


--  作者:天若千颖
--  发布时间:2017/2/24 15:21:00
--  

如果我想立即恢复的话,是不是加一个按钮,代码如下:

Application.DoEvents