找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 434|回复: 1

[求助] [求助]:action函数限制字符串长度吗?

[复制链接]
发表于 2003-6-3 22:19:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
下面这个程序我加载后总是出现“输入字符串太长”的错误!!
请高手指点

(defun C:dangqiang( / dcl_id linshi h)
  (setq dcl_id (load_dialog "dangqiang.dcl"))                ;加载 DCL 文件
  (if (not (new_dialog "dangqiang" dcl_id))                        ;初始化对话框
    (exit)                                                        ;如果不工作就退出
  )
  (setq x (dimx_tile "img")
      y (dimy_tile "img"))
(start_image "img")
( slide_image 0 0 x y "dangqiang")
(end_image)

  (set_tile "qiangyou" "2000")
  (set_tile "qiangzuo" "1000")
  (set_tile "qianghou" "200")
  (set_tile "qiangzhi" "200")
  (set_tile "rongzhong" "20")
  (set_tile "duizai" "10")
  (set_tile "langken" "0.3333333333")
  (set_tile "jianju" "200")
  
  
  (action_tile "cal" "(setq linshi (atof (get_tile \"ziyou\")))
      (setq Y (atof (get_tile \"rongzhong\")))
      (setq Q (atof (get_tile \"duizai\")))
      (setq l (atof (get_tile \"langken\")))
      (setq C (atof (get_tile \"tong\")))
      (if (= C 0) (setq c 9.6) (if (= C 1) (setq c 11.9) (if (= C 2) (setq c 14.3) (if (= C 3) (setq c 16.7) (setq c 19.1)))))
      (if (= c 9.6) (setq t \"C20\") (if (= c 11.9) (setq t \"C25\") (if (= c 14.3) (setq t \"C30\") (if (= c 16.7) (setq t \"C35\") (setq t \"C40\")))))
      (setq F (atof (get_tile \"gangjin\")))
      (if (= F 0) (setq f \"HPB235\") (if (= F 1) (setq f \"HRB335\") (if (= F 2) (setq f \"HRB400\") (setq f \"RRB400\"))))
      (setq J (atof (get_tile \"jianju\")))
      (setq D (atof (get_tile \"qiangzhi\")))
      (setq H (atof (get_tile \"qiangyou\")))
      (setq lb \"---------------------------挡墙计算书--------------------------------\")           
      (setq b (write-line lb (open \"C:/test.txt\" \"w\")))
      (open \"C:/test.txt\" \"a\")
      (if (= linshi 0) (setq lb \"挡墙顶部为简支\") (setq lb \"挡墙顶部为自由\"))   
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
      (setq lb (strcat \"挡墙右边的回填土高度为\" (rtos H) \"mm\"))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
      (setq Z (atof (get_tile \"qiangzuo\")))
      (setq lb (strcat \"挡墙左边的回填土高度为\" (rtos Z) \"mm\"))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
      (setq B (atof (get_tile \"qianghou\")))
      (setq lb (strcat \"挡墙墙体的厚度为\" (rtos B) \"mm\"))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
      (setq lb (strcat \"墙趾的厚度为\" (rtos D) \"mm\"))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
      (setq lb (strcat \"回填土的容重为\" (rtos Y) \"kN/m^3\"))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))      
      (setq lb (strcat \"右侧回填地面有堆载\" (rtos Q) \"kN/m^2\"))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))     
      (setq lb (strcat \"郎肯系数取为\" (rtos l)))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
      (setq lb (strcat \"混凝土强度等级\" t))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
      (setq lb (strcat \"钢筋强度等级\" f))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))

      
      (setq lb (strcat \"钢筋的主筋间距为\" (rtos J) \"mm\"))
      (setq b (write-line lb (open \"C:/test.txt\" \"a\")))
                                 
      (startapp \"notepad\" \"C:/test.txt\")"
    )


  (action_tile "cancel" "(done_dialog 0)")  ;卸载 DCL 件
  (start_dialog)     ;显框
  (princ)
  k

)

是不是我ACTION后的操作的语句写的太多了,如果不这样还有什么更好的办法么,
我想让KEY被ACTION之后,在C:\test.txt,作为计算书,请高手帮忙
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-6-3 22:47:29 | 显示全部楼层
你引用一个内部函数不就结了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-9 10:10 , Processed in 0.234667 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表