srt 值为啥不变
(defun c:fd()(initget 7)
(setq p1 (getpoint "文字所在位置:"))
(initget 1 "1 2 3")
(setq bklx (getkword "\n选择:"))
(print bklx)
(if (= bhlx 1)(setq srt "L1零Y2半"))
(if (= bhlx 2)(setq srt "L1零P2全"))
(if (= bhlx 3)(setq srt "L1零Y2半Y3半"))
(print srt)
(entmake
(list
'(0 . "TEXT")
'(8 . "房屋附属")
(cons 10 p1)
(cons 1 srt)
'(40 . 0.5)
'(41 . 0.8)
)
)
)
(if (= bhlx "1") ... 没用测试过 可否先注解每一段代码之本意为何?
曾否验证返回值映合本意!?
何处不合!? 有错误讯息吗?
initget函数后的getkword获得的数据是str,而(= bhlx 1)相当于(= "1" 1)自然是永远不为t了.
(if (= bhlx "1")(setq srt "L1零Y2半"))
(if (= bhlx "2")(setq srt "L1零P2全"))
(if (= bhlx "3")(setq srt "L1零Y2半Y3半"))
这样试试建议用cond改写一下
页:
[1]