程序有点问题,麻烦大家帮忙看一下
目标是实现插入文字lisp
(setvar "cmdecho" 0)
(setq dcl_id (load_dialog "C:\\Users\\hp\\Desktop\\wenzi.dcl"))
(new_dialog "wenzi" dcl_id)
(setq qq (get_tile "zi"))
(action_tile "accept" "(ok_dia5a)(done_dialog 1)")
(start_dialog)
(defun ok_dia5a()
(command "text" "j" "m" pt0 10 0 qq)
)叫个地方出现问题呢
dcl
wenzi:dialog{
label="插入文字";
:edit_box{
label="文字输入";
key="zi";
edit_box=6;}
ok_only;
}
无法达到效果,哪个地方有问题 本帖最后由 YAOSHIWEI 于 2014-1-9 20:45 编辑
(defun c:dia5a()
(setvar "cmdecho" 0)
(dcl_dia5a)
(prin1)
)
(defun dcl_dia5a()
(setq dcl_id (load_dialog "C:\\Users\\hp\\Desktop\\wenzi.dcl"))
(new_dialog "wenzi" dcl_id)
(setq qq (get_tile "zi"))
(action_tile "accept" "(ok_dia5a)(done_dialog 1)")
(start_dialog)
)
(defun ok_dia5a()
(command "text" "j" "m" pt0 10 0 qq)
)
dcl
wenzi:dialog{
label="插入文字";
:edit_box{
label="文字输入";
key="zi";
edit_box=6;}
ok_only;
}
这样的话,cad直接卡在那儿不动了 没写完整,还要卸载对话框 好的 自贡黄明儒 发表于 2014-1-9 20:12 static/image/common/back.gif
没写完整,还要卸载对话框
不好意思,我想知道具体是哪儿,麻烦您了 本帖最后由 masterlong 于 2014-1-9 20:54 编辑
(ok_dia5a)包含command函数
不能在done_dialog前
可以改成
(action_tile "accept" "(<获取文本控件的值>)(done_dialog 1)")
(setq oke (start_dialog))
(if (= OKE 1)
(ok_dia5a)
) masterlong 发表于 2014-1-9 20:52 static/image/common/back.gif
(ok_dia5a)包含command函数
不能在done_dialog前
no function definition: <获取文本控件的值>不对啊,还 是那样,麻烦您指教一下 YAOSHIWEI 发表于 2014-1-9 21:32 static/image/common/back.gif
no function definition: 不对啊,还 是那样,麻烦您指教一下
;方式一前面先定义个获取DCL控件值的函数
(defun get_data()
(setq txt_str(get_tile "zi"))
)
;将这替换
(<获取文本控件的值>)=(get_data)
;;;;;;;
;;;或者是方式二
(<获取文本控件的值>)=(setq txt_str(get_tile \"zi\")) edata 发表于 2014-1-10 00:24 static/image/common/back.gif
对不起,好像还是不行耶,请完整的程序,麻烦了 masterlong 发表于 2014-1-9 20:52 static/image/common/back.gif
(ok_dia5a)包含command函数
不能在done_dialog前
对不起,好像还是不行耶,请完整的程序,麻烦了
页:
[1]
2