linhui12 发表于 2008-5-25 12:26:00

[讨论]让对话框显示上次输入值--OKl了谢谢各位的关注与帮助

本帖最后由 作者 于 2008-6-18 0:38:57 编辑

如题所问,请知道的朋友介绍一下,谢谢

祥子 发表于 2008-5-25 13:14:00

可以将值保存在全局变量中,下次使用时,调用此变量值

job_ho 发表于 2008-5-25 13:43:00

<p>利用VL-REGISTRY-XXXXX系列的命令</p><p>從WINDOWS的註冊表中讀取,寫入,刪除,新增</p>

ljttjl 发表于 2008-5-26 21:23:00

思路:将变量定义成全局变量的同时,作一个判断语句(如判断某一变量是否为真作为条件,此时此变量不要赋初如值,然后再在后面语句中将该变量赋值,最终达到上述功能),条件成立时设定最初值,不成立时再起动对话框时将值设为其它值。

superxzg 发表于 2008-5-26 21:58:00

楼上正解!

linhui12 发表于 2008-6-14 09:53:00

<p>哪位朋友有这样示例?帖一个上来好吗,谢谢</p>

caoyin 发表于 2008-6-14 11:51:00

<p>(defun c:test (/ id flag str)<br/>&nbsp; (if (and (&gt;= (setq id (load_dialog "test.dcl")) 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new_dialog "TEST_DCL" id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if $test_str$<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set_tile "str" $test_str$)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (action_tile "str" "(setq str $Value)")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (action_tile "accept" "(done_dialog 1)")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (action_tile "cancel" "(done_dialog 0)")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq flag (start_dialog))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (unload_dialog id)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (and (= flag 1) str)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq $test_str$ str)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $test_str$<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>)</p><p></p><p>TEST_DCL<br/>&nbsp; : dialog { label=" 对话框测试";<br/>&nbsp;&nbsp;&nbsp; : edit_box { label=" 输入字符串:"; key="str"; }<br/>&nbsp;&nbsp;&nbsp; ok_cancel;<br/>&nbsp; }</p>

linhui12 发表于 2008-6-15 13:01:00

<p><strong><font face="Verdana" color="#61b713">各位朋友,假如我要实现的是:</font></strong></p><p><strong><font face="Verdana" color="#61b713">打开对话框&gt;输入A,B,C,D四值&gt;点击"选择"&gt;关闭对话框进入CAD选取&gt;右键返回对话框.</font></strong></p><p><strong><font face="Verdana" color="#61b713">请问操作到"右键返回对话框"时如何保证之前输入的A,B,C,D值还在对话框中呢??</font></strong></p>

yxp 发表于 2008-6-15 15:33:00

7楼的程序可以满足你的要求啊。

caoyin 发表于 2008-6-15 15:59:00

<p>;;用 while 可以完成的对话框的回调</p><p>(while (and (/= flag 1) (/= flag 0)) ;;设定循环退出的条件(如用户点了 ok 或 cancel 按钮)<br/>&nbsp; ....&nbsp;&nbsp;&nbsp; ;; 初始化显示对话框<br/>&nbsp; ....&nbsp;&nbsp;&nbsp; ;; 对 key 值进行初始设置</p><p>&nbsp; ....<br/>&nbsp; (action_tile "select" "(done_dialog 2)") ;;用户按下“选择”按钮<br/>&nbsp; (action_tile "accept" "(done_dialog 1)")<br/>&nbsp; (action_tile "cancel" "(done_dialog 0)")<br/>&nbsp; ....<br/>&nbsp; (setq flag (start_dialog)) ;;关闭对话框,回到图形界面,返回 2<br/>&nbsp; (cond ((= flag 2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ssget) ;;执行选择,按右键,因为 flag 值/=1,/=0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;而没有达到退出while的条件,所以重新显示对话框</p><p>....</p>
页: [1] 2
查看完整版本: [讨论]让对话框显示上次输入值--OKl了谢谢各位的关注与帮助