找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2691|回复: 11

[LISP函数]保存变量至txt,从txt读取变量

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2013-8-16 08:58:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. ;保存peace系统变量,保存到cad安装目录下的PEACESYSVAL.TXT by PEACE 2013/05/25
  2. (defun PEACE:SaveSysVarPeace(valname valvalue infotext / acadpath f datalist data valvalue_old i isthere)
  3.   (setq acadpath(vlax-get-property (vlax-get-acad-object) 'Path))
  4.   (if (= infotext "")(setq infotext "no infotext"))
  5.   (if (null (findfile "PEACESYSVAL.TXT"))
  6.     (progn ;若文件不存在
  7.       (setq f (open (strcat acadpath "\\PEACESYSVAL.TXT") "w"))
  8.       (prin1 (list valname valvalue infotext) f)
  9.       (close f)
  10.     )
  11.     (progn ;若文件已存在
  12.       (setq datalist '())
  13.       (setq f (open (strcat acadpath "\\PEACESYSVAL.TXT") "r"))
  14.         (while (setq data (read-line f))
  15.         (setq datalist (cons data datalist))
  16.         )
  17.       (close f)
  18.       (setq datalist (reverse datalist))
  19.       (setq       i 0
  20.             isthere 0)
  21.       (repeat (length datalist)
  22.         (if (= valname (car (read (nth i datalist))))
  23.           (progn
  24.           (setq datalist (subst (vl-prin1-to-string (list valname valvalue infotext)) (nth i datalist) datalist))
  25.           (setq isthere 1)
  26.           )
  27.         )
  28.         (setq i (1+ i))
  29.       )
  30.       (if (= 1 isthere)
  31.         (progn
  32.           (setq f (open (strcat acadpath "\\PEACESYSVAL.TXT") "w"))
  33.           (prin1 (read (nth 0 datalist)) f)
  34.           (close f)
  35.           (setq i 1)
  36.           (setq f (open (strcat acadpath "\\PEACESYSVAL.TXT") "a"))
  37.           (repeat (- (length datalist) 1)
  38.             (write-line "" f)
  39.             (prin1 (read (nth i datalist)) f)
  40.             (setq i (1+ i))
  41.           )
  42.           (close f)
  43.         )
  44.         (progn
  45.           (setq f (open (strcat acadpath "\\PEACESYSVAL.TXT") "a"))
  46.           (write-line "" f)
  47.           (prin1 (list valname valvalue infotext) f)
  48.           (close f)
  49.         )
  50.       )
  51.     )
  52.   )
  53.   (princ)
  54. )
  55. ;读取peace系统变量 by PEACE 2013/05/25
  56. (defun PEACE:ReadSysVarPeace( / acadpath data datalist i f)
  57.   (setq acadpath(vlax-get-property (vlax-get-acad-object) 'Path))
  58.   (if (findfile "PEACESYSVAL.TXT")
  59.     (progn
  60.     (setq datalist '())
  61.     (setq f (open (strcat acadpath "\\PEACESYSVAL.TXT") "r"))
  62.       (while (setq data (read-line f))
  63.       (setq datalist (cons data datalist))
  64.       )
  65.       (reverse datalist)
  66.     (close f)
  67.     (setq i 0)
  68.     (repeat (length datalist)
  69.       (set (read (car (read (nth i datalist)))) ;注意字符和表之间的转换,字符串是不能作为变量名的
  70.            (cadr (read (nth i datalist)))       ;car对字符串也是不起作用的
  71.       )
  72.       (setq i (1+ i))
  73.     )
  74.     )
  75.   nil
  76.   )
  77. )

本帖被以下淘专辑推荐:

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2014-3-9 19:44:58 | 显示全部楼层
{:soso_e179:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2015-2-12 11:12:40 | 显示全部楼层
:Q:Q获得列表框指定的宏工程对象:Q
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 396个

财富等级: 日进斗金

发表于 2015-5-24 07:55:18 | 显示全部楼层
:D多谢分享了!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2016-12-29 21:53:16 | 显示全部楼层
这个很好用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 312个

财富等级: 日进斗金

发表于 2017-2-24 09:01:34 | 显示全部楼层
很好用!谢谢分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5个

财富等级: 恭喜发财

发表于 2017-3-21 10:18:39 | 显示全部楼层
正需要,支持楼主大人了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

发表于 2018-6-16 11:16:50 | 显示全部楼层
感谢分享。。。。。。。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 55个

财富等级: 招财进宝

发表于 2018-10-6 12:17:22 | 显示全部楼层
点个赞,必须的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2019-1-18 00:14:01 | 显示全部楼层
谢谢分享。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 47个

财富等级: 招财进宝

发表于 2020-1-4 10:26:00 | 显示全部楼层
正需要,支持楼主大人了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 33个

财富等级: 招财进宝

发表于 2022-6-7 23:07:59 | 显示全部楼层
支持楼主
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 02:01 , Processed in 0.442218 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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