作者:土人
用户退出程序时若能告诉用户程序当次用了多长时间、时间过长的话则提醒用户注意休息,我想这样的创意应是对用户的一种体贴,会使我们的软件更具亲和性,也给我们的软件添色不少。VB中可利用Now函数或者Timer控件完成此设想。
用Now函数能保证时间统计的准确性。思路是这样:用CStr(Second(Now)、CStr(Minute(Now))、Cstr(Hour(Now))及CStr(Day(Now))记取程序启动和关闭时系统时钟的秒、分、时、日,然后作些计算即可得出运行时间总和。因其计算在跨月份的情况下相当复杂,本文不打算对这个思路作讨论。
用Timer控件不失为一种很好的解决方法,它能较为方便地帮助我们统计程序运行的时间。具体思路是:设置几个变量分别记录秒、分、时、日,让Timer控件控制秒、分、时、日的变化。当秒数等于60时则分钟加1,当分钟等于60时则小时加1,当小时等于24时则日加1。这里,秒最为关键,它的精确性决定了时间的统计是否准确。Timer控件的Interval属性的设置因而变得很重要:我们的秒变量将由它来主宰。将其Interval属性设为1000的话一个小时可能会误差6秒钟,这应该是无关紧要了吧。
以下是完整的程序代码清单。作为试验,本程序仅需要一个窗体、一个按钮和一个Timer控件。程序在PWin98、VB6.0下调试通过。
Private s As Integer '声明秒
Private m As Integer '声明分
Private h As Integer '声明小时
Private d As Integer '声明日
'启动程序时设置Timer控件属性并给秒、分、时、日变量赋值
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
s = 0
m = 0
h = 0
d = 0
End Sub
Private Sub Timer1_Timer()
s = s + 1 '每秒钟给s变量加1
If s >= 60 Then
s = 0 '重新计算秒
m = m + 1 '逢秒为60则分钟加1
If m >= 60 Then
m = 0 '重新计算分
h = h + 1 '逢分钟为60则小时加1
If h >= 24 Then
h = 0 '重新计算小时
d = d + 1 '逢24小时则天数加1
End If
End If
End If
End Sub
'退出时
Private Sub cmdExit_Click()
If d*24 +h >= 1 Then '使用时间若超过一小时
MsgBox "本次使用的时间为:" & d*24 + h & "小时" & m & "分钟" _
& s & "秒" & vbCrLf & "谢谢使用!" & vbCrLf & _
"但请您注意休息,不要太劳累哦!", vbOKOnly, "再见"
Else '若不超过一小时
MsgBox "本次使用的时间为:" & h & "小时" & m & "分钟" _
& s & "秒" & vbCrLf & "谢谢使用!" & vbCrLf, vbOKOnly, "再见"
End If
End
End Sub
'若用户点击窗体右上角的关闭按钮
Private Sub Form_queryunload(Cancel As Integer, Unloadmode As Integer)
cmdExit_Click
End Sub
-
vb教程之统计VB程序的运行时间
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
JavaScript判断两个数组相等的四类方法
js如何操作video标签
React实战--利用甘特图和看板,强化Paas平
【记录】正则替换的偏方
前端下载 Blob 类型整理
抽象语法树AST必知必会
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程