创建 SafeArray
(vlax-make-safearray type ’(l-bound . u-bound) [’(l-bound . u-bound)...)]
一个数组最多可以定义 16 维。数组中的元素按如下方式初始化:
Numbers
0
Strings
零长度字符串。
Booleans
:vlax-false
Object
nil
Variant
未初始化 (vlax-vbEmpty)
参数
type
SafeArray 的类型。可指定如下常量:
vlax-vbInteger (2) 整数型
vlax-vbLong (3) 长整数型
vlax-vbSingle (4) 单精度浮点数
vlax-vbDouble (5) 双精度浮点数
vlax-vbString (8) 字符串
vlax-vbObject (9) 对象
vlax-vbBoolean (11) 布尔值
vlax-vbVariant (12) 变体
括号中的整数表示常量的值。在参数中最好指定常量,而不要指定常量的值。因为这些值在后续 AutoCAD 中可能会有所变化。
’(l-bound . u-bound)
某一维的上、下界。
返回值
创建的 SafeArray。
示例
创建从索引 0 开始、包含双精度数的一维数组:
_$ (setq point (vlax-make-safearray vlax-vbDouble '(0 . 3)))
#<safearray...>
使用 vlax-safearray->list 函数将 SafeArray 的内容显示为表:
_$ (vlax-safearray->list point)
(0.0 0.0 0.0 0.0)
结果说明,数组中的每个元素都被初始化为 0。
创建二维的字符串数组,其中每个维从索引 1 开始:
_$ (setq matrix (vlax-make-safearray vlax-vbString '(1 . 2) '(1 . 2) ))
#<safearray...>
参阅
vlax-make-variant、 vlax-safearray-fill、vlax-safearray-get-dim、vlax-safearray-get-element、 vlax-safearray-get-l-bound、 vlax-safearray-get-u-bound、 vlax-safearray-put-element、 vlax-safearray-type、 vlax-safearray->list 和 vlax-variant-value 函数。 关于使用这些函数的详细信息,请参见 《Visual LISP 开发人员手册》中的 使用 Safearrays。
明经通道 版权所有 未经许可 不得传播 | 评论 |