【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属性的获取.赋值和方法的执行有多种形式.然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住.我们只需要掌 ...
随机推荐
- ActionScript 3.0 for the Lunder Algorithm
package com.feiruo.Calendar.LunderCalendar { /* *@ClassName: package:com.feiruo.Calendar.LunderCalen ...
- starUML 建模
1. starUML 序列图建模 参考: [1]. starUML 序列图建模. http://blog.csdn.net/u013474104/article/details/43818691
- linux+php+apache+mysql(mariadb)故障排除
wordpress 网页文件打不开(client denied by server).白屏(http 500)问题排除顺序 1.查看apache错误日志查照问题报告找到问题 “client denie ...
- html嵌套表格示例
常用嵌套表格示例,出自<网页开发手记:HTML+CSS+JavaScript实战详解> <html> <head> <title>嵌套表格布 ...
- Linux操作系统奥秘02-系统引导(GRUB)
GRUB的加载流程 GRUB是GNU的一款多重引导软件.GRUB包含了3个重要的文件:stage1 ,e2fsstage1_5,stage2.这三个文件分别代表了GRUB运行的3个阶段. 1.stag ...
- C# 连接 Oracle 的几种方式
一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)1. 添加命名空间System.Data.OracleClient引用2. usin ...
- numpy.linalg.eig
1.转置对于二维数组有用,对一位数组无效 2.理解特征值和特征向量的对应关系 a=np.array([[1 ,2, 3],[4, 5, 6],[7, 8, 9]]) a Out[27]: array( ...
- Centos6.x服务器配置jdk+tomcat+mysql环境
1,jdk配置 由于jdk官网的链接不直接支持wget,可以使用下面的方法下载jdk,其中jdk版本为jdk1.8.0_91: wget --no-check-certificate --no-coo ...
- VBS 相关知识 笔记
1.Option Explicit: 必须声明了变量之后才能赋值. 原话:语句在模块级别中使用,强制显式声明模块中的所有变量. w3scholl看到的内容: 变量声明 您可以使用 Dim.Publi ...
- file access , argc, argv[ ]
_____main函数含有 两个参数 ,argc ,argv[] 这两个参数用以指示命令行输入的参数信息. argc 的值是输入的参数的数量.argv是一个数组,每个数组元素指向一个string字符串 ...