乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 95|回复: 18

[编程交流] 在特定的d处停止例程

[复制链接]

55

主题

293

帖子

239

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2022-7-6 09:48:14 | 显示全部楼层 |阅读模式
是否可以控制Lisp例程在经过特定日期后甚至不运行后停止工作
 
如果用户将计算机的日期向后推?
 
非常感谢
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 09:52:02 | 显示全部楼层
像这样的。如果时间尚未过期且系统时间未更改,则此函数返回T。但您可以使用比通过“setenv”函数设置环境变量更秘密的方法。例如,将数据写入注册表或某些密文文件。
 
当然用户可以每天设置相同的日期,但这并不方便。这也是可以设想的。
 
  1. (defun TimeControl(Days / Pass)
  2. (if(not(getenv "FirstDate"))
  3.    (setenv "FirstDate"(itoa(fix(getvar "CDATE"))))
  4.    ); end if
  5. (if(not(getenv "LastDate"))
  6.    (setenv "LastDate"(getenv "FirstDate"))
  7.    ); end if
  8. (setq lDate(atoi(getenv "LastDate"))
  9. fDate(atoi(getenv "FirstDate"))
  10. cDate(fix(getvar "CDATE")))
  11. (cond
  12.    ((> cDate lDate)
  13.     (alert "Your system time has been changed.\n Bue, bue bad guy... ")
  14.     ); end condition #1
  15.    ((>(- cDate fDate)Days)
  16.      (alert "Your time has been expired.\n Call me baby. ")
  17.     ); # end condition #2
  18.    (T (setq Pass T)
  19.      (setenv "LastDate"(itoa(fix(getvar "CDATE"))))
  20.      ); end condition #3
  21.     ); end cond
  22.    Pass         
  23.   ); end of TimeControl
回复

使用道具 举报

55

主题

293

帖子

239

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2022-7-6 09:55:35 | 显示全部楼层
 
非常感谢,非常感谢。
 
我想知道更多关于注册表处理字符串的方式的信息。
 
那你能给我推荐点什么吗?
 
当做
 
迈克尔
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 10:01:22 | 显示全部楼层
写入注册表:
  1. (vl-registry-write "HKEY_CURRENT_USER\\Software\\MyApp" "Day left" "30")

从reg读取:
  1. (vl-registry-read "HKEY_CURRENT_USER\\Software\\MyApp" "Day left")

k
回复

使用道具 举报

55

主题

293

帖子

239

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2022-7-6 10:01:45 | 显示全部楼层
 
谢谢克鲁格。
 
那么注册表的(setenv)和您的之间有什么区别呢。。
 
(vl注册表写入“HKEY\U CURRENT\U USER\\Software\\MyApp”“Day left”“30”)
 
还有第二个是从(getenv)和您的。。。
 
(vl注册表读取“HKEY\U CURRENT\U USER\\Software\\MyApp”“还剩一天”)
 
非常感谢。
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
220
发表于 2022-7-6 10:05:00 | 显示全部楼层
你需要这个做什么?
回复

使用道具 举报

55

主题

293

帖子

239

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2022-7-6 10:08:22 | 显示全部楼层
:lol:
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 10:12:19 | 显示全部楼层
两种方法相同。sava数据到注册表。
setenv,getenv-将数据保存到“autocad环境”(你在那里制造了大量数据,我不喜欢这样)
vl。。将数据保存到您的特定位置-我更喜欢这样
k
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 10:17:22 | 显示全部楼层
我有一些不使用注册表和任何文件的好主意。FAS文件(编译的LSP文件)文件可以使用vlisp编译功能在每次运行时使用新数据重新编译。我会尽量在有更多时间的时候实施。我明天要去俄罗斯出差,所以不早于周六。
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 10:21:33 | 显示全部楼层
这可能有用。这很聪明
k
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 00:19 , Processed in 0.696050 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表