明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1163|回复: 5

关于写出文件之后的回用读入问题

[复制链接]
发表于 2008-7-9 08:14 | 显示全部楼层 |阅读模式

各位好!

      有一个问题请教,我编写了一个程序,把一组坐标点写出到一个名叫 aaa.txt 的文件中,然后在该已经打开的AutoCAD图中,用这一个 aaa.txt 与另外一组早已经存在的 bbb.txt 坐标数据文件来进行画线段操作,但是遗憾的是操作中间报错,报错主要报告不能用aaa.txt文件!

      只有当关闭CAD重新启动,或者把 aaa.txt 文件改名才能做连接线段操作,非常麻烦,不知道哪一位能够给予指点,在写出坐标程序或者在连线段程序内加入什么东西后,能够做到写出 aaa.txt 文件后,在连线段程序直接读入用这个aaa.txt程序。

      在此先谢了!

发表于 2008-7-9 09:36 | 显示全部楼层
楼主最好把程序和 .txt文件贴上来
发表于 2008-7-10 13:09 | 显示全部楼层
本帖最后由 作者 于 2008-7-10 13:17:24 编辑

;指定加入的内容,调用WriteFile程序完成追加
 (defun add_new()
          ……

          ……

        (setq file1 (findfile "texing_data.txt"))
               (if file1
                  (progn
                        (setq path (vl-filename-directory file1))
          (setq file2 (strcat path "\\aaaax.txt"))
                        (setq f (open file2 "w")) 
                        (princ add_str f)
                        (close f)
                  )
               )
               (setq f nil)
               (if (and (vl-file-copy  file2 file1 T)
                        (vl-file-delete file2)
                   )
                  (alert "自定义添加成功!")
               )
               (prin1)
      )
           )
 )

请注意红色代码中变量"f",再close之后,其实内存中依然存在,就好像windows中的WMP播放软件,即使关了当前程序,其历史记录也会在内存中,

结果就导致你没有办法进行删除或重命名操作,解决的办法就是不保留记录,和此类似,在程序末尾处加一条语句(setq f nil)就可解决了

发表于 2008-7-11 10:31 | 显示全部楼层

我测试没有出现“没有办法进行删除或重命名操作”的问题

注意 (vl-file-copy  file2 file1 T) 是将 file2 写入 file1 尾部,在创建 file2 的时候,最好第一行写入 "\n"

顺便问一下,为什么不用 (open file "a") 的方法追加数据??

发表于 2008-7-12 01:56 | 显示全部楼层
(open file "a") 是追加数据比较好的方法,上面的一段代码旨在学习vl-file-copy等vl函数,看到楼主的帖子,就贴过来了,哈哈
 楼主| 发表于 2008-7-12 06:31 | 显示全部楼层

非常感谢各位,我有一个疑问,我在编程序时,经过各位的指点,用了vl函数,但是,实际上我手头没有这方面的资料,不知道哪位大侠能够推荐这方面的资料或者参考书之类的,这样我能够继续深入学习。

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

本版积分规则

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

GMT+8, 2024-5-10 08:26 , Processed in 0.145147 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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