检查组成符号表名的各字符的有效性
(snvalid sym_name [flag])
snvalid 函数检查系统变量 EXTNAMES 以确定用于活动图形的规则。如果 extnames 的值为 0,snvalid 使用 AutoCAD 2000 以前版本的符号命名规则。如果 extnames 的值为 1(缺省值),snvalid 使用 AutoCAD 引入的扩展的符号命名规则。无论 extnames 的设置如何,均不允许使用下列命名方式:
如果 extnames 的值为 1,AutoLISP 对符号表名称的长度不作限制。
参数
sym_name
字符串,指定符号表的名称。符号表名必须仅由字母、数值字符和美元符 ($)、下划线 (_) 和连字符 (-) 等特殊字符组成。空字符串是无效符号名。
flag
整数,指定 sym_name.中是否可以包含竖线 (|),它可以是:
0 在 sym_name 中不能包含竖线。(缺省值)
1 在 sym_name 中可以包含竖线(但不能是第一个或最后一个字符)
返回值
如果 sym_name 是有效的符号表名称,则返回 T,否则返回 nil。
如果 extnames 的值为 1,则除控制字符、图形字符和下表中列出的字符外,可以使用其他任意字符:
符号表名称中不能使用的字符 |
|
---|---|
< > |
小于号和大于号 |
/ \ |
斜杠和反斜杠 |
" |
引号 |
: |
分号 |
? |
问号 |
* |
星号 |
| |
竖杠 |
, |
逗点 |
= |
等号 |
` |
后引号 |
; |
分号 (ASCII 59) |
符号表名中可以包含空格。
如果 extnames 的值为 0,符号表名中可以包含大写或小写字母字符(如 A-Z)、数字字符 (0-9)、美元符 ($)、下划线 (_) 和连字符 (-)。
示例
下面的样例假定 EXTNAMES 的值为 1:
命令: (snvalid "hocus-pocus")
T
命令: (snvalid "hocus pocus")
T
命令: (snvalid "hocus%pocus")
T
下面的样例假定 EXTNAMES 的值为 0:
命令: (snvalid "hocus-pocus")
T
命令: (snvalid "hocus pocus")
nil
命令: (snvalid "hocus%pocus")
nil
下例中符号表名称中包含竖线:
命令: (snvalid "hocus|pocus")
nil
在缺省情况下,符号表名称中的竖线被认为是无效字符。
在下例中, flag 参数的值为 1,所以 snvalid 认为 sym_name 中的竖线是有效字符(但不能是第一个或最后一个字符):
命令: (snvalid "hocus|pocus" 1)
T
明经通道 版权所有 未经许可 不得传播 | 评论 |