求助关于“交互输入”函数的问题
我在做一个程序时,想设置一个交互输入,可以在同一个交互输入处设置:点、字符串、整数,但查了一下交互输入函数,没有找到可以完全达到这个效果的函数,但官方命令如 Line:当设置完第3个点(即画了2条线后),可以继续选择下一个点或安C关闭,我就想实现这种效果,在官方命令中有很多这类可以用同一处输入不同类的命令,不知道是怎样实现的。顺便说一下在查找过程中找到一个接近,但实现得不太理想的函数
(setq a1 (grread))
这个函数可以达到取点或字符串,但它取点时没有捕捉点取点不准确,根本不能用在画图上,折腾了一整天都想不出来,所以在这里请教一下各位高手!
xsso 发表于 2013-4-10 23:00 static/image/common/back.gif
我是看了书上说的话initget这个函数后只能根一个getxx函数,而且我搞不懂用initget,后怎么跟getpoint.我 ...
点的输入方式除了鼠标点击外,还有一项几种:
绝对方式:3.5,4.2或3.5<135
相对方式:@3.5,4.2或@3.5<135或4.2(鼠标指向的追踪模式)
这些都是以字符串形式出现的。
看懂了吗?,这些字符串都是有规律的,都符合point的输入规则。
要说起来,在get族函数中,getkword可能是最少使用的函数,原因就是这个函数输入的“不确定性”。 用initget函数!可以使getxxx函数们有不同的返回值!一般都是用他来实现! wowan1314 发表于 2013-4-10 22:50 static/image/common/back.gif
用initget函数!可以使getxxx函数们有不同的返回值!一般都是用他来实现!
我是看了书上说的话initget这个函数后只能根一个getxx函数,而且我搞不懂用initget,后怎么跟getpoint.我只会用getkword惭愧啊!
其实还应按从getpoint函数着手,结合initget函数确定关键字,还可以自己设定“计数器”,这样就可以达到在一定次数以后才有“闭合(C)”选项生效的可能性。
记住,“点”的输入,原本就有输入字符串的方式。 ll_j 发表于 2013-4-10 23:20 static/image/common/back.gif
点的输入方式除了鼠标点击外,还有一项几种:
绝对方式:3.5,4.2或3.5
嗯,要想通过用getpoint来输入字符串,难道要借用@这种符号来实现?但输入不对字符串会一直卡在输入这一步上 wowan1314 发表于 2013-4-10 22:50 static/image/common/back.gif
用initget函数!可以使getxxx函数们有不同的返回值!一般都是用他来实现!
可以跟其它GET,但只对跟在后边的那一个生效,不会对多个生效,而且其它跟在它后面我不会用 本帖最后由 jj2098 于 2013-4-11 10:26 编辑
刚刚在回复下面的帖子时用到了同时接受点输入和空格输入的方法,也许可以供楼主参考。其实就是楼下几位说的 INITGET 的用法,楼主不妨试一下(INITGET 1 "C")。
帖子:http://bbs.mjtd.com/thread-100853-1-1.html
相关代码:
(WHILE loop
(c:ccc pt);调用你自己的程序
(INITGET 1 " ")
(SETQ pt (getpoint "/n圓心: "))
(IF (EQUAL pt "")
(SETQ loop nil)
)
)
页:
[1]