龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

统计VB程序的运行

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
用户退出程序时若能告诉用户程序当次用了多长时间、时间过长的话则提醒用户注意休息,我想这样的创意应是对用户的一种体贴,会使我们的软件更具亲和性,也给我们的软件添色不
用户退出程序时若能告诉用户程序当次用了多长时间、时间过长的话则提醒用户注意休息,我想这样的创意应是对用户的一种体贴,会使我们的软件更具亲和性,也给我们的软件添色不少。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下调试通过。
  
  PrivatesAsInteger'声明秒
  PrivatemAsInteger'声明分
  PrivatehAsInteger'声明小时
  PrivatedAsInteger'声明日
  
  '启动程序时设置Timer控件属性并给秒、分、时、日变量赋值
  PrivateSubForm_Load()
  Timer1.Enabled=True
  Timer1.Interval=1000
  s=0
  m=0
  h=0
  d=0
  EndSub
  
  PrivateSubTimer1_Timer()
  s=s 1'每秒钟给s变量加1
  Ifs>=60Then
  s=0'重新计算秒
  m=m 1'逢秒为60则分钟加1
  Ifm>=60Then
  m=0'重新计算分
  h=h 1'逢分钟为60则小时加1
  Ifh>=24Then
  h=0'重新计算小时
  d=d 1'逢24小时则天数加1
  EndIf
  EndIf
  EndIf
  EndSub
  
  '退出时
  PrivateSubcmdExit_Click()
  Ifd*24 h>=1Then'使用时间若超过一小时
  MsgBox"本次使用的时间为:"&d*24 h&"小时"&m&"分钟"_
  &s&"秒"&vbCrLf&"谢谢使用!"&vbCrLf&_
  "但请您注意休息,不要太劳累哦!",vbOKOnly,"再见"
  Else'若不超过一小时
  MsgBox"本次使用的时间为:"&h&"小时"&m&"分钟"_
  &s&"秒"&vbCrLf&"谢谢使用!"&vbCrLf,vbOKOnly,"再见"
  EndIf
  End
  EndSub
  
  
  '若用户点击窗体右上角的关闭按钮
  PrivateSubForm_queryunload(CancelAsInteger,UnloadmodeAsInteger)
  cmdExit_Click
  EndSub->

精彩图集

赞助商链接