【Visual Lisp】变体与安全数组
(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】变体与安全数组的更多相关文章
- Delphi 变体数组 Dataset Locate 查找定位
Format 函数 Delphi 支持“开参数”和动态数组,变体数组,使用时的语法类似 Delphi 中的集合:采用两个方括号把不同类型的变量括起来(这太方便了啊),也可以采用声明一个 TVarRec ...
- 在Visual Lisp中处理自动化错误
Handling Automation errors in Visual LISP 翻译自原文Kean's blog:http://through-the-interface.typepad.com/ ...
- 【Visual Lisp】人机交互与数据处理(表除外)-lisp
;;本专题所讲述的内容是人机交互以及常规数据处理技术;;★★★01.人机交互★★★;;△△△键盘输入交互△△△(getint "请输入整数");;从键盘输入整数,如果不是整数则重复 ...
- labview 变体数据类型
变体数据类型是LabVIEW中多种数据类型的容器.将其它数据转换为变体时,变体将存储数据和数据的原始类型,保证日后可将变体数据反向转换. 例如,如将字符串数据转换为变体,变体将存储字符串的文本,以及说 ...
- 二叉查找树及B-树、B+树、B*树变体
动态查找树主要有二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree), 红黑树 (Red-Black Tree ), 都是典型的 ...
- (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)
干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译 参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...
- .NET C#杂谈(1):变体 - 协变、逆变与不变
0. 文章目的: 介绍变体的概念,并介绍其对C#的意义 1. 阅读基础 了解C#进阶语言功能的使用(尤其是泛型.委托.接口) 2. 从示例入手,理解变体 变体这一概念用于描述存在继承关系的 ...
- 自然语言19.1_Lemmatizing with NLTK(单词变体还原)
QQ:231469242 欢迎喜欢nltk朋友交流 https://www.pythonprogramming.net/lemmatizing-nltk-tutorial/?completed=/na ...
- 【Visual Lisp】Visual Lisp属性与方法
说明:Visual Lisp属性的获取.赋值和方法的执行有多种形式.然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住.我们只需要掌 ...
随机推荐
- Karma:1. 集成 Karma 和 Jasmine 进行单元测试
关于 Karma 会是一个系列,讨论在各种环境下,使用 Karma 进行单元测试. 本文讨论 karma 集成 Jasmine 进行单元测试. 初始化 NPM 实现初始化 NPM 包管理,创建 pac ...
- EXCL poi导入
public static void importExcel2(File file) throws Exception { InputStream is = new FileInputStream(f ...
- 服务器响应头隐藏X-power-by
服务器响应头隐藏X-power-by 这个不是Apache或者Nginx输出的,而是由语言解析器或者应用程序框架输出的. 这个值的意义用于告知网站是用何种语言或框架编写的.例如: PHP标准输出是:X ...
- C# 集合与泛型
一.古典集合方式 在C#2.0的时候集合主要通过两种方式实现: 1.使用ArrayList实现 新建ArrayList,然后将所有对象放入该数组中,简单直接,但缺点是该数组什么类型的元素都能接收,在实 ...
- js数组合并
// 第一种 var mergeTo = [4,5,6], mergeFrom = [7,8,9]; mergeTo = mergeTo.concat(mergeFrom); mergeTo; // ...
- Web前端之CSS_day3-4
1.行高 1.1 初始行高 行高=文字大小+上间距+下间距 默认文字大小:16px 默认文字行高:18px 注意:行高=盒子的高度,可以让文字垂直居中显示 1.2 行高单位 a. px 行高设置多少就 ...
- JS常见问题
语法错误 由于编程语言中的语法比自然语言的语法要严格得多,因此在编写脚本时对细节应倍加关注.例如,如果您本意是将字符串作为某个参数,但是在键入时忘了使用引号引起来,就会产生问题. 脚本解释顺序 对 J ...
- 当前JS文件中加入其他js文件
注意:在html文件导入a.js时,应该把script></script写在/body>后面,否则 document.write()方法有问题. 在载入页面后,浏览器输出流自动关闭: ...
- diocp_tcp_client单元源码与注释
(* * Unit owner: d10.天地弦 * blog: http://www.cnblogs.com/dksoft * homePage: www.diocp.org * * 2015-02 ...
- 通过反射向将EF的实体映射配置加入到实体模型中
public AdminDbContext() : base("MemberDbContext") { //不使用代理创建导航属性,避免WCF序列化错误 Configuration ...