lisp记录上次输入的值,自动保存输入的数,历史记录系统变量

  • A+
所属分类:CAD二次开发

折腾好几天,在系统自带的命令里面可以看到是否是选项后,下次启动命令显示的值还是上次输入的值,刚开始怀疑是系统变量,就没在意,但是我用别的插件的时候,也会出现记录上次的,通过网上查询,有是说注册表,有的是系统变量,五花八门,但是都不是这个效果,理由一,系统变量的画,要是多来几个插件,都是用一个变量的话,是什么结果,毕竟变量有限,,要是注册表的话,关闭后下次打开或者开机重启,值依然在,不科学,人家的是关闭后就没有了,会自动回到默认。

下面是我折腾好几天的结果,其实我们都想多了,没有想的那么复杂吗,又是注册表,系统变量,写文件,之类的。这些都是坑爹,网上都是转帖,关键是显示在前面,,,

其实只要把我们想要记录上次值的变量不声明就可以了,要是声明了系统会自动清除,不申明的话,这个变量一直在内存里面,只要读取就是上次的,

例子:申明就是括号后面不能出现要保存变量的字符,只注意的是,变量不能和别的重复,没有申明任何人都可以读,所有,最好使用字符数字像密码一样的,独一无二的变量。

(defun c:ttt(/ t1);里面申明的变量不能申明想有记录的变量,t2我想有记录,这里就不申明,系统自动记录
(if (not t2)
  (setq t2 "huojibk.com"));默认值
(setq t1 (getstring (strcat "\n huojibk.com请输入值<" t2 " >: ")))
(setq t2 t1);显示的值等于输入的
  )

复制

 

系统变量默认的有5个变量可以使用,但是要是都使用,肯定会出乱子,

类型: 字符串
保存位置: 不保存
初始值: ""

提供文字字符串数据的存储和检索功能。 共有五个系统变量:USERS1、USERS2、USERS3、USERS4 和 USERS5。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: