错误: 参数太多
各位大虾:提示:
错误: 参数太多
请问是何错误,何处着手改正?
也就是参数太多,少一两个试试
标注出问题??向您请教
我在给一串矩形做标注时,由于 矩形、标住(标注矩形的宽、间距)不在一层上,矩形以array的形式画出,(command "layer" (entlast) "" 2 p m n "").标注要位于矩形串的中间,程序运行时标注和实际的点不能对应,n为列间距,往往差一个间距或矩形的宽,点的算法没错,我自己发觉用array时行间距赋值为2,实际画出的经测量为1,我若改为(+ n 1),在n大于1时正确,n小于1,则不能。为请问是何原因,可有何改正的方法?或有何更好的方法?
你不把你的程序贴出来怎么看你错在哪?
请教
首先多谢您的回复。我又仔细查看了程序,发现array的列间距我理解错误,我认为两个矩形的间距即是array的列间距,经测量,发现我错了。我加上矩形的宽再作为array中的列间距则正确。谢谢您的=关心。
我还想请教如何给对话框添加错误提示的功能,即:如果参数输入超过允许范围,能给出提示,然后再回到对话框的界面,继续填写?可否给出一个小范例。盼复。
例子
(defun c:test(/ dcl_id what_next a)(setq dcl_id (load_dialog "e:\\lisp\\tmp.dcl"))
(setq what_next 2)
(while (>= what_next 2)
(if (not (new_dialog "abc" dcl_id))
(exit)
)
(action_tile "accept" (strcat "(setq a (atof (get_tile \"edit1\")))"
"(if (or (> a 99) (< a 0))"
"(progn (alert \"错误\") (done_dialog 4)) (done_dialog 1))"))
(setq what_next (start_dialog))
)
(unload_dialog dcl_id)
(princ)
)
********.dcl**********
abc:dialog{
:edit_box {
label="输入数字(0~99):";
key="edit1";
}
ok_cancel;
}
感谢你的回复
感谢你的回复你好。
我照您的例子做出来的错误提示很好。我想运用到我的程序中,但有问题。
1、我的对话框的要输入的数据比较多,要一个个做出错检查,我编了:
abcd :dialog
{
label="Acad信息";
errtile;
ok_only;
}
*******主程序要调用的出错子LSP程序*******
(defunqqq ()
(setq dcl_file "abcd")
(setq dcl_flag(load_dialog dcl_file))
(if(<dcl_flag0) (exit))
(set_tile"abcd" "长度必须大于0")
(action_tile"accept" "(done_dialog)")
(start_dialog)
(unload_dialogdcl_flag)
(princ))
子程序中(if(< a 0)
(abcd)
)
运行命令后,不出现错误,也不运行程序,我的对话框也不出现,请问如何解决,可以检测多个错误,每个都有出错提示。
2、我用array命令画矩形阵列,对话框想有一个可输入插入点的子控件,可光标拾取点,
但系统提示:
错误 在“array”中。(widget 类型 = ** undefined **, key = “”)
此类型的控件无法拥有子控件。
可以解决吗?
盼复
re:
不是很清楚你的程序,(action_tile"accept" "(done_dialog)"),这样你的确定按钮仅仅是推出对话框,并未做任何事,所以不会出错,也不会执行任何内容。对话框中要一个输入插入点的控件怎么会不行?
你最好把你的程序和对话框代码都放上来,才能确定你的错误。
您好
你好。
我把源文件帖上,加上上次的dcl程序,我想插上出错对话框,要能显示错误,提醒用户后能回到对话框。能有插入点子控件。应如何解决?
我做了一个自定义按纽,appload功能(宏定义为^C^Cinsertsappload ),可以直接执行,不需要下拉菜单。但我更想如何加载路径,使直接完成appload,选择文件,加载这三步功能,然后可以直接输入命令,或出现对话框?应如何去定义按纽?麻烦您了,先谢谢您。盼复。
你能不能说明白些?很难懂你的意思。
你的程序有什么问题呢?注意:PLINE最后和ARRAY最后的“”去掉。