找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 633|回复: 2

[求助] [求助]:一个程序无法运行,怎么了?

[复制链接]
发表于 2004-2-19 16:46:08 | 显示全部楼层 |阅读模式

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

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

×
  1. (defun c: cc ( )
  2.   (vl-load-com)
  3.   (prompt "\nSelect Text: ")
  4.   (setq ss (ssget "x" '((0 . "TEXT"))) n 0)
  5.   (while (< n (sslength ss))
  6.     (setq obj (vlax-ename->vla-object (ssname ss n)))
  7.     (setq dtxt (vla-get-textstring obj))
  8.     (setq dtxt (strcase (dtxt T)))
  9.     (vla-put-textstring obj dtxt)
  10.     (setq n (1+ n))
  11.   )
  12. )


仿照各位大侠的作品编的,意在改大写字符为小写字符,但运行出错,提示语法错误,到底错在哪儿了???~~~

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

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-2-19 17:48:29 | 显示全部楼层
(setq dtxt (strcase (dtxt T))) 此句不对

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

使用道具 举报

 楼主| 发表于 2004-2-20 10:19:40 | 显示全部楼层
(defun C:cc(/ s1 ename ti% p11 p10)
     (princ "Select Text to change:\n")
    (setq
        s1
        (ssget '((0 . "TEXT")))                ;构造针对TEXT的选择集
    )

    (setq ti% 0)
    (if (/= s1 nil)
     (progn
       (while
        (<=
                ti%
                (- (sslength s1) 1)
        )
        (setq ename(ssname s1 ti%))
        (setq p11 nil)                        ;将p11置空
        (setq table (entget ename))                ;取实体表e
        (setq p11 (cdr (assoc  1 table)))                                   ;取文字值
        (setq p10 (cdr (assoc  1 table)))                ;取文字值
        (setq p11 (strcase (strcat "" p11 "") T))       ;变成小写字符
        ;(prompt p11)
        ;(prompt "\n")
        ;(prompt p10)
        ;(prompt "\n")
        ;(prompt table)
        ;(prompt "\n")
        (setq table (subst (cons 1 p11) (cons 1 p10) table))        ;更换字符
        (entmod table)
        (setq ti%(+ 1 ti%))
         )  ;end while
      ) ;endprogn s1/=nil
    )  ;endif  s1 /= nil
    (setq s1 nil)
)


这个没用扩展命令的lisp试验通过,点对的操作容易被忽略
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 02:01 , Processed in 0.173243 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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