帮忙解决如何读取文本框内的数值(希望文本框的数值为上次输入的数值)
本帖最后由 davide888 于 2012-12-6 14:41 编辑感谢Gu_xl 给我的帮助 修改可以正常运行的结果 初学者的理解 给需要了解基础结构的一起交流
fhy : dialog {
label="快速偏移";
:edit_box {
key = "ll" ;
label = "偏移量:" ;
value = "" ;
width = 32.6 ;
height =1.0 ;
edit_width =7.1 ;
alignment = top ;
}
ok_cancel;
}
(defun c:fhy( / dcl_id)
(if (setq dcl_id (load_dialog "fhy.dcl"))
(if (new_dialog "fhy" dcl_id)
(progn
(if l1
(set_tile "ll" (rtos l1 2 0)) ;2为10进制0为小数点后面位数
;(set_tile "ll" (rtos (setq l1 100)))
) ;读取上次数值
(action_tile "accept" "(done_dialog 1)") ;确认键执行
(action_tile "cancel" "(done_dialog 0)") ;取消键执行
(ACTION_TILE "ll" "(setq l1 (atof $value))") ;读取数值
(setq re (start_dialog)) ;定义按钮
(unload_dialog dcl_id)
)
)
)
(if (= re 1) (progn
(command "OFFSET" "l" "c" l1)
)
) ;情况执行
(princ)
)
http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 davide888的微博
本帖最后由 Gu_xl 于 2012-12-6 11:58 编辑
(defun c:fhy( / dcl_id)
(if (setq dcl_id (load_dialog "fhy.dcl"))
(if (new_dialog "fhy" dcl_id)
(progn
(if l1
(set_tile "ll" (rtos l1 2 0))
(set_tile "ll" (rtos (setq l1 100)))
)
(action_tile "accept" "(done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
(ACTION_TILE "ll" "(setq l1 (atof $value))")
(setq re (start_dialog))
(unload_dialog dcl_id)
)
)
)
(if (= re 1) (progn
(setq aa l1)
(command "OFFSET" "l" "c" "aa") ;_ 这是什么命令???完全错误的语句!!!
)
)
(princ)
) Gu_xl 发表于 2012-12-6 11:54 static/image/common/back.gif
偏移想要偏移值为DCL文本框的(希望文本框的数值为上次输入的数值) 神呐救救我们吧 davide888 发表于 2012-12-6 12:20 static/image/common/back.gif
神呐救救我们吧
(command "OFFSET" "l" "c" "aa")
==>
(command "offset" l1)
(while (= 1 (getvar 'cmdactive)) (command pause)) Gu_xl 发表于 2012-12-6 13:01 static/image/common/back.gif
(command "OFFSET" "l" "c" "aa")
==>
(command "offset" l1)
不知道为什么,反正好用了 学习了 非常感谢 希望文本框的100为上次输入的值 该怎么弄? Gu_xl 发表于 2012-12-6 11:54 static/image/common/back.gif
感谢CCTV感谢Gu_xl 给我的帮助 原来你帮我解决了。
页:
[1]