乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 87|回复: 5

[编程交流] 关于使用<未知命令

[复制链接]

7

主题

50

帖子

45

银币

初来乍到

Rank: 1

铜币
39
发表于 2022-7-6 06:07:14 | 显示全部楼层 |阅读模式
我在想。。。
 
每当我键入一个不可用的命令时,它都会返回,这当然是有意义的。但是,这可以用于其他一些功能。。。
 
小示例(用处不大,但出于理解目的):如何使用此tekst“you typed:blabla”获取警报并保留错误消息。
 
也许这是不可能的,但人们永远不知道:-)
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 06:29:28 | 显示全部楼层
现在你让我思考
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 06:40:45 | 显示全部楼层
 
下面是一个简单的例子。
 
不幸的是,虽然可以钩住UnknownCommand事件,但生成的错误消息是由编辑器发送的(可能是通过调用WriteMessage()方法?),即使NOMUTT==1,也无法阻止。
 
[编辑]-对于这一点,通过可能会更成功。NET API*不确定*
 
  1. (vl-load-com)
  2. (defun c:UnknownCommand ()
  3. (if *UnknownCommandReactor*
  4.    (progn
  5.      (vlr-remove *UnknownCommandReactor*)
  6.      (setq *UnknownCommandReactor* nil)
  7.      (setq onUnknownCommand nil)
  8.      (prompt "\n** Unknown command reactor stopped ** ")
  9.    )
  10.    (progn
  11.      (setq *UnknownCommandReactor*
  12.             (vlr-command-reactor
  13.               "My unknown command reactor"
  14.               '(
  15.                 (:vlr-unknowncommand . onUnknownCommand)
  16.                )
  17.             )
  18.      )
  19.      (defun onUnknownCommand (rea cmd)
  20.        (alert (strcat "You typed: ""
  21.                       (car cmd)
  22.                       "" which isn't a valid command. "
  23.               )
  24.        )
  25.      )
  26.      (prompt "\nUnknown command reactor loaded. ")
  27.    )
  28. )
  29. (princ)
  30. )
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 06:44:24 | 显示全部楼层
 
我的想法完全正确。我记得你可以编辑命令的日子。com文件,并根据您的喜好更改错误消息。风险是的,但这是可以做到的。但不确定acad。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 07:03:02 | 显示全部楼层
不,大多数错误消息基本上都是硬编码的,如果不是接受*异常类型对象或其结果*异常的“helper”方法的话。消息字符串属性,并通过WriteMessage方法调用或其ObjectARX变体(AFAIK)显式写入命令行。
回复

使用道具 举报

7

主题

50

帖子

45

银币

初来乍到

Rank: 1

铜币
39
发表于 2022-7-6 07:13:52 | 显示全部楼层
 
谢谢大家提供的信息。
@黑匣子:这似乎有效。
我没有想过反应堆,好的!
 
@pBe:你说的“现在你让我思考”是什么意思?
 
我可以解释我的想法在哪里。
 
我有一个程序,可以通过一个简单的命令调用。弹出窗口显示(文本字段),我可以在其中输入关键字或数字。
 
它返回特定目录中的任何文件夹名称,其中包含我输入的确切短语。如果我输入“345”,它将返回该目录中包含该部分的任何文件夹名。所以它可能会回来:
“1234567”或“85747345009”或“abc345def”或00011001100345”。
 
对不起,我解释得不好。最终的目标是用windows资源管理器打开该文件夹。当前程序正在运行。
 
所以我在想,如果我不启动一个程序怎么办。只需在命令行上键入关键字,让autocad立即打开所需的目录。
 
为了防止与其他命令发生冲突,它可能会以双星号作为前缀。因此,未知命令“**345”将打开包含“345”的文件夹。
 
好的,现在我看到了另一个问题:如果有更多包含“345”的文件夹怎么办。
哦。我需要反思一下。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 18:53 , Processed in 0.788404 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表