像这样的。如果时间尚未过期且系统时间未更改,则此函数返回T。但您可以使用比通过“setenv”函数设置环境变量更秘密的方法。例如,将数据写入注册表或某些密文文件。
当然用户可以每天设置相同的日期,但这并不方便。这也是可以设想的。
- (defun TimeControl(Days / Pass)
- (if(not(getenv "FirstDate"))
- (setenv "FirstDate"(itoa(fix(getvar "CDATE"))))
- ); end if
- (if(not(getenv "LastDate"))
- (setenv "LastDate"(getenv "FirstDate"))
- ); end if
- (setq lDate(atoi(getenv "LastDate"))
- fDate(atoi(getenv "FirstDate"))
- cDate(fix(getvar "CDATE")))
- (cond
- ((> cDate lDate)
- (alert "Your system time has been changed.\n Bue, bue bad guy... ")
- ); end condition #1
- ((>(- cDate fDate)Days)
- (alert "Your time has been expired.\n Call me baby. ")
- ); # end condition #2
- (T (setq Pass T)
- (setenv "LastDate"(itoa(fix(getvar "CDATE"))))
- ); end condition #3
- ); end cond
- Pass
- ); end of TimeControl
|