gbhsu 发表于 2011-7-25 08:17:56

lisp程序限制使用的探讨

本帖最后由 gbhsu 于 2011-7-25 08:27 编辑

;;;以前刚学lisp时对自已的劳动成果相当珍惜
;;;藏藏掖掖的,不过想法可以和大家探讨一下
;;;将源码贴出来供大家参考!
;;;使用方法:
;;;(defun c:mgb()
;;;          (hsu_data "lmdata" "木工板")
;;;          .........
;;;)
;;;可以有点小问题,望高手改进!
;;;另外记录数据时可以增加算法x*5+3,返回读取则(x-3)/5等等大家任意设计
:::同时也可增加注册表的应用
;;;关于记录文件的删除的应用大家也可以讨一下
;;;这是老程序,没有时间细化!
;;;另外可以加进,U盘,硬盘,网卡的序列号等,可以限制使用人,限制使用电脑!
(defun hsu_data(file_name string / num exist-fp )
       (setq date 20121231);设置使用日期
       (setq use_num   2000);设置使用次数
       (setq num 0)
       (if hsukey (setq use_num 10000))             ;后门
       (hsu-modemacro (list string "绘制程序由燕川布衣编制,群号:113631483."))
       (setqfile_name (strcat"c:\\windows\\"file_name".dat"));位置可另藏
       (if (findfile file_name)
    (progn
    (setq exist-fp (open file_name "r"))
    (if (setq num(read-line exist-fp))
      (setq num (read num)))
   
    (if (not num)(setq num 0))
    (close exist-fp)
    (setq exist-fp (open file_name "w"))
    (if num
      (progn
      (setq num (+ num 1))
      (write-line (itoa num) exist-fp)
      (close exist-fp)
      (princ (strcat"\n您已使用了"(itoa num)"次"string"程序!\n"))))
    );progn
(progn
    (if (<= (read(rtos (getvar "cdate") 2 0)) date)
      (progn
      (setq exist-fp (open file_name "w"))
      (write-line (itoa num) exist-fp))
      );if
    (close exist-fp)
    );progn
    );end of if
       (if (or(>= (read(rtos (getvar "cdate") 2 0)) date)
      (>= num use_num))
    (progn
      (alert (strcat"\n您的"string"超过使用日期["(itoa date)"],\n\n或使用次数["(itoa use_num)"次],\n\n请及
时重新下载!\n\nQQ群号:113631483"))
      (if(findfile file_name)
         (setq exist-fp (open file_name "w"))
         (close exist-fp)
      
         ;(vl-file-delete file_name)
         );if
      (exit)
      
      );progn
            );end of if
         );defun

(defun hsu-modemacro(string_list / )
(setq modemacro-string "")
(foreach n string_list
         (setq modemacro-string (strcat modemacro-string " " n)))
(setvar "modemacro" modemacro-string)
);defun

gbhsu 发表于 2011-7-25 11:33:42

呵呵,
自已顶一下!

cumtjh 发表于 2011-7-25 14:26:32

谢谢分享 学习啦

xiaxiang 发表于 2011-7-25 20:01:57

回复 gbhsu 的帖子

哈哈,感谢分享!

gbhsu 发表于 2011-7-25 20:36:42

回复 xiaxiang 的帖子

适合自已的才是最好的!

cnks 发表于 2011-7-27 00:09:36

这个是浮云

zyhandw 发表于 2011-7-27 08:55:17

学习一下!感谢gbhsu大师的分享!

qcw911 发表于 2011-8-5 14:46:26

用了一下
我设定的是6次
第六次的时候是出现对话框
但是七次输入命令时候 就显示第一次使用过了
这是怎么回事?

urdiafa 发表于 2011-8-5 17:26:31

謝謝,學習了.........

tryhi 发表于 2011-8-7 14:57:03

好好阅读学习下
页: [1] 2 3
查看完整版本: lisp程序限制使用的探讨