明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 975|回复: 5

[提问] 不限制数量的历史记录

[复制链接]
发表于 2022-11-30 06:28:16 | 显示全部楼层 |阅读模式
本帖最后由 cq4920 于 2022-12-1 00:01 编辑

监控命令窗口,出现QSAVE触发命令!
问题1,目前只能保存两次记录(已解决)
问题2,相同文件地址和名称,不能覆盖(需要一个查重--
已解决
问题3,如何提取记录,然后快速打开文件!
(已解决)


  1. (vlr-command-reactor nil '((:VLR-commandEnded . cmdEnd)))
  2. (defun cmdend (vlr lst)
  3.   (setq cmd  (car lst))
  4.         (if (= cmd "QSAVE")
  5.                 (dwgs)
  6.         )
  7. )
  8. (defun dwgs (/ dwgname dwgfile fp dwgfile path file i a out )
  9.   (setq        dwgname  (getvar 'dwgname))
  10.   (setq        dwgfile (getvar "DWGPREFIX"))
  11.   (setq        dwgfilename (strcat dwgfile dwgname))
  12.         (SETQ FP (OPEN "C:\\Users\\Administrator\\AppData\\Roaming\\MRCSET.TXT" "r"))
  13.   (SETQ path (READ-LINE FP))
  14.         (CLOSE FP)
  15.   (setq pathn (strcat path "\\配置\\history" ".txt"))
  16.         
  17.         (if (vl-directory-files (strcat path "\\配置\") "history.txt")
  18.         (progn
  19.          (setq file (open pathn  "r"))
  20.           (while (setq a (read-line file))
  21.       (setq out (append out (list a)))
  22.     )
  23.         (close file)
  24.   (setq out (append (list dwgfilename) out)
  25.                     i 0)
  26.   (setq out        (MC-pt out))        ;;查重
  27.         (setq file (open pathn  "w"))
  28.         (repeat (length out)
  29.         (write-line (nth i out) file)
  30.         (setq        i (1+ i))
  31.                 )
  32.         (close file)        
  33.                 )
  34.                 (progn
  35.                 (setq file (open pathn  "w"))
  36.                 (write-line dwgfilename file)
  37.                 (close file)
  38. ))
  39.         
  40. )

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-11-30 08:40:33 | 显示全部楼层
我记得leemac  有类似的程序,你可以去找找
发表于 2022-11-30 08:41:36 | 显示全部楼层
会不会你只在文件中写了 两行,所以始终只有两行?
(write-line dwgfilename ff)
  (write-line oldff ff)
这不只写了两行吗?
发表于 2022-11-30 09:56:41 | 显示全部楼层
不循环就只能读一次了
 楼主| 发表于 2022-11-30 16:07:10 | 显示全部楼层
自贡黄明儒 发表于 2022-11-30 08:41
会不会你只在文件中写了 两行,所以始终只有两行?
(write-line dwgfilename ff)
  (write-line oldff ff ...

我以为,第一次保存,没有读取数据,应该只生成一条,
当第二次命令的时候,有了读取数据,就会生成2条
第三次的时候,应该把前两条都读取了+新的,就会有三条,每次保存都是先读取原本的所有记录,然后加上新的记录!
但是现在发现读取的时候只能读取一条!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 05:44 , Processed in 0.164926 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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