CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

vlax-make-variant (AutoLISP/ActiveX)

2023-1-7 10:12| 发布者: admin| 查看: 346| 评论: 0|来自: AutoCAD

摘要: 创建变量数据类型

创建变量数据类型

支持的平台:仅窗口

签名

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

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

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

类型

类型:整数

多属性的类型。这可以用以下常量之一表示:

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

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

vlax-vbInteger(2) -- Integer

vlax-vbLong(3) -- 长整数

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

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

vlax-vbString(8) -- 字符串

vlax-vbObject(9) -- Object

vlax-vbBoolean(11) -- 布尔值

vlax-vbArray(8192) -- Array

括号中显示的整数表示常量计算的值。建议您在参数中指定常量,而不是整数值,因为该值在更高版本的 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

变量 -- 与初始值的类型相同

VLAX-make-safearray -- vlax-vbArray

返回值

类型:变型

创建的变体。

例子

使用以下各项的默认值创建变体: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...>

然后获取双精度数组并将其分配给变体:

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 14:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部