[原创]我编的钟表程序
<font color="#f73809" size="4"> 有一个问题,就是不能退出死循环.希望大家帮我改改!! 非常感谢!</font> 查找一下吧,印象中好像有了,利用鼠标反应器,右键退出. 你程序都没有,怎么改进?看来楼主即想要别人的东西,又不想给别人东西 <p><font color="#ff0000">cloc: dialog {<br/>label="表头";<br/>:column {<br/> label="请输入时分秒";<br/> <br/> : edit_box<br/> {label="输入时(1--24)";<br/> key="hh";<br/> value="";<br/> }<br/> : edit_box<br/> {label="输入分(1--60)";<br/> key="mm";<br/> value="";<br/> }<br/> : edit_box<br/> {label="输入秒(1--60)";<br/> key="ss";<br/> value="";<br/> }<br/> }</font></p><p><font color="#ff0000">ok_cancel;<br/>}</font></p><p></p><p><font color="#3300ff">;定义主函数<br/>(defun c:dlg1 ()<br/> <br/> (if (< (setq index (load_dialog "cloc")) 0)<br/> (exit)<br/> )<br/> (if (not (new_dialog "cloc" index))<br/> (exit)<br/> )<br/> (action_tile"hh""(setq h $value)")<br/> (action_tile"mm""(setq m $value)")<br/> (action_tile"ss""(setq s $value)")<br/> <br/> (start_dialog)<br/> (clockface)<br/> (hms)<br/> (action_tile"cancle""(done_dialog)")<br/> (unload_dialog index)<br/>)</font></p><p><font color="#3300ff">;表盘<br/>(defun clockface ()<br/> (setq a (getpoint"/n请指定一点"))<br/> (setq h (atof h))<br/> (setq m (atof m))<br/> (setq s (atof s))<br/> <br/> (setq a1 (polar a (/ pi 2) 900))<br/> (setq b1 (polar a (/ pi 2) 1050))<br/> (setq a2 (polar a (/ pi 3) 900))<br/> (setq b2 (polar a (/ pi 3) 1050))<br/> (setq a3 (polar a (/ pi 6) 900))<br/> (setq b3 (polar a (/ pi 6) 1050))<br/> (setq a4 (polar a 0 900))<br/> (setq b4 (polar a 0 1050))<br/> (setq a5 (polar a (/ pi (* (- 0 1) 6)) 900))<br/> (setq b5 (polar a (/ pi (* (- 0 1) 6)) 1050))<br/> (setq a6 (polar a (/ pi (* (- 0 1) 3)) 900))<br/> (setq b6 (polar a (/ pi (* (- 0 1) 3)) 1050))<br/> (setq a7 (polar a (/ pi (* (- 0 1) 2)) 900))<br/> (setq b7 (polar a (/ pi (* (- 0 1) 2)) 1050))<br/> (setq a8 (polar a (/ pi (/ 3.0 4)) 900))<br/> (setq b8 (polar a (/ pi (/ 3.0 4)) 1050))<br/> (setq a9 (polar a (/ pi (/ 6.0 7)) 900))<br/> (setq b9 (polar a (/ pi (/ 6.0 7)) 1050))<br/> (setq a10 (polar a (/ pi (- 0 1)) 900))<br/> (setq b10 (polar a (/ pi (- 0 1)) 1050))<br/> (setq a11 (polar a (/ pi (/ (- 0 6.0) 7)) 900))<br/> (setq b11 (polar a (/ pi (/ (- 0 6.0) 7)) 1050))<br/> (setq a12 (polar a (/ pi (/ (- 0 3.0) 4)) 900))<br/> (setq b12 (polar a (/ pi (/ (- 0 3.0) 4)) 1050))<br/> (command "line" a1 b1<br/> "" "line" a2 b2 "" "line" a3 b3<br/> "" "line" a4 b4 "" "line" a5 b5<br/> "" "line" a6 b6 "" "line" a7 b7<br/> "" "line" a8 b8 "" "line" a9 b9<br/> "" "line" a10 b10 "" "line" a11 b11<br/> "" "line" a12 b12 ""<br/> )<br/> )<br/>;指针位置及动作<br/> (defun hms ()<br/> (setq i 0)<br/> (while (>= i 0)<br/> (setq b (polar a (- (- (/ pi 2) (/(* pi h)6) (/ (* pi m)360) (/(* pi s)21600)) (*(/ pi 21600) i))500))<br/> (setq c (polar a (- (- (/ pi 2) (/ (* pi m)30)(/(* pi s)1800))(*(/ pi 1800)i) )680))<br/> (setq d (polar a (- (- (/ pi 2) (/ (* pi s)30)) (*(/ pi 30)i))850))<br/> (command "pline" a "w" 31 0.8 b"")<br/> (setq e1 (entlast))<br/> (command "pline" a "w" 22 0.8 c"")<br/> (setq e2 (entlast))<br/> (command "pline" a "w" 8 0.8 d"")<br/> (setq e3 (entlast))</font></p><p><font color="#3300ff"> (command "delay" "500")<br/> (redraw e1 2)<br/> (redraw e2 2)<br/> (redraw e3 2)<br/> (command "delay" "500")<br/> (setq i (1+ i))<br/> )<br/>)<br/> </font></p><p><font color="#3300ff"><br/></font></p><p><font color="#3300ff"></font></p><p><font color="#3300ff"></font></p> <p>对于一个LSP程序来讲,如果按ESC还不让人家退出,那要什么情况才让人家退出?</p><p>为什么要用REDRAW来隐藏?你删除它不行?</p><p>或者,旋转它也行啊</p> 就是,雪藏了? <p>是全部的,红色的部分建个cloc名的dcl文件.蓝色的建个lisp文件.加载后命令行输入dlg1后回车</p> <font color="#f73809">大哥你好厉害!!帮我改改啊</font> <p></p><p>这是从晓东上下的,供你参考啦.使用方法:将文件解压到CAD支持目录下.命令:CTIME</p>
页:
[1]
2