明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7789|回复: 37

讨论用grread动态时怎么输入实数

  [复制链接]
发表于 2008-11-27 15:34:00 | 显示全部楼层 |阅读模式
问题如题目
 楼主| 发表于 2008-11-30 12:44:00 | 显示全部楼层

大家过过眼瘾吧

本帖子中包含更多资源

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

x
回复 支持 0 反对 1

使用道具 举报

发表于 2008-11-27 15:39:00 | 显示全部楼层
本帖最后由 作者 于 2008-11-28 9:34:51 编辑

通过获得输入判断ascii码包括46 48-57到用户敲回车或空格为止

调用sendkey把用户的输入模拟进去 这样也可以随时修改 用户以为是自己的输入

问题解决:

;20081128 by nonsmall

(defun c:test( / asc get go real return ws)
 (setq go T)
 (print "输入实数")
 (while (and go (setq get (grread T)))
  (if (and (= (car get) 2) (setq asc (cadr get)) (/= asc 47) (>= asc 46) (<= asc 57))
   (progn
    (setq ws (vlax-Create-Object "WScript.Shell"))
    (setq real (getreal (car (list "" (vlax-invoke-method ws 'sendkeys (chr asc))))))
    (if real (setq go nil))
   )
  )
 )
 real
)

发表于 2008-11-27 15:44:00 | 显示全部楼层
本帖最后由 作者 于 2008-11-28 9:32:52 编辑

测试:

命令: TEST
"输入实数" .123
0.123
命令:
命令: TEST
"输入实数" .123
0.123
命令:
命令: TEST
"输入实数" .6433
0.6433
命令:
命令: TEST
"输入实数" 1.23
1.23
命令:
命令: TEST
"输入实数" .234
0.234
命令:
命令: TEST
"输入实数" 34
34.0

 楼主| 发表于 2008-11-27 15:49:00 | 显示全部楼层

你说的是不是用princ 显示的 这样不能用回车键和左右建进行修改

 楼主| 发表于 2008-11-27 15:51:00 | 显示全部楼层

你说的方法试过

我还用过先用数字键触动getreal这样是基本可以了 但是第一个是用princ 显示的所以他不能进行修改

发表于 2008-11-27 15:54:00 | 显示全部楼层

(defun c:test( / asc get go real return)
 (setq go T)
 (while (and go (setq get (grread T)))
  (if (and (= (car get) 2) (setq asc (cadr get)) (/= asc 47) (>= asc 46) (<= asc 57))
   (progn
    (setq real (getreal (chr asc)))
    (if real (setq go nil return (read (strcat (chr asc) (rtos real 2 4)))))
   )
  )
 )
 return
)

写个例子给你 用户先输入.的一些情况你自己判断吧

程序运行中敲数字就会切换成实数的输入

输入完成后程序退出返回实数

发表于 2008-11-27 15:59:00 | 显示全部楼层

如果考虑全面的话还是用第一种方法

多写一些判断好了

发表于 2008-11-27 16:07:00 | 显示全部楼层

不用princ输出

用系统变量MODEMACRO输出于状态栏就OK

发表于 2008-11-27 16:10:00 | 显示全部楼层
本帖最后由 作者 于 2008-11-27 16:24:52 编辑

(setvar "MODEMACRO" (strcat "您输入的值是" "1234.5" "<======"))

(setq asc 2)

(acet-ui-txted (chr asc) "输入实数" "请输入实数")

发表于 2008-11-27 16:46:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-15 18:58 , Processed in 0.176504 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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