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

拒绝录入错误日期的编程方法

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
为了防止日期出错可以使用各种技术,防止日期超前不太容易,但对天天都使用的软件可以在软件启动后检测日期,使之必须连续无间隔即可。 防止日期退后很有必要,有一种通用的方
为了防止日期出错可以使用各种技术,防止日期超前不太容易,但对天天都使用的软件可以在软件启动后检测日期,使之必须连续无间隔即可。
  
  
  防止日期退后很有必要,有一种通用的方法:软件每次运行都将当前日期和时间存盘,软件在启动时则对比当前日期时间和保存的日期时间,发现有退后现象就提示错误信息,不予运行。
  
  
  此方法也可以作为试用版软件防用户更改日期的方法。
  
  
  用VisualBASIC编写的示例程序如下:
  
  
  建一个空窗体,在代码窗口中输入以下代码即可运行,当程序发现日期出现返回错误时会给出提示。把本程序生成可执行文件放在启动组中就可以在每次开机时检测日期/时间的错误,放在个人程序的启动部分就可以在个人程序中检测日期/时间错误。
  
  
  OptionExplicit
  
  PrivateSubForm_Load()
  
  
  DimSaveNow,ReadNow,DateErrAsBoolean,Msg
  
  
  OnErrorGoToItErr
  
  
  '读取储存的日期/时间。
  
  
  Open"C:WINDOWSDATAOK.DAT"ForInputAs#1
  
  
  Input#1,ReadNow:SaveNow=CDate(ReadNow)
  
  
  Close#1
  
  
  '储存时间比当前时间大时错误发生。
  
  
  IfSaveNow〉NowThenDateErr=TrueElseDateErr=False
  
  
  IfNotDateErrThen
  
  
  '未发现错误,重新写入当前时期/时间。
  
  
  Open"C:WINDOWSDATAOK.DAT"ForOutputAs#1
  
  
  Print#1,Now
  
  
  Close#1
  
  
  MsgBox"日期正常,欢迎使用本软件。"
  
  
  ExitSub
  
  
  Else
  
  
  '提示出错信息。
  
  
  Msg="上次储存日期/时间:"&&SaveNow&&vbCrLf
  
  
  Msg=Msg&&"当前日期/时间:"&&Now&&vbCrLf&&vbCrLf
  
  
  Msg=Msg&&"请务必改正当前时间,以防出错!"
  
  
  MsgBoxMsg,,"日期/时间检测出错!"
  
  
  End
  
  
  EndIf
  
  
  ItErr:
  
  
  '首次运行程序,直接写入当前日期/时间
  
  
  Open"C:WINDOWSDATAOK.DAT"ForOutputAs#1
  
  
  Print#1,Now
  
  
  Close#1:End
  
  
  EndSub
  
  
  
  
  程序在VB6.0专业版下调试通过。->

精彩图集

赞助商链接