确定变量的数据类型 支持的平台:仅窗口 签名(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 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 14:42
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.