以下是lisp学习一个月后的练手,此lisp是根据论坛中的lisp加密注册而编写的时间限制,新人出道,请高手们多指点。
- (defun my_a_date()
- (setq 注册的日期 (vl-registry-read reg_path "注册日期"));读出首次安装软件的日期
- (if (/= 注册的日期 nil)
- (progn
- (setq 年_old (substr 注册的日期 1 4) 月_old (substr 注册的日期 5 2) 日_old (substr 注册的日期 7 2))
- (setq date_now (rtos(getvar "cdate")))
- (setq 年_now (substr date_now 1 4) 月_now (substr date_now 5 2) 日_now (substr date_now 7 2))
- (setq 使用年 (- (atof(substr date_now 1 4)) (atof(substr 注册的日期 1 4))))
- (setq 使用月 (- (atof(substr date_now 5 2)) (atof(substr 注册的日期 5 2))))
- (setq 使用日 (- (atof(substr date_now 7 2)) (atof(substr 注册的日期 7 2))))
- (setq 使用日期 (+ (* 使用年 360) (* 使用月 30) (* 使用日 1)))
- (setq 剩余使用日期 (- 30 使用日期))
- (if (< 剩余使用日期 0.0)
- (vl-registry-delete reg_path "注册码" regnum)
- (if (< 剩余使用日期 7)
- (progn
- (setq LP1 "距你使用软件的最后期限还剩")
- (setq LP3 "天!")
- (setq LP2 (rtos 剩余使用日期))
- (setq Princ_LP (strcat LP1 LP2 LP3))
- (alert Princ_LP)
- )
- )
- )
- )
- )
- )
|