找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 792|回复: 6

[求助] [求助]:谁知道如何把回车键赋给一个变量?

[复制链接]
发表于 2003-11-6 09:23:48 | 显示全部楼层 |阅读模式

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

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

×
或者有其他方法:某变量有一个初始值,想通过是否按下回车键,来改变它的值
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-11-6 11:05:05 | 显示全部楼层
其实不用检查是否回车,因为一般来讲,当给变量赋值时,如果直接回车其值为“nil”只要检查变量的值是否为nil就行了。

这个问题其实和你前面的帖子是一个问题。给变量却省值就是这样的。
先设定一个全局变量,将却省值赋给他,然后在进行变量的赋值操作时进行判断,如果为nil,就将前面设定的全局变量的值赋给这个变量,如果不为ni,(这里你如果想将这次输入的值作为新的却省值,从而省去下次再输入,就将这个输入的值重新赋值给全局变量)
就象这样:
(if (= a1 nil)(setq a1 a2)(setq a2 a1))
这里a1是我们需要赋值的变量,a2就是保存却省值的全局变量。

一个完整的例子:
(defun c:queshzhi ()
(setq a2 "你好")
(prompt "\n 请你输入新值,直接回车为却省值:<")
(princ a2)
(setq a1 (getstring ">))
(if (= a1 nil)(setq a1 a2)(setq a2 a1))
(princ a1)
)

如果你想每次回车都是赋给同样的却省值程序就可以简化成这样:
(defun c:queshzhi ()
(setq a1 (getstring ""\n 请你输入新值,直接回车为却省值:<你好>"))
(if (= a1 nil)(setq a1 "你好"))
(princ a1)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-11-6 13:26:20 | 显示全部楼层
谢谢斑竹
请看看下面的有问题吗?
(defun c:tgsj()
;
   (prompt"\n本程序用于特观设计中放检波点和炮点")
   (setq k nil)
   (princ "\n请选择: 1、检波点; 2、炮点;")
   (setq k (getstring"<回车退出>"))
   (if (= k nil) (exit)
       (progn
           (setq 间距(getint"\请输入间距: "))
           (indive k))
   )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-6 16:47:27 | 显示全部楼层
(defun C:TGSJ ()
  (prompt "\n本程序用于特观设计中放检波点和炮点")
  (setq K NIL)
  (initget "1 2 ")
  (setq K (getkword "\n请选择: 1、检波点 2、炮点<回车退出>"))
  (if (= K NIL)
    (exit)
    (progn
      (setq 间距 (getint "\请输入间距: "))
      (INDIVE K)
    )
  )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-11-8 18:39:05 | 显示全部楼层
用(initget "1 2 ")控制输入项的好处是,程序只接受initget设定的值,其它的一概不认,象上面的程序一样,如果输入3、4呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-23 16:25:44 | 显示全部楼层
一般不用考虑回车键,若需要知道回车键,可用(setq enter (read-char))获得
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 22:35 , Processed in 0.203490 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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