明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3502|回复: 14

[已解答] 有看不懂的地方,请老大帮忙翻译一下

[复制链接]
发表于 2013-5-15 13:09:08 | 显示全部楼层 |阅读模式
本帖最后由 yaokui25 于 2013-5-16 11:50 编辑

下面这段代是从终明经上找到了
作者应该是 kongel@qq.com 在这里谢谢该作者
作用是给程序加上使用期限
对代码的理解有限,希望老大帮忙解释一下
尤其是下段红色部分,如果说我想改变期限例如:180天
应该怎么改?

(defun k_right (/ kongel_code_s yo do yn dn
    date_d_e date_d_1_e date_d_2_e  my_da  )
  (defun k_code_s(/ date_d date_d_1 date_d_2 kongel_code_s )
  (setq kongel_code_s
     (vl-registry-read
     "HKEY_CURRENT_USER\\Software\\kongel"
     "my_code_date_start")
  )
(if (= kongel_code_s nil)
  (progn
    (setq date_d (getvar "cdate"))
    (setq date_d_1 (rtos date_d 2 20))
    (setq date_d_2 (substr date_d_1 5 4))
    (setq kongel_code_s (vl-registry-write     "HKEY_CURRENT_USER\\Software\\kongel"
     "my_code_date_start"   date_d_2 ))
  )
)
)
;********************************
  (k_code_s)
  (setq kongel_code_s
     (vl-registry-read
    "HKEY_CURRENT_USER\\Software\\kongel"
    "my_code_date_start")
  )
  (setq yo (atof (substr kongel_code_s 2 1)))
  (setq do (atof (substr kongel_code_s 3 2)))
  (setq date_d_e (getvar "cdate"))                     ;;;获取当前日期
  (setq date_d_1_e (rtos date_d_e 2 20))
  (setq date_d_2_e (substr date_d_1_e 5 4))
  (setq yn ( atof (substr date_d_2_e 2 1)))
  (setq dn ( atof (substr date_d_2_e 3 2)))
(setq my_da (- (+ (* 30 yn) dn) (+ (* 30 yo) do) ) ) ;;;计算时间差 怎么计算的???
  (if (> my_da 90)
    (progn
      (alert "\n已到期!请与
kongel@qq.com联系!")
      (exit)  
     )
    (setq kongel_code_s kongel_code_s)
  )
)
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-5-15 17:09:40 | 显示全部楼层
(> my_da 90)改为(> my_da 180)
 楼主| 发表于 2013-5-15 17:25:17 | 显示全部楼层
lht 发表于 2013-5-15 17:09
(> my_da 90)改为(> my_da 180)

谢谢您的回复
下面这句话不是很理解?得出来的结果是什么呢?
您在帮我看看?
(setq my_da (- (+ (* 30 yn) dn) (+ (* 30 yo) do) ) )
发表于 2013-5-15 22:55:25 | 显示全部楼层
就是算已安装多少天的,
看变量名字猜测
新月乘30加日。   减去
旧月乘30加日。
得到已经安装多少时间,。
 楼主| 发表于 2013-5-16 07:35:40 | 显示全部楼层
wowan1314 发表于 2013-5-15 22:55
就是算已安装多少天的,
看变量名字猜测
新月乘30加日。   减去

谢谢您的指导
我也是这么想的
可是这句话又怎么解释呢?
(if (> my_da 90)
90这个数最小也要大于30是吗?
如果使用期限到了的话
把程序卸载在安装是不是就可以了呢?

点评

90这个程序设定的期限,可以是任何数  发表于 2013-5-16 16:14
卸载可能不行,要将注册表中的东东删了才行。  发表于 2013-5-16 08:20
发表于 2013-5-16 10:36:21 | 显示全部楼层
发帖文不对题,警告一次!
 楼主| 发表于 2013-5-16 11:13:01 | 显示全部楼层
Gu_xl 发表于 2013-5-16 10:36
发帖文不对题,警告一次!

对不起版主
嘿嘿~
大家看了没人回答,所以把名字改了,我想引起大家的注意
下次一定注意!!!不会有第二次了
顺便版主能不能回答一下我的问题啊
 楼主| 发表于 2013-5-16 15:53:27 | 显示全部楼层
求解释啊,在线等・・・・・・
发表于 2013-5-16 16:07:32 | 显示全部楼层
yaokui25 发表于 2013-5-16 15:53
求解释啊,在线等・・・・・・

不知道你想要求什么样的解释?
 楼主| 发表于 2013-5-16 16:28:51 | 显示全部楼层
Gu_xl 发表于 2013-5-16 16:07
不知道你想要求什么样的解释?

(setq my_da (- (+ (* 30 yn) dn) (+ (* 30 yo) do) ) )
上面这段是计算时间差的对吧,得出来的结果是多少呢?
比如安装后经过两个月了,那上面的计算结果就是60天对吗?

下面这段是限制时间的吧,经过九十天了就提示已到期?
如果这么想的话 90 这个数是否可以任意改?比如说:1,2,3,30,45,60・・・
可是经过我的实验,不可以啊,所有我就没明白 上面的和下面的究竟是什么样的关系
  (if (> my_da 90)
    (progn
      (alert "\n已到期!请与kongel@qq.com联系!")
      (exit)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-11 03:31 , Processed in 0.209325 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表