找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 940|回复: 6

[完成][LISP程序]:图+DCL+LSP ,想点击OK直接选择甲

[复制链接]
发表于 2006-4-12 19:54:21 | 显示全部楼层 |阅读模式

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

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

×

QBSD.DCL


  1. //编写DCL程序//
  2. sdqb : dialog {
  3. label = "设定--.LSP";
  4. :row {
  5. :popup_list
  6. {label = "选择:";
  7. key = "1";
  8. width=25;
  9. fixed_width=true;
  10. list="甲\n乙\n" ;

  11. }
  12. }
  13. ok_cancel;
  14. }

  15. ;;;;;;;
  16. QBSD.LSP
  17. ;;;;;;;
  18. ;;;;;;;;;
  19. / dcl_id w1 w2 w3 w4 w5 w6 w7 w8 w9 a n po
  20. ;;;;;;;;;;;
  21. (defun c:sd ()
  22. (setq dcl_id (load_dialog "sdqb.dcl"))
  23. (if (not (new_dialog "sdqb" dcl_id))
  24. (exit)
  25. )

  26. (action_tile "1" "(addl-KG)")

  27. (if (= 1 (start_dialog))
  28. (progn
  29. (prompt (strcat "\nwkg:" wkg))
  30. ))

  31. (unload_dialog dcl_id)
  32. (print)
  33. )

  34. ;;;;;;;;
  35. (defun addl-KG()
  36. (IF  (= (GET_TILE "1") "0")
  37. (setq wkg "D-16A")
  38. (setq wkg "T-16A"))
  39. )

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

已领礼包: 59个

财富等级: 招财进宝

发表于 2006-4-12 22:58:43 | 显示全部楼层
在  (action_tile "1" "(addl-KG)")  前面加上  set_tile    函数
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-12 23:10:24 | 显示全部楼层
(set_tile  "1" "0") (action_tile "1" "(addl-KG)")

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

使用道具 举报

发表于 2006-4-13 12:19:43 | 显示全部楼层
是不是按确定后默认为甲,如果是,程序本身已经是这样了,只是下面不知道为什么又改为“0”了
看下面的程序,和原程序基本没变。


(defun c:sd ()
(setq dcl_id (load_dialog "sdqb.dcl"))
(if (not (new_dialog "sdqb" dcl_id))
(exit)
)

(action_tile "1" "(addl-KG)")

(if (= 1 (start_dialog))

(prompt (strcat "\n wkg:" wkg))
)

(unload_dialog dcl_id)
(princ)
)

;;;;;;;;

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

使用道具 举报

 楼主| 发表于 2006-4-13 17:31:17 | 显示全部楼层
是按确定后默认为甲;
(IF (= (GET_TILE "1") "甲")
不起作用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2006-4-13 18:10:47 | 显示全部楼层
列表框里是什么字,和你选择没有任何关系
选择只表示你选了第几个,而要知道内容,那就要看你往里面加了什么.

而逻辑上也不对
选 确定 就是 "甲"  ,那还要列表框干吗?

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

使用道具 举报

 楼主| 发表于 2006-4-13 23:47:13 | 显示全部楼层
OK了;这样做:

(if (= 1 (start_dialog))
(progn

(if (or (not kgxx) (= kgxx 1))
(setq wkg "D-16A")
(setq wkg "T-16A"))


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-29 07:06 , Processed in 0.183752 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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