当前位置:主页   - 电脑 - 程序设计 - VB
拒绝录入错误日期的编程方法
来源:网络转载   作者:未知   更新时间:2008-12-11
收藏此页】    【字号    】    【打印】    【关闭
为了防止日期出错可以使用各种技术,防止日期超前不太容易,但对天天都使用的软件可以在软件启动后检测日期,使之必须连续无间隔即可。


  防止日期退后很有必要,有一种通用的方法:软件每次运行都将当前日期和时间存盘,软件在启动时则对比当前日期时间和保存的日期时间,发现有退后现象就提示错误信息,不予运行。


  此方法也可以作为试用版软件防用户更改日期的方法。


  用VisualBASIC编写的示例程序如下:


  建一个空窗体,在代码窗口中输入以下代码即可运行,当程序发现日期出现返回错误时会给出提示。把本程序生成可执行文件放在启动组中就可以在每次开机时检测日期/时间的错误,放在个人程序的启动部分就可以在个人程序中检测日期/时间错误。


  OptionExplicit

  PrivateSubForm_Load()


  DimSaveNow,ReadNow,DateErrAsBoolean,Msg


  OnErrorGoToItErr


  '读取储存的日期/时间。


  Open"C:\WINDOWS\DATAOK.DAT"ForInputAs#1


  Input#1,ReadNow:SaveNow=CDate(ReadNow)


  Close#1


  '储存时间比当前时间大时错误发生。


  IfSaveNow〉NowThenDateErr=TrueElseDateErr=False


  IfNotDateErrThen


  '未发现错误,重新写入当前时期/时间。


  Open"C:\WINDOWS\DATAOK.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:\WINDOWS\DATAOK.DAT"ForOutputAs#1


  Print#1,Now


  Close#1:End


  EndSub




  程序在VB6.0专业版下调试通过。->


其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明