请问这个函数可以实现字符串-12x200中的12与200相乘嘛?
请问这个函数可以实现字符串-12x200中的12与200相乘嘛?(defun c:CX ()
(setq i 1 num "")
(princ "请选择需要相乘的第一个数字\n")
(setq a1 (entsel))
(repeat (strlen a1)
(setq ch (substr a1 i 1))
(if (or (= ch "-") (= ch "x"))
(progn
(setq num2 num)
(setq num "")
)
(setq num (strcat num ch))
)
(setq i (1+ i))
)
(* (atof (cdr (assoc 1 (entget (car (num)))))) (atof (cdr (assoc 1 (entget (car (num2)))))))
)
如果不能实现又要怎么改才能实现呢?
感激不尽
(defun c:CX ()
(arxload (findfile "geomcal.arx"))
(setq i 1
num ""
)
(princ "请选择需要相乘的第一个数字\n")
(setq a1 (cdr (assoc 1 (entget (car (entsel))))))
(repeat (strlen a1)
(setq ch (substr a1 i 1))
(if (or (= ch "x") (= ch "X"))
(setq ch "*")
)
(setq num (strcat num ch))
(setq i (1+ i))
)
(setq jieguo (cal num))
)
非常感谢。继续学习 可以说一下我的程序为什么不能实现嘛? 回复 zhynt 的帖子
可以说一下我的程序为什么不能实现嘛? chenying0527 发表于 2011-7-10 18:01 static/image/common/back.gif
回复 zhynt 的帖子
可以说一下我的程序为什么不能实现嘛?
错误太多,不好讲;
给你一些建议,在编程的时候,可以用Visual LISP编译器来调试,可以逐步来检查,注意看它的返回值是什么.象(setq a1 (entsel)) 它的返回值是一个图元名与坐标值的列表,接下来这句(repeat (strlen a1)就明显错误了....
谢谢,还得努力啊
页:
[1]