getstring和getpoint整合到一起
主要参考文献: 风之影--GRREAD函数之大杀器.地址:[风之影][源码]grread函数之大杀器
http://bbs.mjtd.com/forum.php?mo ... 0839&fromuid=282351;;getstring和getpoint整合到一起
(defun c:test (/ KSYMDO KLG KII KU KIKB KSTR KLP)
(setq KSYMDO T) ;循环开始条件
(setq KSTR "") ;初始化空字符
(while KSYMDO ;循环开关
(setq KLG (grread t 15 0)) ;循环主句
(setq KII (car KLG)) ;获取的类型
(setq KU nil) ;返回值初始化nil
(cond ((= KII 2) ;键盘输入
(setq KIKB (cadr KLG)) ;键值
(cond ((= KIKB 27) ;键值27=按键ESC
(setq KSYMDO nil) ;退出循环
(setq KSTR nil) ;字符串置空
)
((= KIKB 13) ;键值13=按键回车
(setq KSYMDO nil) ;退出循环
)
((= KIKB 32) ;键值32=按键空格
(setq KSYMDO nil) ;退出循环
)
((and (>= KIKB 33) (<= KIKB 126)) ;键值33~126=按键字符
(princ (chr KIKB)) ;即时显示字符
(setq KSTR (strcat KSTR (chr KIKB))) ;字符成串
)
(t "\n未定义键") ;条件闭合
)
(setq KU KSTR) ;设返回值
) ;键盘输入字符
((= KII 3) ;左键
(setq KLP (cadr KLG)) ;点坐标
(setq KSYMDO nil) ;退出循环
(setq KU KLP) ;设返回值
)
((or (= KII 11) (= KII 25)) ;右键
(setq KSYMDO nil) ;退出循环 返回值按初始nil
)
(t "\n请键盘输入或点取坐标.") ;条件闭合
)
)
(princ "\n")
KU ;返回值
) 什么作用?有个图更好 spp_wall 发表于 2013-12-17 17:59 static/image/common/back.gif
什么作用?有个图更好
一般的getstring、getreal、get...都有了
其实getdist就是getreal和getpoint整合到一起
这个思路可以由get的初始数据处理自己要的结果
有用的可以参考一下,现在发的这个没有什么作用,只是表明思路 lanjqka 发表于 2013-12-18 11:46
一般的getstring、getreal、get...都有了
其实getdist就是getreal和getpoint整合到一起
这个思路可以由 ...
这个程序有意思,明天下载来学习一下,然后再作评价 好東西, 謝謝無私奉獻 楼主没有考虑若输入字符时发现错误,用回格键重输的情况 本帖最后由 lanjqka 于 2013-12-22 00:32 编辑
原地踏步 发表于 2013-12-21 15:03 http://bbs.mjtd.com/static/image/common/back.gif
楼主没有考虑若输入字符时发现错误,用回格键重输的情况
应该有两个问题
1.删除字符可以处理((= KIKB 8) ;键值8=按键<-backspace 当然也可以重定义其它键作为删除键
(setq KSTR (if (> (strlen KSTR) 1)
(substr KSTR 1 (- (strlen KSTR) 1))
(t "")
)
) ;字符减少
)2.字符显示就不知道了
还有就是其实光标左右移动控制
页:
[1]