找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 803|回复: 8

[求助] [求助]:帮改一下这段小程序

[复制链接]
发表于 2005-11-10 23:05:56 | 显示全部楼层 |阅读模式

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

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

×
(setq a 1)
      (setq tt (getstring "要旋转吗?(y/n) <y>:"))
    (cond
      ((= tt "") (setq tt "y"))
      ((= tt "y") (princ "\n旋转") (setq a 0))
      ((= tt "n") (alert (strcat"稍后如果需要旋转请输入xz命令")))
    )
运行这段程序的结果是:
输入y;a=0
输入"";a=1
输入n;a=1
而我要的结果是:
输入y;a=0
输入"";a=0
输入n;a=1
也就是说不管输入y或者"",都要显示"旋转",并使a=0,输入n时不显示"旋转",并使a=1保持不变.
请哪位大侠帮改一下这段程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 8157个

财富等级: 富甲天下

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

使用道具 举报

 楼主| 发表于 2005-11-10 23:32:59 | 显示全部楼层
楼上的办法行不通,结果和原来一样,我的目的是不管输入y或者"",都要显示"旋转",并使a=0,输入n时不显示"旋转",并使a=1保持不变.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 111个

财富等级: 日进斗金

发表于 2005-11-10 23:40:12 | 显示全部楼层
(cond
     ((or (= tt "") (= tt "y")) (princ "\n旋转") (setq a 0))
     ((= tt "n") (alert (strcat"稍后如果需要旋转请输入xz命令")))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

发表于 2005-11-11 11:40:06 | 显示全部楼层
  1. [FONT=courier new](load "xyp_lib")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
  5. ★1·在acad.lsp中增加(load"xyp_lib")
  6. ■2·在每个程序内增加(load"xyp_lib")
  7. ■3·在command下,输入(load"xyp_lib")
  8. ■4·在菜单.mnl中增加(load"xyp_lib")
  9. ■5·将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR]
  11. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  12. |;

  13. (if (null tt)(setq tt "Y"))
  14. (setq tt (UKWORD 1 "Y N" "要旋转吗?(y/n)" tt))
  15. (cond  
  16.   ((= tt "y") (princ "\n旋转") (setq a 0))
  17.   ((= tt "n") (setq a 1)(alert (strcat "稍后如果需要旋转请输入xz命令")))
  18. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-11 12:21:23 | 显示全部楼层
其实是我不理解cond表的作用,经过昨晚的摸索终于搞清楚了它的功能,那就是不管cond表里有多少个子表,只有最前一个符合条件的子表起作用,只要把((= tt "") (setq tt "y"))放到cond表前就行了,符合要求的程序如下:

(setq a 1)
(setq tt (getstring "要旋转吗?(y/n) :"))
((= tt "") (setq tt "y"))
(cond
((= tt "y") (princ "\n旋转") (setq a 0))
((= tt "n") (alert (strcat"稍后如果需要旋转请输入xz命令")))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-11-11 12:27:16 | 显示全部楼层
应该是检测到第一个为 T 的条件后退出 Cond

  1. (setq a 1)
  2. (setq tt (getstring "要旋转吗[Y/N]<Y>: "))
  3. (cond
  4.   ((or (= tt "") (= tt "y") (= tt "Y"))
  5.    (princ "\n旋转")
  6.    (setq a 0)
  7.   )
  8.   ((or (= tt "n")
  9.        (= tt "N")
  10.    )
  11.    (alert (strcat "稍后如果需要旋转请输入xz命令"))
  12.   )
  13.   (t) ;_此处必须
  14. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 19:06 , Processed in 0.180922 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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