暂停以等待用户输入一个关键字并返回该关键字
(getkword [msg])
在调用 getkword 函数之前必须先调用 initget 函数设置有效的关键字。用户不能输入一个 AutoLISP 表达式来响应 getkword 的请求。
参数
msg
用于提示用户的字符串。如果省略该参数,则 getkword 不显示任何提示信息。
返回值
字符串,表示与用户输入相匹配的关键字。如果用户输入为空(即仅按下 ENTER 键),或者用户没有使用 initget 函数设置一个或多个关键字,则本函数返回 nil。
如果用户输入了无效关键字,getkword 将显示警告信息,并提示用户重试。
示例
下例先调用 initget 函数创建关键字列表(“Yes”和“No”),并且不允许随后的 getkword 接受空输入(将 bits 设为 1),然后调用 getkword 函数:
命令: (initget 1 "Yes No")
nil
命令: (setq x (getkword "是否确定[是(Y)/否(N)]: "))
是否确定[是(Y)/否(N)]: yes
"Yes"
如果在 getkword 函数的请求下,用户的输入无效,则:
命令: (initget 1 "Yes No")
nil
命令: (setq x (getkword "是否确定[是(Y)/否(N)]:"))
是否确定[是(Y)/否(N)]: Maybe
无效的选项关键字。
是否确定[是(Y)/否(N)]: yes
"Yes"
用户的响应和 initget 定义的关键字不匹配,所以 getkword 给出错误信息,然后按 msg 参数指定的内容来提示用户。
参阅
initget 函数和《AutoLISP 开发人员手册》中的 getxxx 函数 。
明经通道 版权所有 未经许可 不得传播 | 评论 |