|
 |
推荐文章 |
|
|
|
|
|
|
|
|
|
|
| 作者:本站收集 日期:2005-8-4 11:32:15 |
|
|
为了防止日期出错可以使用各种技术,防止日期超前不太容易,但对天天都使用的软件可以在软件启动后检测日期,使之必须连续无间隔即可。
防止日期退后很有必要,有一种通用的方法:软件每次运行都将当前日期和时间存盘,软件在启动时则对比当前日期时间和保存的日期时间,发现有退后现象就提示错误信息,不予运行。
此方法也可以作为试用版软件防用户更改日期的方法。
用Visual BASIC编写的示例程序如下:
建一个空窗体,在代码窗口中输入以下代码即可运行,当程序发现日期出现返回错误时会给出提示。把本程序生成可执行文件放在启动组中就可以在每次开机时检测日期/时间的错误,放在个人程序的启动部分就可以在个人程序中检测日期/时间错误。
Option Explicit
Private Sub Form_Load()
Dim SaveNow, ReadNow, DateErr As Boolean, Msg
On Error GoTo ItErr
'读取储存的日期/时间。
Open "C:\WINDOWS\DATAOK.DAT" For Input As #1
Input #1, ReadNow: SaveNow = CDate(ReadNow)
Close #1
'储存时间比当前时间大时错误发生。
If SaveNow〉Now Then DateErr = True Else DateErr = False
If Not DateErr Then
'未发现错误,重新写入当前时期/时间。
Open "C:\WINDOWS\DATAOK.DAT" For Output As #1
Print #1, Now
Close #1
MsgBox "日期正常,欢迎使用本软件。"
Exit Sub
Else
'提示出错信息。
Msg = "上次储存日期/时间:" && SaveNow && vbCrLf
Msg = Msg && "当前日期/时间:" && Now && vbCrLf && vbCrLf
Msg = Msg && "请务必改正当前时间,以防出错!"
MsgBox Msg, , "日期/时间检测出错!"
End
End If
ItErr:
'首次运行程序,直接写入当前日期/时间
Open "C:\WINDOWS\DATAOK.DAT" For Output As #1
Print #1, Now
Close #1: End
End Sub
程序在VB 6.0专业版下调试通过。 |
|
|
|
|
|
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
|
|
|
|
|
责任编辑: 原点 |
投稿作者: 本站收集 |
|
|
信息来源: 网络 |
录入时间: 2005-8-4 11:32:15 |
|
|
|
| |
|