qypxlh 发表于 2008-6-13 12:32:00

[原创]我编的钟表程序

<font color="#f73809" size="4">&nbsp;&nbsp; 有一个问题,就是不能退出死循环.希望大家帮我改改!!&nbsp; 非常感谢!</font>

danxingpen 发表于 2008-6-13 16:46:00

查找一下吧,印象中好像有了,利用鼠标反应器,右键退出.

英雄无敌 发表于 2008-6-13 20:48:00

你程序都没有,怎么改进?看来楼主即想要别人的东西,又不想给别人东西

qypxlh 发表于 2008-6-14 13:19:00

<p><font color="#ff0000">cloc: dialog {<br/>label="表头";<br/>:column {<br/>&nbsp;&nbsp;&nbsp; label="请输入时分秒";<br/>&nbsp;<br/>&nbsp;: edit_box<br/>&nbsp;{label="输入时(1--24)";<br/>&nbsp;key="hh";<br/>&nbsp;value="";<br/>&nbsp;}<br/>&nbsp;: edit_box<br/>&nbsp;{label="输入分(1--60)";<br/>&nbsp;key="mm";<br/>&nbsp;value="";<br/>&nbsp;}<br/>&nbsp;: edit_box<br/>&nbsp;{label="输入秒(1--60)";<br/>&nbsp;key="ss";<br/>&nbsp;value="";<br/>&nbsp;}<br/>&nbsp; }</font></p><p><font color="#ff0000">ok_cancel;<br/>}</font></p><p></p><p><font color="#3300ff">;定义主函数<br/>(defun c:dlg1 ()<br/>&nbsp; <br/>&nbsp; (if (&lt; (setq index (load_dialog "cloc")) 0)<br/>&nbsp;&nbsp;&nbsp; (exit)<br/>&nbsp; )<br/>&nbsp; (if (not (new_dialog "cloc" index))<br/>&nbsp;&nbsp;&nbsp; (exit)<br/>&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (action_tile"hh""(setq h $value)")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (action_tile"mm""(setq m $value)")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (action_tile"ss""(setq s $value)")<br/>&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; (start_dialog)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (clockface)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (hms)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (action_tile"cancle""(done_dialog)")<br/>&nbsp;&nbsp;&nbsp; (unload_dialog index)<br/>)</font></p><p><font color="#3300ff">;表盘<br/>(defun clockface ()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq a (getpoint"/n请指定一点"))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq h (atof h))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq m (atof m))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq s (atof s))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp; (setq a1 (polar a (/ pi 2) 900))<br/>&nbsp; (setq b1 (polar a (/ pi 2) 1050))<br/>&nbsp; (setq a2 (polar a (/ pi 3) 900))<br/>&nbsp; (setq b2 (polar a (/ pi 3) 1050))<br/>&nbsp; (setq a3 (polar a (/ pi 6) 900))<br/>&nbsp; (setq b3 (polar a (/ pi 6) 1050))<br/>&nbsp; (setq a4 (polar a 0 900))<br/>&nbsp; (setq b4 (polar a 0 1050))<br/>&nbsp; (setq a5 (polar a (/ pi (* (- 0 1) 6)) 900))<br/>&nbsp; (setq b5 (polar a (/ pi (* (- 0 1) 6)) 1050))<br/>&nbsp; (setq a6 (polar a (/ pi (* (- 0 1) 3)) 900))<br/>&nbsp; (setq b6 (polar a (/ pi (* (- 0 1) 3)) 1050))<br/>&nbsp; (setq a7 (polar a (/ pi (* (- 0 1) 2)) 900))<br/>&nbsp; (setq b7 (polar a (/ pi (* (- 0 1) 2)) 1050))<br/>&nbsp; (setq a8 (polar a (/ pi (/ 3.0 4)) 900))<br/>&nbsp; (setq b8 (polar a (/ pi (/ 3.0 4)) 1050))<br/>&nbsp; (setq a9 (polar a (/ pi (/ 6.0 7)) 900))<br/>&nbsp; (setq b9 (polar a (/ pi (/ 6.0 7)) 1050))<br/>&nbsp; (setq a10 (polar a (/ pi (- 0 1)) 900))<br/>&nbsp; (setq b10 (polar a (/ pi (- 0 1)) 1050))<br/>&nbsp; (setq a11 (polar a (/ pi (/ (- 0 6.0) 7)) 900))<br/>&nbsp; (setq b11 (polar a (/ pi (/ (- 0 6.0) 7)) 1050))<br/>&nbsp; (setq a12 (polar a (/ pi (/ (- 0 3.0) 4)) 900))<br/>&nbsp; (setq b12 (polar a (/ pi (/ (- 0 3.0) 4)) 1050))<br/>&nbsp; (command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "line" a1&nbsp;&nbsp;&nbsp;&nbsp; b1<br/>&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp; "line" a2&nbsp;b2&nbsp;&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp;&nbsp;&nbsp; "line" a3&nbsp;&nbsp;&nbsp;&nbsp; b3<br/>&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp; "line" a4&nbsp;b4&nbsp;&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp;&nbsp;&nbsp; "line" a5&nbsp;&nbsp;&nbsp;&nbsp; b5<br/>&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp; "line" a6&nbsp;b6&nbsp;&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp;&nbsp;&nbsp; "line" a7&nbsp;&nbsp;&nbsp;&nbsp; b7<br/>&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp; "line" a8&nbsp;b8&nbsp;&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp;&nbsp;&nbsp; "line" a9&nbsp;&nbsp;&nbsp;&nbsp; b9<br/>&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp; "line" a10&nbsp;b10&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp;&nbsp;&nbsp; "line" a11&nbsp;&nbsp;&nbsp; b11<br/>&nbsp;&nbsp;&nbsp; ""&nbsp;&nbsp; "line" a12&nbsp;b12&nbsp;&nbsp;&nbsp; ""<br/>&nbsp;&nbsp; )<br/>&nbsp; )<br/>;指针位置及动作<br/>&nbsp;(defun hms ()<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq i 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (while (&gt;= i 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq b (polar a (- (- (/ pi 2) (/(* pi h)6) (/ (* pi m)360) (/(* pi s)21600)) (*(/ pi 21600) i))500))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq c (polar a (- (- (/ pi 2) (/ (* pi m)30)(/(* pi s)1800))(*(/ pi 1800)i) )680))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq d (polar a (- (- (/ pi 2) (/&nbsp; (* pi s)30)) (*(/ pi 30)i))850))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "pline" a&nbsp; "w" 31 0.8 b"")<br/>&nbsp; (setq e1 (entlast))<br/>&nbsp; (command "pline" a&nbsp; "w" 22 0.8 c"")<br/>&nbsp; (setq e2 (entlast))<br/>&nbsp; (command "pline" a&nbsp; "w" 8 0.8 d"")<br/>&nbsp; (setq e3 (entlast))</font></p><p><font color="#3300ff">&nbsp; (command "delay" "500")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (redraw e1 2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (redraw e2 2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (redraw e3 2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "delay" "500")<br/>&nbsp;&nbsp;&nbsp;&nbsp; (setq i (1+ i))<br/>&nbsp; )<br/>)<br/>&nbsp; </font></p><p><font color="#3300ff"><br/></font></p><p><font color="#3300ff"></font></p><p><font color="#3300ff"></font></p>

英雄无敌 发表于 2008-6-14 15:16:00

<p>对于一个LSP程序来讲,如果按ESC还不让人家退出,那要什么情况才让人家退出?</p><p>为什么要用REDRAW来隐藏?你删除它不行?</p><p>或者,旋转它也行啊</p>

liminnet 发表于 2008-6-14 15:38:00

yxp 发表于 2008-6-14 23:55:00

就是,雪藏了?

qypxlh 发表于 2008-6-15 14:20:00

<p>是全部的,红色的部分建个cloc名的dcl文件.蓝色的建个lisp文件.加载后命令行输入dlg1后回车</p>

qypxlh 发表于 2008-6-15 14:28:00

<font color="#f73809">大哥你好厉害!!帮我改改啊</font>

linhui12 发表于 2008-6-15 15:08:00

<p></p><p>这是从晓东上下的,供你参考啦.使用方法:将文件解压到CAD支持目录下.命令:CTIME</p>
页: [1] 2
查看完整版本: [原创]我编的钟表程序