CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

vlax-safearray-fill (AutoLISP/ActiveX)

2023-1-5 10:30| 发布者: admin| 查看: 292| 评论: 0|来自: AutoCAD

摘要: 将数据存储在安全数组的元素中

将数据存储在安全数组的元素中

支持的平台:仅窗口

签名

(vlax-safearray-fill var 'element-values)
变量

类型:安全阵列

包含安全数组的变量。

'元素值

类型:列表

要存储在数组中的值。您可以指定数组中元素的数量。如果指定的值少于元素数,则其余元素将保留其当前值。

对于多维数组,元素值必须是列表列表,每个列表对应于数组的一个维度。

返回值

类型:列出或无

var参数中提供的值。

例子

创建一维双精度数组:

(setq sa (vlax-make-safearray vlax-vbdouble '(0 . 2)))
#<safearray...>

用于填充数组:vlax-safearray-fill

(vlax-safearray-fill sa '(1 2 3))
#<safearray...>

列出数组的内容:

(vlax-safearray->list sa)
(1.0 2.0 3.0)

用于设置数组中的第一个元素:vlax-safearray-fill

(vlax-safearray-fill sa '(-66))
#<safearray...>

列出数组的内容:

(vlax-safearray->list sa)
(-66.0 2.0 3.0)

请注意,只有数组中的第一个元素已更改;其余元素不受影响,并保留之前设置的值。如果需要更改第二个或第三个元素,并使第一个元素不受影响,请使用。vlax-put-element

指示在仅包含三个元素的数组中设置四个元素:vlax-safearray-fill

(vlax-safearray-fill sa '(1 2 3 4))
Error: Assertion failed: safearray-fill failed. Too many elements.

如果指定的元素多于数组包含的元素,则该函数将返回错误。vlax-safearray-fill

若要为多维数组赋值,请指定列表列表,每个列表对应一个维度。以下命令创建一个二维字符串数组,每个维度中包含三个元素:vlax-safearray-fill

(setq mat2 (vlax-make-safearray vlax-vbString '(0 . 1) '(1 . 3)))
#<safearray...>

用于填充数组:vlax-safearray-fill

(vlax-safearray-fill mat2 '(("a" "b" "c") ("d" "e" "f")))
#<safearray...>

调用函数以确认以下内容:vlax-safearray->listmat2

(vlax-safearray->list mat2)
(("a" "b" "c") ("d" "e" "f"))

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 12:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部