zoubo604 发表于 2011-9-27 22:35:34

VBA比LISP执行速度快,后面的语句会超过LISP执行吗

有个问题请教.是不是LISP执行速度慢.VBA后面的语句会超过LISP执行.比LISP执行快.会造成两者不同步啊.我用VBA编程.中间由于VBA执行不稳定,部分用LISP实现,用VBA来调用LISP.结果却令我相当不满意.明明不是这个值,值却变了.这是为什么呢?难道真是执行速度不一样造成的?怎么解决呢?请高手解答.谢谢

zoubo604 发表于 2011-9-27 22:48:12

本帖最后由 zoubo604 于 2011-9-27 23:00 编辑

attach://61423.JPG

如图.为什么结果会是这样.
LISP中代码如下:
(defun c:tc()
;(setq pt10 (getvar "useri1"))'第一个点x
(setq pt11 (getvar "userr1"))
(setq pt1 (list 116 pt11))

;(setq pt20 (getvar "useri2"))'第二个点x
(setq pt21 (getvar "userr2"))
(setq pt2 (list 116 pt21))

;(setq pt30 (getvar "useri3"))第三个点x
;(setq pt31 pt21)
(setq pt3 (list 135 pt21))

;(setq pt40 (getvar "useri4"))'第四个点x
;(setq pt41 pt11)
(setq pt4 (list 135 pt11))

(setq ptt5 (getvar "users5"))
(command "pline" pt1 pt2 pt3 pt4 "c")
(command "_hatch" ptt5 "" "" (entlast) "")
(princ)
)

明明第三个点的Y坐标=第二个点的Y坐标.图形中第三个点却跑到第1个点的Y值那里去了.(左上角为点1.左下为点2,右下为点3,右上为点4,是一个矩形)并且,第3个点的X值,我赋了135的,应该和第4个点的X值一样,形成一个矩形.为何第3.个点的X,Y值异常变化呢,.该填充由一个循环控制,要从上到下,要画5-N个矩形,并填充.后面循环中第3个点的值也会变.第5次循环时,四个点的值都正确了!真是奇怪呀
页: [1]
查看完整版本: VBA比LISP执行速度快,后面的语句会超过LISP执行吗