VB 周期运行程序

作者&投稿:桑钞 (若有异议请与网页底部的电邮联系)
vb如何计算程序运行时间~

Dim StartTime As Date
Private Sub Form_Click()
label1.caption= DateDiff("s", StartTime, Time) '秒为单位 要扩展 自行修改
End Sub

Private Sub Form_load()
StartTime = Time
End Sub

应该是M吧Minutes
DateDiff("m",t,date)
其中的参数"m" 返回分数,t代表运行时间 ,Now 代表运行时间
取的是t 与 Now 的 间隔分钟数 ,
-----
解释下面的
DateDiff("s",t,date)
其中的参数"s" 返回秒数,t代表运行时间 ,Now 代表运行时间
取的是t 与 Now 的 间隔秒数
---显示秒的
Dim t As Date
Private Sub Form_Load()
t = Now
Timer1.Interval = 1
Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()
Timer1.Interval = 1000 '加快了显示速度
Dim i As Integer, h As Integer, m As Integer, s As Integer
i = DateDiff("s", t, Now) '我只改了这一句
h = i \ 3600'按照进率问题,3600秒= 1小时
m = i \ 60'按照进率问题,60秒=一分
s = i Mod 60
Label1.Caption = "程序已经运行" & h & "小时" & m & "分钟" & s & "秒"
End Sub

你这个要做数据库的,简单的ini,txt做保存,记录上一次运行的时间,再加timer控件获取系统时间,进行比较,

DateDiff 函数

返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。

语法

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函数语法中有下列命名参数:

部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

设置

interval 参数的设定值如下:

设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒

firstdayofweek 参数的设定值如下:

常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

常数 值 描述
vbUseSystem 0 用 NLS API 设置。
vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek 3 从第一个无跨年度的星期开始。

说明

DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。

为了计算 date1 与 date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算 date1 与 date2 之间星期日的个数而得。如果 date2 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。

如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。

firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。

如果 date1 或 date2 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 或 date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。

在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wjb9921/archive/2008/03/02/2138638.aspx

加个时间控件呗,每秒钟去比较一下当前的系统时间与文本框中的时间是否符合,符合就执行,不符就等下一秒。

关于天数,可以在上面的时间控件触发时,查一下日期时否与上次保存的日期变量一致,如果一致,忽略不计,否则就用在计算天数的变量上加一天,同时更新上日日期变量为当前日期。

这个应该非常简单,就是timer控件的应用

先把timer1的enabled属性设置成false
然后
Private Sub Command1_Click()
timer1.enabled = true
timer1.interval = val(text1.text)*24*60*60*1000 + val(text2.text)*60*60*1000
End Sub

Private Sub Timer1_Timer()
msgbox"111"
End Sub

额,我不是计算机专业的,也不知道这样写行不行,感觉比较简明吧。。。
注意:text中的数字不能加空格之类的其他多余符号。

建立一个定时器Timer1
Dim d As Date

Private Sub Command1_Click()
d = Date
Timer1.Interval = 1000
End Sub

Private Sub Form_Load()
Text1 = 1
Text2 = Format(Now, "hh:mm:ss")
End Sub

Private Sub Timer1_Timer()
If (Date - d) Mod Val(Text1) = 0 And Hour(Text2) = Hour(Now) And Minute(Text2) = Minute(Now) And Second(Text2) = Second(Now) Then
MsgBox "111"
End If
End Sub

用时间控件操作非常简单的,还有就是运用makedata控件更方便,有什么不懂的可以在联系。


米易县17537384531: VB 周期运行程序
徒颖更年: 建立一个定时器Timer1 Dim d As Date Private Sub Command1_Click() d = Date Timer1.Interval = 1000 End Sub Private Sub Form_Load() Text1 = 1 Text2 = Format(Now, "hh:mm:ss") End Sub Private Sub Timer1_Timer() If (Date - d) Mod Val(...

米易县17537384531: 用VB写一个可循环运行程序的代码??
徒颖更年: 以下以 记事本 和 注册表编辑器 为例: Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function ...

米易县17537384531: 急求vb下如何定时运行指定程序 -
徒颖更年: 在timer事件中加入(timer设置为每1000毫秒运行一次):if str(time)="09:00:00" then msgbox "时间到!请关电脑去吃早餐!"(楼主,我是99tools,上面的代码有点BUG,改为以上,给分请给到99tools)

米易县17537384531: 用VB做一个,定时运行指定程序 -
徒颖更年: 不错,windows自带的计划任务完全能满足你的要求了,如果你确实想自己设计的话:两个文本框text1,text2,text1填时间,text2填运行程序的路径+运行程序文件名 一个按钮command1,确认 一个时间控件timer1,Interval设为60000,精确程度接...

米易县17537384531: VB中利用time来定时运行程序怎么代码怎么写?
徒颖更年: Dim p As Integer Private Sub Command1_Click() Timer1.Enabled = True p = 0 End Sub Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = False End Sub Private Sub Timer1_Timer() p = p + 1 If p = 2 Then Shell "C:\1.exe", ...

米易县17537384531: VB设置指定某段时间运行程序.. -
徒颖更年: 在窗体1里加个timer Private Sub Form_Load() Timer1.Enabled = True Timer1.Interval = 100 End Sub Private Sub Timer1_Timer() If Hour(Now) = 23 Then Form1.Hide Form2.Show Else Form1.Show Form2.Hide End If End Sub

米易县17537384531: VB中实现定时运行程序! -
徒颖更年: 楼主的VB是Visual Basic 吗?Visual Basic 6.0中做一个Timer Dim intCnt As Integer Private Sub Form_Load() Timer1.Interval = 60000 ' Add these 3 lines of code where ever you want timer to start calling the function Timer1.Enabled = True intCnt ...

米易县17537384531: VB如何实现依次运行程序? -
徒颖更年: 给你个思路,假如老程序是old.exe 新程序是new.exe 升级部分的代码一样,你可以用command line来传递信息 old.exe里面更新的时候这样 shell "new.exe -update " & app.path & "\" & app.exename & ".exe" '启动新程序,传递两个参数过...

米易县17537384531: vb 实现周期控制 急用
徒颖更年: 建立控件TEXT1显示分TEXT2显示秒 Timer1控制时间,Command1控制倒计时开始, HScroll1控制倒计时时间多少 HScroll1的MAX属性为600 Private Sub HScroll1_Change() Text1.Text = Val(HScroll1.Value) / 60 Text2.Text = Val(HScroll1.Value) ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网