求!求!求!解决LISP基础问题
本帖最后由 作者 于 2010-4-12 16:19:34 编辑 <br /><br /> <p><font size="5">请各位高手指教!</font></p><p><font size="5"> </font></p><p><font size="5"></font></p> 本帖最后由 作者 于 2010-4-15 18:50:31 编辑;学生做作业呢。
//这是对话框,在当前目录下保存成rectang.dcl文件
rectang:dialog{
label="画矩形";
:edit_box{label="矩形长度";key="length";edit_width=8;}
:edit_box{label="矩形宽度";key="width";edit_width=8;}
spacer;
ok_cancel;
}
;这是程序,在当前目录下保存成扩展名为lsp的文件
(defun c:tt ()
(setvar "CMDECHO" 0)
(if (> (setq dcl_id (load_dialog "rectang") 0) (progn
(if (new_dialog "rectang" dcl_id "") (progn
(set_tile "length" "200")
(set_tile "width" "100")
(action_tile "accept" "(getdata) (done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
(setq re (statr_dialog))
)
(alert "Unable to display dialog box!\n无法显示对话框!")
)
(unload_dialog dcl_id)
)
(alert "Unable to load dialog box!\n无法装载对话框!")
)
(if (= re 1) (progn
(setq pt (getpoint "\nInset Center Point 中心插入点 :")
pt1 (polar (polar pt pi (* l 0.5)) (/ pi -2) (* w 0.5))
pt2 (polar (polar pt1 0 l) (/ pi 2) w))
(command ".rectang" pt1 pt2)
))
(setvar "CMDECHO" 1)
(princ)
)
(defun getdata ()
(setq w (read (get_tile "width"))
l (read (get_tile "length")))
)
版主真强,喜欢喜欢这样简单的程序, ( 清晰朴实 纯兰辽阔) <p>不妨直说,我对LISP基本上是不会,现在有这个任务,才找到这里。</p> 多谢2楼! <p>;; 矩形绘制<br/>(defun c:tt (/ ilst l1 l2)<br/> (cmdla0)<br/> ;; __________________________________________________________________<br/> (defun main-pro (/ p1 p2 s1)<br/> (setq p1 (list x y)<br/> p2 (xyp-get-Pt2XY p1 wide high)<br/> s1 (xyp-rectang p1 p2)<br/> )<br/> )<br/> ;; __________________________________________________________________<br/> (defun aaa ()<br/> (xyp-dcl-VectorImagePtn "k0" '(((0 0) (2000 0) (2000 1000) (0 1000) (0 0))) 5 2)<br/> )<br/> ;; __________________________________________________________________<br/> (setq l1 '(x y wide high)<br/> l2 '(0. 0. 2000. 1000.)<br/> )<br/> (defun ajbcs () (xyp-Multiple-Settile l1 l2))<br/> (xyp-initSet l1 l2)<br/> (setq Ilst '(("k0" nil "imagebutton" "-2" "24" "" "(XYP-ABOUTME)")<br/> (nil nil "spacer;")<br/> ("x" "X" "real" "8")<br/> ("y" "Y" "real" "8")<br/> ("wide" "宽" "real" "8")<br/> ("high" "高" "real" "8")<br/> (nil nil "spacer;")<br/> ("jbcs" "缺省参数" "button1" "(ajbcs)")<br/> (nil nil "spacer;")<br/> (nil nil "user" "(aaa)")<br/> )<br/> )<br/> (if (= (xyp-Dcl-Init Ilst "【矩形绘制】" t) 1)<br/> (main-pro)<br/> )<br/> (cmdla1)<br/>)</p><p>效果:</p> ZZXXQQ发表于2010-4-8 19:25:00static/image/common/back.gif;学生做作业呢。
<p></p>好像第二个有点问题,我是真的不懂!能麻烦改下吗? 少了读数据函数。2楼已经加上。 少了读数据函数。2楼已经加上。 <p>二楼的可行</p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p>http://www.xiaoshuoxia.com/line.gif <br/>凡人修仙传全文阅读 重生之官道全文阅读 陈二狗的妖孽人生全文阅读 卡徒全文阅读<br/>近身保镖全文阅读 间客全文阅读 重生之官路商途全文阅读<br/>即时比分</p>
页:
[1]