明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2311|回复: 20

[已解答] 请问如何用lisp实现预输入

[复制链接]
发表于 2013-10-18 13:43 | 显示全部楼层 |阅读模式
比如我用getinit函数时 界面上会预先出现10的一个值 如果10是我想要输入的值则点空格即可 如果要输入的是其他的值则直接输入即可
有人能点拨一下吗 谢谢
发表于 2013-10-18 16:15 | 显示全部楼层
发表于 2013-10-19 08:07 | 显示全部楼层
(setq a (getint));如果回车,则a =nil,所以下行写
(if a nil (setq a 10))
发表于 2013-10-19 08:29 | 显示全部楼层
(setq int (Uint 1 "" "整数" int))
发表于 2013-10-19 08:52 | 显示全部楼层
xyp1964 发表于 2013-10-19 08:29
(setq int (Uint 1 "" "整数" int))

Uint是你自定义的吗?
发表于 2013-10-19 18:10 | 显示全部楼层
(defun uint (bit kwd msg def / inp)
  (if def
    (setq msg (strcat "\n" msg "<" (itoa def) ">: ")
          bit (* 2 (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ": "))
  )
  (initget bit kwd)
  (setq inp (getint msg))
  (if inp inp def)
)
 楼主| 发表于 2013-10-21 13:16 | 显示全部楼层
自贡黄明儒 发表于 2013-10-19 08:07
(setq a (getint));如果回车,则a =nil,所以下行写
(if a nil (setq a 10))

谢谢 但是有个问题就是这个10不会出现在屏幕上 我想要的效果是预先显示有10这个值 如果要输入的是10按enter即可

点评

http://bbs.mjtd.com/thread-107913-1-1.html  发表于 2013-10-21 13:53
 楼主| 发表于 2013-10-21 13:17 | 显示全部楼层
xyp1964 发表于 2013-10-19 18:10
(defun uint (bit kwd msg def / inp)
  (if def
    (setq msg (strcat "\n" msg ": ")

谢谢 可是版主我这个看不太懂。。。 能解释下 或者根据我这个实际例子写个具体点的具体点的lisp吗
 楼主| 发表于 2013-10-21 14:07 | 显示全部楼层
peraperson 发表于 2013-10-21 13:16
谢谢 但是有个问题就是这个10不会出现在屏幕上 我想要的效果是预先显示有10这个值 如果要输入的是10按ent ...

thx 有没有不出现对话框的方式 就是直接在我的getint "\n Enter the number" 提示后直接在cad预显示呢 ?
 楼主| 发表于 2013-10-21 14:08 | 显示全部楼层
自贡黄明儒 发表于 2013-10-19 08:07
(setq a (getint));如果回车,则a =nil,所以下行写
(if a nil (setq a 10))

thx 有没有不用出现对话框的方式 就是直接在我的getint "\n Enter the number" 提示后直接在cad预显示呢 ?

点评

不明白要什么?  发表于 2013-10-21 14:10
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-19 19:57 , Processed in 0.234953 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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