(vlax-make-variant) ;;创建一个未初始化的变体

;;01.整型值变体
(setq myvar (vlax-make-variant 10)) ;;创建整型值变体,返回 #<variant 3 10>
(vlax-variant-type myvar) ;;获取变体类型,返回 3
(vlax-variant-value myvar) ;;获取变体中的值 ,返回10

;;02.双精度值型变体
(setq myvar2 (vlax-make-variant 10.2)) ;;返回 #<variant 5 10.2>
(vlax-variant-type myvar2) ;;获取变体类型,返回 5
(vlax-variant-value myvar2) ;;获取变体中的值 ,返回10.2

;;03.字符串值型变体
(setq myvar3 (vlax-make-variant "10string")) ;;返回 #<variant 8 10string>
(vlax-variant-type myvar3) ;;获取变体类型,返回 8
(vlax-variant-value myvar3) ;;获取变体中的值 ,返回"10string"

;;04.存储双精度值二维安全数组类型的变体
(setq dbArray (vlax-make-safearray vlax-vbDouble '(0 . 3) '(1 . 2))) ;;创建安全数组,返回 #<safearray...>
(vlax-safearray-fill dbArray '((1 2) (3 4) (5 6) (7 8))) ;;使用fill函数给变体一次性赋值,返回 #<safearray...>
(setq mydbSaVar (vlax-make-variant dbArray )) ;;用安全数组创建变体,返回 #<variant 8197 ...>
(vlax-variant-type mydbSaVar) ;;获取变体类型,返回 8197
(setq mydbArray (vlax-variant-value mydbSaVar)) ;;获取变体值,返回 #<safearray...>
(vlax-safearray->list mydbArray) ;;将安全数组以表的形式返回,返回 ((1.0 2.0) (3.0 4.0) (5.0 6.0) (7.0 8.0))
(vlax-safearray-get-dim mydbArray) ;;安全数组的维数,返回 2
(vlax-safearray-get-l-bound mydbArray 1) ;;安全数组指定维度的下界,返回0
(vlax-safearray-get-u-bound mydbArray 2) ;安全数组指定维度的上界,返回2
;;要点:
;;创建数组的时候要指定存储数据的类型
;;维度的维数,维度下界和上界,数组元素和维度的对应
;;用fill时,数组一定要填满

;;05.存储字符串值二维安全数组类型的变体
(setq strArray (vlax-make-safearray vlax-vbString '(1 . 3) '(1 . 2))) ;;创建安全数组,返回 #<safearray...>
(vlax-safearray-put-element strArray 1 1 "Hello") ;;给数组元素赋值,使用put函数,返回 "Hello"
(vlax-safearray-put-element strArray 2 2 "HaHaHa") ;;给数组元素赋值,使用put函数,返回 "HaHaHa"
(setq myStrSaVar (vlax-make-variant strArray )) ;;用数组创建变体,返回 #<variant 8200 ...>
(vlax-variant-type myStrSaVar) ;;获取变体类型,返回 8200
(setq mystrArray (vlax-variant-value myStrSaVar)) ;;获取变体值,返回 #<safearray...>
(vlax-safearray-get-element mystrArray 1 1) ;;获取下标为1 1的数组元素,返回 "Hello"
(vlax-safearray->list mystrArray) ;;将安全数组以表的形式返回,返回 (("Hello" "") ("" "HaHaHa") ("" ""))

【Visual Lisp】变体与安全数组的更多相关文章

  1. Delphi 变体数组 Dataset Locate 查找定位

    Format 函数 Delphi 支持“开参数”和动态数组,变体数组,使用时的语法类似 Delphi 中的集合:采用两个方括号把不同类型的变量括起来(这太方便了啊),也可以采用声明一个 TVarRec ...

  2. 在Visual Lisp中处理自动化错误

    Handling Automation errors in Visual LISP 翻译自原文Kean's blog:http://through-the-interface.typepad.com/ ...

  3. 【Visual Lisp】人机交互与数据处理(表除外)-lisp

    ;;本专题所讲述的内容是人机交互以及常规数据处理技术;;★★★01.人机交互★★★;;△△△键盘输入交互△△△(getint "请输入整数");;从键盘输入整数,如果不是整数则重复 ...

  4. labview 变体数据类型

    变体数据类型是LabVIEW中多种数据类型的容器.将其它数据转换为变体时,变体将存储数据和数据的原始类型,保证日后可将变体数据反向转换. 例如,如将字符串数据转换为变体,变体将存储字符串的文本,以及说 ...

  5. 二叉查找树及B-树、B+树、B*树变体

    动态查找树主要有二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree), 红黑树 (Red-Black Tree ), 都是典型的 ...

  6. (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)

    干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译  参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...

  7. .NET C#杂谈(1):变体 - 协变、逆变与不变

    0. 文章目的:   介绍变体的概念,并介绍其对C#的意义 1. 阅读基础   了解C#进阶语言功能的使用(尤其是泛型.委托.接口) 2. 从示例入手,理解变体   变体这一概念用于描述存在继承关系的 ...

  8. 自然语言19.1_Lemmatizing with NLTK(单词变体还原)

    QQ:231469242 欢迎喜欢nltk朋友交流 https://www.pythonprogramming.net/lemmatizing-nltk-tutorial/?completed=/na ...

  9. 【Visual Lisp】Visual Lisp属性与方法

    说明:Visual Lisp属性的获取.赋值和方法的执行有多种形式.然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住.我们只需要掌 ...

随机推荐

  1. MVC 项目中为什么会有两个web.config

    我们对MVC 并不陌生, 在创建MVC项目时,总会发现,在工程目录 中有两个 web.config 文件,一个是在工程的根目录下,一是在 views 下,两个web.config 中的内容也不尽相同, ...

  2. thinkphp实现单图片上传

    $config=array( 'maxSize' => 3145728, 'savePath' => './Public/Uploads/', 'rootPath' => './', ...

  3. 文件读写方法1.FileInputStream和FileOutputStream

    package fileTest; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundEx ...

  4. delphi 10 seattle 安卓服务开发(二)

    关于delphi 10 移动服务开发的几张图

  5. ipad或iPhone 访问https网站不成功

    可能的原因是设备的日期不对,将设备日期调整正确即可解决

  6. window date type

    Most string operations can use the same logic for Unicode and for Windows code pages. The only diffe ...

  7. php 处理别人直接丢过来的json字符串

    如果 json校验成功  出现莫名其妙的不能decode 就看下转义 最好是直接使用php定界符eof来赋值字符串

  8. Linux/Unix双机建立信任教程

    Linux/Unix双机建立信任教程 一 需要建立信任关系的2台主机都执行生成密钥输入ssh-keygen -t rsa之后全部默认回车,这样就会在/root/.ssh下生成密钥文件 [root@pl ...

  9. 网络请求框架----HttpClient的get,post和图片上传服务器

    HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.HttpCli ...

  10. 使用IntelliJ IDEA建立java web项目

    一.“File”->"New Project"弹出对话框,选择“Java Enterprise” 二.选择web模板 三.输入项目名 四.项目结构