大家好,之前一个社区大佬帮忙写了一个对话框代码,我后面的程序都是在此代码的基础上进行对话框编辑的,但是我发现这个对话框有限制,就是只能输入数字,输入字符串(字母或者其他符号等)就不能用了,求大佬帮我改一下下面的代码,让其无论输入数字或者字符串都能赋予值的变量
- (defun c:ss (/ d1 d2 pt0 d3)
- (setvar "cmdecho" 0) ;关闭普通命令提示信息
- (setvar "osmode" 0) ;关闭对象捕捉状态
- (command "._undo" "_begin")
- (setq Keys '("d1" "d2" "d3" ))
- (if (not bhd4)
- (progn
- (setq bhd1 1 bhd2 1 bhd3 150)
- )) ;设变量初值
-
- ;加载DCL对话框
- (setq DcLwjm (make_ZDBH_dcl)) ;生成DCL对话框
- (setq dcl_id (load_dialog DcLwjm)) ;加载DCL对话框
- ;激活DCL画面
- (if (not (new_dialog "自动编号" dcl_id))
- (exit)
- )
- ;控件赋初值
- (mapcar '(lambda(Key Val) (set_tile Key Val))
- Keys
- (list
- (rtos bhd1 2 2)
- (rtos bhd2 2 2)
- (rtos bhd3 2 2)
- )
- )
-
-
- ;设置d1为焦点
- (mode_tile "d1" 2)
- ;控件相关操作
- (foreach Key Keys
- (action_tile Key "(set (read (strcat "bh" $key)) (atof (get_tile $key)))
-
- "
- )
- )
-
- (action_tile "accept" "(done_dialog 1)")
- ;将控制权交给DCL
- (setq do_what (start_dialog))
- ;终止DCL: (done_dialog 0) (done_dialog 1)
- (cond ((= do_what 0)
- (princ "\n单击了取消按钮")
- )
- ((= do_what 1)
- (princ "\n单击了确定按钮")
- ; 这里加入进行相应的处理部分
|