whietsnow 发表于 2003-5-22 17:30:00

错误: 参数太多

各位大虾:
提示:
错误: 参数太多
请问是何错误,何处着手改正?

mccad 发表于 2003-5-22 19:54:00

也就是参数太多,少一两个试试

whietsnow 发表于 2003-5-23 10:58:00

标注出问题??向您请教

我在给一串矩形做标注时,由于 矩形、标住(标注矩形的宽、间距)不在一层上,矩形以array的形式画出,(command "layer" (entlast) "" 2 p m n "").标注要位于矩形串的中间,程序运行时标注和实际的点不能对应,n为列间距,往往差一个间距或矩形的宽,点的算法没错,我自己发觉用array时行间距赋值为2,实际画出的经测量为1,
我若改为(+ n 1),在n大于1时正确,n小于1,则不能。为请问是何原因,可有何改正的方法?或有何更好的方法?

meflying 发表于 2003-5-23 11:57:00

你不把你的程序贴出来怎么看你错在哪?

whietsnow 发表于 2003-5-25 22:01:00

请教

首先多谢您的回复。
我又仔细查看了程序,发现array的列间距我理解错误,我认为两个矩形的间距即是array的列间距,经测量,发现我错了。我加上矩形的宽再作为array中的列间距则正确。谢谢您的=关心。

    我还想请教如何给对话框添加错误提示的功能,即:如果参数输入超过允许范围,能给出提示,然后再回到对话框的界面,继续填写?可否给出一个小范例。盼复。

meflying 发表于 2003-5-26 13:32:00

例子

(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;
}

whietsnow 发表于 2003-5-27 16:03:00

感谢你的回复

感谢你的回复
你好。
我照您的例子做出来的错误提示很好。我想运用到我的程序中,但有问题。
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 = “”)
    此类型的控件无法拥有子控件。
   可以解决吗?
盼复

meflying 发表于 2003-5-27 17:25:00

re:

不是很清楚你的程序,(action_tile"accept" "(done_dialog)"),这样你的确定按钮仅仅是推出对话框,并未做任何事,所以不会出错,也不会执行任何内容。

对话框中要一个输入插入点的控件怎么会不行?
你最好把你的程序和对话框代码都放上来,才能确定你的错误。

whietsnow 发表于 2003-5-28 09:38:00

您好


你好。
我把源文件帖上,加上上次的dcl程序,我想插上出错对话框,要能显示错误,提醒用户后能回到对话框。能有插入点子控件。应如何解决?

我做了一个自定义按纽,appload功能(宏定义为^C^Cinsertsappload ),可以直接执行,不需要下拉菜单。但我更想如何加载路径,使直接完成appload,选择文件,加载这三步功能,然后可以直接输入命令,或出现对话框?应如何去定义按纽?麻烦您了,先谢谢您。盼复。

meflying 发表于 2003-5-29 10:00:00

你能不能说明白些?很难懂你的意思。

你的程序有什么问题呢?
注意:PLINE最后和ARRAY最后的“”去掉。
页: [1] 2 3
查看完整版本: 错误: 参数太多