CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2019 开发者帮助

vlax-make-variant (AutoLISP/ActiveX)

2024-5-18 17:50| 发布者: admin| 查看: 153| 评论: 0|原作者: admin|来自: AutoCAD

vlax-make-variant (AutoLISP/ActiveX)

创建变体数据类型

支持的平台:仅限 Windows

签名

(vlax-make-variant [value [type]])
价值

类型:整数、实数、字符串、VLA 对象、安全数组、T 或 nil

要分配给变体的值。如果省略,则使用类型(未初始化)创建变体。vlax-vbEmpty

类型

类型:整数

变体的类型。这可以由以下常量之一表示:

vlax-vbEmpty (0) -- 未初始化(默认值)

vlax-vbNull (1) -- 不包含有效数据

vlax-vbInteger (2) -- 整数

vlax-vbLong (3) -- 长整数

vlax-vbSingle (4) -- 单精度浮点数

vlax-vbDouble (5) -- 双精度浮点数

vlax-vbString (8) -- 字符串

vlax-vbObject (9) -- 对象

vlax-vbBoolean (11) -- 布尔值

vlax-vbArray (8192) -- 数组

括号中显示的整数表示常量的计算值。建议您在参数中指定常量,而不是整数值,因为该值在 AutoCAD 的更高版本中可能会更改。

如果未指定类型,则根据接收的数据类型分配默认数据类型。以下列表标识了分配给每个 LISP 数据类型的默认变体数据类型:vlax-make-variant

-- vlax-vbEmpty

:vlax-null -- vlax-vbNull

整数 -- vlax-vbLong

真正 -- vlax-vbDouble

字符串 -- vlax-vbString

VLA 对象 -- vlax-vbObject

:vlax-true/:vlax-false -- vlax-vbBoolean

variant -- 与初始值的类型相同

vlax-make-safe数组 -- vlax-vbArray

返回值

类型: variant

创建的变体。

例子

使用默认值创建变体:vlax-make-variant

(setq varnil (vlax-make-variant))
#<variant 0 >

默认情况下,该函数会创建一个未初始化的 () 变体。您可以使用以下调用显式完成相同的操作:vlax-vbEmpty

(setq varnil (vlax-make-variant nil))
#<variant 0 >

创建一个整数变体并将其值设置为 5:

(setq varint (vlax-make-variant 5 vlax-vbInteger))
#<variant 2 5>

重复上一个命令,但省略 type 参数,看看会发生什么:

(setq varint (vlax-make-variant 5))
#<variant 3 5>

默认情况下,将指定的整数值分配给长整数数据类型,而不是预期的整数。这凸显了在处理数字时明确说明所需的变体类型的重要性。vlax-make-variant

省略字符串的类型参数会产生可预测的结果:

(setq varstr (vlax-make-variant "ghost"))
#<variant 8 ghost>

要创建包含数组的变体,必须指定类型 ,以及数组中的数据类型。例如,要创建包含双精度数组的变体,请首先将变量的值设置为双精度数组:vlax-vbArray

(setq 4dubs (vlax-make-safearray vlax-vbDouble '(0 . 3)))
#<safearray...>

然后获取 doubles 数组并将其分配给变体:

(vlax-make-variant 4dubs)
#<variant 8197 ...>

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-14 06:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部