CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

vlax-variant-type (AutoLISP/ActiveX)

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

摘要: 确定变量的数据类型

确定变量的数据类型

支持的平台:仅窗口

签名

(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 -- 某种数据类型的安全数组 ()。例如,双精度数组 () 返回 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

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

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

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

(vlax-variant-type varstr)
8

创建双精度的安全数组,将安全数组分配给变体,并显示变体的数据类型:

(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

为变量赋值,然后 issueto 检查变量的数据类型: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 )

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部