找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 874|回复: 9

[求助] 我写了一段程序,为什么老是提示“语法错误”?请帮忙看看,谢谢!

[复制链接]
发表于 2018-11-20 10:38:35 | 显示全部楼层 |阅读模式

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

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

×
(defun C:SBFmain ()

  
  (setvar "cmdecho" 0)                       
  (setvar "blipmode" 0)

  
  (if (null dcl_pt)
    (setq dcl_pt '(-1 -1))
  )


  (setq dcl_id (load_dialog "sbfdcl.dcl"))

  (if (not (new_dialog "sbf" dcl_id))
    (exit)
  )

  
  (set_tile "lsb" "0")
  (set_tile "bsb" "0")
  (set_tile "llk" "0")
  (set_tile "bk" "0")
  (set_tile "ljc" "0")
  (set_tile "b2" "0")
  (set_tile "hjc" "0")
  (set_tile "ljc1" "0")
  (set_tile "lx" "0")
  (set_tile "b1" "0")
  (set_tile "b3" "0")
  (set_tile "ls" "0")

  (action_tile "lsb" "(setq lsb (atof (get_tile "lsb")))")
  (action_tile "bsb" "(setq bsb (atof (get_tile "bsb")))")
  (action_tile "llk" "(setq llk (atof (get_tile "llk")))")
  (action_tile "bk" "(setq  bk  (atof (get_tile "bk")))")
  (action_tile "ljc" "(setq ljc (atof (get_tile "ljc")))")
  (action_tile "b2" "(setq b2   (atof (get_tile "b2")))")
  (action_tile "hjc" "(setq hjc (atof (get_tile "hjc")))")
  
  (action_tile "ljc1" "(setq ljc1 (atof (get_tile "ljc1")))")
  (action_tile "lx" "(setq lx   (atof (get_tile "lx")))")
  (action_tile "b1" "(setq b1   (atof (get_tile "b1")))")
  (action_tile "b3" "(setq b3   (atof (get_tile "b3")))")
  (action_tile "ls" "(setq ls   (atof (get_tile "ls")))")
  

                                     
  (action_tile "accept" "(setq dcl_pt  (done_dialog 1))")                                        ; ?
                                       ; 对话框定义
  (action_tile "cancel" "(setq dcl_pt  (done_dialog 0))")                                        ; ?
                                       ; 框

  (setq dd (start_dialog))               
                                       
  (cond
    ((= dd 1)
      (main)
    )                                       
    ((= dd 0)
      (unload_dialog)
    )                                       
  )
  (prin1)
)

(defun main ()                               



)

(prin1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 478个

财富等级: 日进斗金

发表于 2018-11-20 11:10:10 | 显示全部楼层
(defun main ()                              



)
这里语法有问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-20 11:29:45 | 显示全部楼层
是不是说程序里不能有空函数?谢谢!

点评

至少里面你要加点内容 加行 (princ)  详情 回复 发表于 2018-11-20 11:40
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-11-20 11:40:06 | 显示全部楼层
zxc001975cvb 发表于 2018-11-20 11:29
是不是说程序里不能有空函数?谢谢!

至少里面你要加点内容
加行 (princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 418个

财富等级: 日进斗金

发表于 2018-11-20 12:47:18 | 显示全部楼层
(defun main ()                              



)

(prin1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 55个

财富等级: 招财进宝

发表于 2018-11-20 13:21:54 | 显示全部楼层
T
命令: (if (not (new_dialog "sbf" dcl_id)) (exit))
; 错误: quit / exit abort
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2018-11-20 13:53:15 | 显示全部楼层
程序不完整。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2018-11-20 19:59:26 | 显示全部楼层
试试看这样如何?
(defun C:SBFmain ()
  (setvar "cmdecho" 0)                       
  (setvar "blipmode" 0)
  (if (null dcl_pt)
    (setq dcl_pt '(-1 -1))
  )
  (setq dcl_id (load_dialog "sbfdcl.dcl"))
  (if (not (new_dialog "sbf" dcl_id))
    (exit)
  )
  (set_tile "lsb" "0")
  (set_tile "bsb" "0")
  (set_tile "llk" "0")
  (set_tile "bk" "0")
  (set_tile "ljc" "0")
  (set_tile "b2" "0")
  (set_tile "hjc" "0")
  (set_tile "ljc1" "0")
  (set_tile "lx" "0")
  (set_tile "b1" "0")
  (set_tile "b3" "0")
  (set_tile "ls" "0")
  (action_tile "lsb" "(setq lsb (atof (get_tile \"lsb\")))")
  (action_tile "bsb" "(setq bsb (atof (get_tile \"bsb\")))")
  (action_tile "llk" "(setq llk (atof (get_tile \"llk\")))")
  (action_tile "bk" "(setq  bk  (atof (get_tile \"bk\")))")
  (action_tile "ljc" "(setq ljc (atof (get_tile \"ljc\")))")
  (action_tile "b2" "(setq b2   (atof (get_tile \"b2\")))")
  (action_tile "hjc" "(setq hjc (atof (get_tile \"hjc\")))")
  (action_tile "ljc1" "(setq ljc1 (atof (get_tile \"ljc1\")))")
  (action_tile "lx" "(setq lx   (atof (get_tile \"lx\")))")
  (action_tile "b1" "(setq b1   (atof (get_tile \"b1\")))")
  (action_tile "b3" "(setq b3   (atof (get_tile \"b3\")))")
  (action_tile "ls" "(setq ls   (atof (get_tile \"ls\")))")
  (action_tile "accept" "(setq dcl_pt  (done_dialog 1))")
        ; ?; 对话框定义
  (action_tile "cancel" "(setq dcl_pt  (done_dialog 0))")
        ; ?; 框
  (setq dd (start_dialog))               
  (cond
    ((= dd 1)
      (main)
    )                                       
    ((= dd 0)
      (unload_dialog dcl_id)
    )                                       
  )
  (prin1)
)
(defun main ()                              
)
(prin1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-23 17:34:46 | 显示全部楼层
非常感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2018-11-24 13:13:42 | 显示全部楼层
set_tile & action_tile 可以简化成字串表

  1. (setq keys '("lsb" "bsb" "llk" "bk" "ljc" "b2" "hjc" "ljc1" "lx" "b1" "b3" "ls"))

  2. (foreach x keys (set_tile x "0"))

  3. (foreach x keys
  4.   (action_tile x (strcat "(setq "x" (atof (get_tile \""x"\")))"))
  5.   )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 16:27 , Processed in 0.408195 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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