CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

vlax 变体类型 (AutoLISP/ActiveX)

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

vlax 变体类型 (AutoLISP/ActiveX)

确定变体的数据类型

支持的平台:仅限 Windows

签名

(vlax-variant-type var)
无功型

类型:变体

包含变体的变量。

返回值

类型:整数

如果 var 包含变体,则返回以下数值之一:

0 -- 未初始化 (vlax-vbEmpty)

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

2 -- 整数 (vlax-vbInteger)

3 -- 长整数 (vlax-vbLong)

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

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

8 -- 字符串 (vlax-vbString)

9 -- 对象 (vlax-vbObject)

11 -- 布尔值 (vlax-vbBoolean)

8192+n -- 某种数据类型的安全数组 ()。例如,doubles () 数组返回 8197 (8192 + 5)。vlax-vbArrayvlax-vbDouble

如果 var 不包含变体,则会导致错误。

例子

将变体设置为并显示变体的数据类型:nil

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

(vlax-variant-type varnil)
0

将变体设置为整数值,并将变体显式定义为整数数据类型:

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

(vlax-variant-type varint)
2

将变体设置为整数值并显示变体的数据类型:

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

(vlax-variant-type varint)
3

请注意,如果不显式地将数据类型定义为 ,则整数赋值将生成长整数数据类型。vlax-variant-variant

将变体设置为字符串并显示变体的数据类型:

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

(vlax-variant-type varstr)
8

创建一个 doubles 的 safearray,将 safearray 分配给变体,并显示变体的数据类型:

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

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

(vlax-variant-type var4dubs)
8197

变体类型值大于 8192 表示变体包含某种类型的安全数组。从返回值中减去 8192 以确定安全数组的数据类型。在此示例中,8197-8192=5 ()。vlax-vbDouble

为变量分配一个实际值,然后发出以检查变量的数据类型:vlax-variant-type

(setq notvar 6.0)
6.0

(vlax-variant-type notvar)
; *** ERROR: bad argument type: variantp 6.0

最后一个示例会导致错误,因为传递给的变量不包含变量。vlax-variant-type


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-14 07:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部