ccc230 发表于 2017-10-21 16:51:00

运行错误: no function definition: CMDLA0

本帖最后由 ccc230 于 2017-10-21 17:02 编辑

错误: no function definition: CMDLA0 这段哪里有问题,求高手帮忙修改下 最好是指定一个字符,册这个字符前面的字和这个字符后面的字
(defun c:scqhz ()                        ;erase-pre-suf
(CMDLA0)
(if (null mode)
    (setq mode "1")
)
(setq      mode (UKWORD 7 "1 2" "\n文本删除 : 1-前缀/2-后缀" mode)
      ss   (ssget '((0 . "TEXT")))
      i    -1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
    (setq ent (entget s1)
          tx(dxf 1 ent)
          len (strlen tx)
    )
    (cond ((= mode "1") (main1))
          ((= mode "2") (main2))
    )
)
(CMDLA1)
)
(defun main1 ()
(if (= len 2)
    (progn
      (setq tx1 (substr tx 1 1))
      (if (<= (ASCII tx1) 160)
      (progn
          (setq tx1 (substr tx 2))
          (sub_upd s1 1 tx1)
      )
      )
    )
)
(if (> len 2)
    (progn
      (setq tx1 (substr tx 1 1))
      (if (<= (ASCII tx1) 160)
      (setq tx1 (substr tx 2))
      (setq tx1 (substr tx 3))
      )
      (sub_upd s1 1 tx1)
    )
)
)
(defun main2 ()
(if (= len 2)
    (progn
      (setq tx1 (substr tx len 1))
      (if (<= (ASCII tx1) 160)
      (progn
          (setq tx1 (substr tx 1 (- len 1)))
          (sub_upd s1 1 tx1)
      )
      )
    )
)
(if (> len 2)
    (progn
      (setq tx1 (substr tx len 1))
      (if (<= (ASCII tx1) 160)
      (setq tx1 (substr tx 1 (- len 1)))
      (setq tx1 (substr tx 1 (- len 2)))
      )
      (sub_upd s1 1 tx1)
    )
)
)
(pxyp "scqhz(删除前后缀)")
(princ)

Andyhon 发表于 2017-10-21 21:05:23

(CMDLA0) / (CMDLA1)/ sub_upd
乃自定义函数,请搜寻后补上

xl_cen 发表于 2017-10-22 21:46:53

貌似有点难

pxt2001 发表于 2017-10-22 22:32:07

似乎是院长的代码

ccc230 发表于 2017-10-25 12:37:07

Andyhon 发表于 2017-10-21 21:05
(CMDLA0) / (CMDLA1)/ sub_upd
乃自定义函数,请搜寻后补上

帮我改一下发楼下,我不会改
页: [1]
查看完整版本: 运行错误: no function definition: CMDLA0