找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 行雲

[求助] (rtos 变量 2 1)转字符号串,求教

[复制链接]

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-2-9 17:58:58 | 显示全部楼层
本帖最后由 marting 于 2017-2-9 18:10 编辑

太长了,
我就说下getdist和getstring输入时候的区别,

在LISP和AUTOCAD交互的时候,在命令行,一般情况下,输入空格是当回车处理,
如果你写:
(if (/= ""  (setq str (getstgring "\n输入内容:")))
   (progn
       ;;(不是回车或者空格输入才进入这)
   )
)


而getdist 空格回车是nil
(if (setq str (getdist"\n输入内容:"))
   (progn
       ;;(不是回车才进入这)
   )
)



如果有时候,你用getstring函数,不希望空格是回车,希望得到空格的值,你就要用 (getstring T "\n输入内容:") , 加个T参数, 这个时候你输入空格就不当回车了,代码就应该:
(if  (setq str (getstgring T "\n输入内容:"))
   (progn
       ;;(不是回车输入才进入这)
   )
)



这个时候str的内容有可能是  "abc  def"

你自己可以在命令行分别输入
(getstring "\n输入字符")
(getstring t "\n输入字符")

看看表现是什么


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

使用道具 举报

 楼主| 发表于 2017-2-9 20:46:55 | 显示全部楼层

(getstring t "\n输入字符")必须回车键才能生效,空格键信号完全完被忽视,,

我现面临问题是。想用getdist,这个方便,,

(setq cda (getdist "\n长度A:"))
(setq cdb (getdist "\n长度B:"))
(setq cdc (getdist "\n长度C:"))

(setq p0 (getpoint))
(setq gt 1)

(if(/= cda "")
  (progn
。。。。。。。。。。。。。。。。。。。
  (setq gt (1+ gt))
  )
)

(if(/= cdb "")
  (progn
。。。。。。。。。。。。。。。。。。。
  (setq gt (1+ gt))
  )
)

(if(/= cdc "")
  (progn
。。。。。。。。。。。。。。。。。。。
  (setq gt (1+ gt))
  )
)

现实应用中,有时,只须输入 (getdist t "\n长度A:")即算完成作业,剩下的B C以空格键跳过,这时希望代码中的(if(/= cdb "")和(if(/= cdc "")不动作。就像使用getstring产生如图中右侧那效果,请问有什么方式可以实现?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-2-9 21:34:09 | 显示全部楼层

多看别人的代码,多看开源函数库的代码,每日插件里面的插件的代码,理解它们。别去改别人的程序,尤其逻辑不清楚的。多自己重新写,是新写,不是改。
培养你自己的风格。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-10 00:42:16 | 显示全部楼层
楼上二位高人,提供点切实可用的解决方案,可否?急用,关于32楼的想法,以及变量从外部文件获取数值的语句,谢谢二位
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2017-2-10 09:07:24 | 显示全部楼层

我算服你了,有这样问的时间,把书系统地看一遍多好。
关于多分支的问题,在另一个帖子里,很多人都给你讲解了,现在还是绕在这里,难道你和cond有仇?非用if不可。
关于getstring的t参数,这是一个特殊设置,保留输入带空格的词句,当然空格就不能作为回车使用。你试着想过没有,为什么要用getstring,用getstring时需要这个t参数么?
永远不要说急用,急用要找专门的地方花钱买,这里是讨论区,可以给你建议,但不能保证你什么。
以我对你的情况判断,你当务之急应该是看书,先系统地、粗略地了解了大多数函数,再写程序会更好一些。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-12 10:43 , Processed in 0.384713 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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