明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2082|回复: 2

lisp中的read函数出差,求助

[复制链接]
发表于 2012-11-2 12:31:44 | 显示全部楼层 |阅读模式
程序是用来读取文本文件建立图层的。xjtc1结果异常,xjtc2就是正常的
cgy_图层1,cgy_图层2的区别就是  (151 结-梁 4 dashed 梁线)  (151 结-梁1 4 dashed 梁线)
                               (156 结-梁-垂直编号 120 continuous 垂直梁标注)  (156 结-梁-垂直编号1 120 continuous 垂直梁标注)
各加了个“1” 在后面

但跟踪变量 varlist,lay_line  就会发现执行到这来时异常。这两个变量是这样来的
(setq varlist (read-line fopen))  这个是读文本文件的
(setq lay_line (read varlist))   这个将变量varlist转换成表。
同样的程序,为什么文本文件就改个字符,其它不动,执行结果会出错呢。

本人怀疑是 read函数有问题, 但向谁反应呢?

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-5-4 07:59:17 | 显示全部楼层
我也遇到过 确实有问题 重置重装CAD都不行
发表于 2013-5-4 08:44:43 | 显示全部楼层
;不是read函数的问题,是中文原子的问题。将程序局部改成:
;......
   (setq i 1)
   (repeat (strlen varlist)
    (setq txt (substr varlist i 1))
    (cond
     ((= txt "(") (setq lay_line "(\""))
     ((= txt ")") (setq lay_line (strcat lay_line "\")")))
     ((= txt " ") (setq lay_line (strcat lay_line "\" \"")))
     (T (setq lay_line (strcat lay_line txt))
    )
    (setq i (1+ i))
   )
   (setq lay_line (read lay_line))
;......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 10:47 , Processed in 0.250183 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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