找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 999|回复: 14

[讨论]:表--〉文件--〉表 ??

[复制链接]
发表于 2004-1-13 20:29:14 | 显示全部楼层 |阅读模式

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

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

×
用程序实现下列转换:
0 已知一个表a
1 将表a写入文件b
2 打开文件b
3 读出文件b的内容c
4 由内容c得到一个表d,表d当然要等于表a~

大家有什么好办法么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-1-13 21:04:50 | 显示全部楼层

Re: [讨论]:表--〉文件--〉表 ??

最初由 wkai 发布
[B]用程序实现下列转换:
0 已知一个表a
1 将表a写入文件b
2 打开文件b
3 读出文件b的内容c
4 由内容c得到一个表d,表d当然要等于表a~

大家有什么好办法么? [/B]

为什么要兜一个圈呢?(setq d a)不行?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

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

使用道具 举报

 楼主| 发表于 2004-1-13 22:20:24 | 显示全部楼层
关键是怎么将这个文件中的以字符串型式存在的表还原~
写进出容易读出来难~
下面的红色部分是希望有个函数将字符串c转换为表d~

  1.   [FONT=courier new]
  2. (defun c:TT()
  3.   (setq a (entget (car (entsel))))
  4.   (setq f (open "c:\\1.txt" "w"))
  5.   (princ a f)
  6.   (close f)
  7.   (setq f (open "c:\\1.txt" "r"))
  8.   (setq c (read-line f))
  9.   (close f)
  10. [COLOR=red]  (setq d (????  c))[/COLOR]
  11.   )
  12.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-1-13 23:46:55 | 显示全部楼层
如果是entget ,princ肯定不适合,看帮助吧.

你是不是说有个引号? --> (read ..)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-1-13 23:56:30 | 显示全部楼层
to aeo:
用princ可以将表写进文件~
read-line 读出来的是字符串,我需要的是表~
???? 表示一个函数名~其功能是将字符串转换为表~


btw 我很喜欢你脚下的那只小狗!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-1-14 00:33:27 | 显示全部楼层
最初由 wkai 发布
[B]to aeo:
用princ可以将表写进文件~
read-line 读出来的是字符串,我需要的是表~
???? 表示一个函数名~其功能是将字符串转换为表~


btw 我很喜欢你脚下的那只小狗! [/B]


就是上面的read,还有好方法?

(princ "ABC") -->ABC
(prin1 "ABC") -->"ABC"
...


陌生人:能力有限?文件是你写的,前面难道不能处理?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-14 09:12:33 | 显示全部楼层
(defun c:TT()
  (setq a (entget (car (entsel))))
  (setq f (open "c:\\1.txt" "w"))
  (prin1 a f)  ;用prin1
  (close f)
  (setq f (open "c:\\1.txt" "r"))
  (setq c (read-line f))
  (close f)
  (setq d (read  c))  read会出错,原因在于c中有“(-1 . <图元名: xxxxxxxx>)”
  )

如果不把(-1 . <图元名: xxxxxxxx>)、(330 . <图元名: xxxxxxxx>)写入文件,(read c)就没问题了。
<图元名: xxxxxxxx> 这个东西好象不能显式的传递,请教aeo。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-1-14 09:13:56 | 显示全部楼层
不用卖关子了,这在陈老师的书上好像就有,就是:
(read (strcat "(" 字符串 ")"))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2004-1-14 11:19:16 | 显示全部楼层
看看以前的帖子
[URL=http://www.xdcad.net/forum/showthread.php?threadid=127470][/URL]
已将错误修改
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-14 11:40:46 | 显示全部楼层
楼上的地址为什么进不去?
"你尚未登录或者没有权限进入此页面. 这通常是由于下面的一些原因:
你没有权限进入这个页面, 或者你正尝试编辑别人的帖子或者进入管理功能? 请参阅论坛状态确认你的权限.
如果你正尝试发布帖子, 管理员可能禁止了你的发布权限或者你的帐号正在被等待激活. "
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-15 00:27:05 | 显示全部楼层
最初由 aeo 发布
[B]陌生人:能力有限?文件是你写的,前面难道不能处理? [/B]


我是说 仅仅用read,能力有限。需要做些处理
发个测试程序,等忙完明天工作再发原程序。各位开动脑筋啊

  1. ;|功能:c:tt  将实体表写入c:\1.txt.并删除实体。c:ll  读出1.txt文件转为表,按表生成实体.
  2. ;测试: text,metxt,circle,el,lwpline,line,xline,xray,arc,spline,不含属性/无嵌套的块. (适应于简单cad实体)
  3. ;限制: pline,含属性/无嵌套的块,mline.(本程序不适应于cad复杂实体)
  4. |;成功!!!
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-1-15 02:00:54 | 显示全部楼层
最初由 ll_j 发布
[B]不用卖关子了,这在陈老师的书上好像就有,就是:
(read (strcat "(" 字符串 ")")) [/B]


我说是前面处理,非得事后处理?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-15 02:11:08 | 显示全部楼层
应该是在用read前进行处理,事后也要处理一下! 就如9贴所说,用read转换实体表的字符串就不行。
如果可以,那么简单的东西,wkai自己还能不知道么?他可不是吃素的
如果还有疑问,不如亲自试验一下(用wkai的程序改一改)。


其实写表的时候,不把 实体名 写进去就行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 02:03 , Processed in 0.205806 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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