SWAYWOOD 发表于 2004-5-15 10:28:00

如何控制DCL中编辑框输入内容?

如何控制DCL中编辑框输入内容,比如只能为数字?

f5612140 发表于 2004-5-15 12:30:00

lsp中設定,dcl只是構架

SWAYWOOD 发表于 2004-5-15 13:07:00

如何在用户输入数据错误时给予提示,我用ALERT,但点击确定后,程序就退出了,怎么让确定后,返回原对话框?

e2002 发表于 2004-5-15 16:25:00

SWAYWOOD发表于2004-5-15 13:07:00static/image/common/back.gif如何在用户输入数据错误时给予提示,我用ALERT,但点击确定后,程序就退出了,怎么让确定后,返回原对话框?


你应该在"Exit"按钮的动作函数中先判断editbox控件的值是否是有效的,如果无效,则给出提示(通常是设置error控件的值为"Error....."),而不是退出对话框

SWAYWOOD 发表于 2004-5-15 16:31:00

不太明白,能否给个例子?

SWAYWOOD 发表于 2004-5-15 23:44:00

清高手帮帮忙!

alin 发表于 2004-5-16 09:38:00

test1: dialog {<BR>        : edit_box {key = "input"; width = 8;}<BR>        ok_cancel;<BR>        }


(defun c:test1(/ dcl_id)<BR>       (setq dcl_id (load_dialog "test1.dcl"))<BR>       (if (null (new_dialog "test1" dcl_id)) (exit))<BR>       (action_tile "accept" "(if (not (nump (setq input (get_tile \"input\"))))(alert \"不是数字!\")(done_dialog 1))")<BR>       (start_dialog)<BR>       (unload_dialog dcl_id)<BR>       (princ)<BR>)<BR>(defun nump(str)<BR>       (if (member (type (read str)) (list 'INT 'REAL))<BR>                       t<BR>                       nil<BR>       )<BR>)

SWAYWOOD 发表于 2004-5-16 09:47:00

谢谢,看看先

SWAYWOOD 发表于 2004-5-16 09:58:00

为什么ALERT嵌套在action_tile中就不会退出程序,而要是在主程序中就会退出呢?

meflying 发表于 2004-5-16 10:20:00

看来你对对话框的运行过程还基本不熟, 建议你多琢磨琢磨先
页: [1]
查看完整版本: 如何控制DCL中编辑框输入内容?