变体类型Variant
变体类型Variant,能够在运行期间动态的改变类型。变体类型能支持所有简单的数据类型,如整型、浮点、字符串、布尔型、日期时间、货币及OLE自动化对象等,不能够表达Object Pascal对象。
1.VarArrayCreate function
Creates a variant array.
创建一个变体类型的数组。
function VarArrayCreate(const Bounds: array of Integer; VarType: TVarType): Variant;
VarArrayOf function
Creates and fills a one-dimensional variant array.
创建并且填充一个一维的变体类型的数组。
function VarArrayOf(const Values: array of Variant): Variant;
VarArrayCreate, VarArrayOf Example
var
A: Variant;
begin
A := VarArrayCreate([0, 4], varVariant);
A[0] := 1;
A[1] := 1234.5678;
A[2] := 'Hello world';
A[3] := True;
A[4] := VarArrayOf([1, 10, 100, 1000]);
WriteLn(A[2]); { Hello world }
WriteLn(A[4][2]); { 100 }
end;
2.VarArrayLock function
Locks a variant array and returns a pointer to the data.
锁住一个变体类型的数组并且返回一个指向这个数据的指针。
function VarArrayLock(const A: Variant): Pointer;
VarArrayLock, VarArrayUnlock Example
type
PArrayData = ^TArrayData;
TArrayData = array[0..9, 1..3] of Integer;
var
A: Variant;
P: PArrayData;
I, J: Integer;
begin
A := VarArrayCreate([1, 3, 0, 9], varInteger);
P := VarArrayLock(A);
try
for I := 0 to 9 do
for J := 1 to 3 do
P^[I, J] := J * 10 + I;
finally
VarArrayUnlock(A);
end;
WriteLn(A[1, 9]); { 19 }
WriteLn(A[3, 4]); { 34 }
end;
3.VarArrayUnlock procedure
Unlocks a variant array.
procedure VarArrayUnlock(var A: Variant);
转载于:https://www.cnblogs.com/sideandside/archive/2007/04/16/715136.html
变体类型Variant相关推荐
- 关于COM中变体类型VARIANT
从com的设计初衷来讲,要达到跨语言的目的,但是c++啊,java,python,pascal什么的都是有自己的数据类型的,设计这个变体类型VARIANT就是为了达到这个目的,之所以称之为变体类型是因 ...
- VARIANT变体类型数据
2019独角兽企业重金招聘Python工程师标准>>> 特殊 Variant 是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据.Variant ...
- C++变体数据类型—— VARIANT
百度百科: Variant 音标 Phonetic symbol [] 词性及解释 Part of speech and defination n. 变体, 异体 a. 不同的, 有差别的 [计] 变 ...
- Delphi 变体类型(Variant)的介绍(流与变体类型的相互转换、变体类型常用的函数)...
来源:http://blog.csdn.net/xiongmao000738/article/details/6863988 一.变体类型常用的函数介绍: Variant: 一种可以拥有各种数据类型: ...
- SegeX SgxVariantArrayT:VC封装支持多维数组的变体类型(VRIANT 、SafeArray)(附免费免积分源代码)
----哆啦刘小洋 原创,转载需说明出处 2023-01-04 SgxVariantArrayT:支持多维数组的变体类型 1 简介 2 方法原理 2.1 继承于_variant_t 2.2 模板类型到 ...
- 自定义Flutter资源变体(variant)
Flutter目前没有支持到像andrid一样自动获取对应环境的变体资源,代码区分多语言取图片资源麻烦且代码可读性不高,为此封装了一个简单的ImageProvider 用来自动匹配资源 . 先讲下用法 ...
- php variant 数组,php – 如何将8209数组对象变体转换为VT_VARIANT
我正在调用一个COM对象方法,该方法在我的PHP代码中返回8209类型的数组变量对象. $com_VArray = $com_Object->objectMethod; //Is a 8209 ...
- labview圆环里实物动画图形_LabVIEW编程技巧:功能强大的变体数据类型用法
变体数据类型简介 LabVIEW是一种图形化编程语言,所以也叫G语言,在程序框图上连线时,必须相同类型或者能强制相互转换的类型端口才能连接在一起,例如我们不能将一个数值型的控件连接到布尔型的控件上,也 ...
- Shader:优化破解变体的“影分身”之术
本期我们将剖析刚上新的Shader Analyzer中和Shader变体相关的规则:"Build后生成变体数过多的Shader"."项目中可能生成变体数过多的Shader ...
最新文章
- 结构成员访问的三种方法
- 面试官最想要的synchronized,你值得拥有
- jenkins部署net core初探
- 双向slider滑动微信小程序组件slider组件
- 机器学习(三):支持向量机SVM(含代码和注释)
- latex textbf没有用_LaTeX排版软件札记 Win10 LyX+TeXLive
- SAP UI5 应用开发教程之五十二 - 如何使用 SAP UI5 的标准控件结合 Cordova 插件调用手机摄像头进行条形码扫描试读版
- 物联网linux_Linux的未来,Google的物联网标准等
- ML、DL、CNN学习记录1
- 2019.03.17 14:58
- 完全小白级DataX安装配置过程详解
- C语言编程判断输入的英文字母是星期几
- ASEMI代理AD9959BCPZ原装ADI车规级AD9959BCPZ
- Java-Map-详解
- 计算机网络-自顶向下方法-笔记【第2章-应用层】
- 伯明翰高级计算机科学,2020年伯明翰大学高级计算机科学专业本科申请条件及世界排名|学费介绍...
- 怎么在SAP MM库存管理中使用简单的货架管理功能
- 地平线正式落户上海临港 政企合作推动城市智能化发展
- java模拟生存RPG游戏开发
- 实用的3款视频添加水印软件分享,简单易上手
热门文章
- java 中random类使用_Python中random的使用方法
- html跳动爱心代码,html+css实现跳动爱心❥(^_-)-Go语言中文社区
- 领导逼走员工的新套路,一次就见效
- VMware 大中华区原厂认证讲师(大陆地区)2019-8-19 更新
- Maven学习总结(20)——Maven pom.xml配置再体会
- java aes解密算法_使用java实现AES算法的加解密(亲测可用)
- SpiderKeeper的使用
- Shell练习(十一)
- Future和FutureTask实现异步计算
- 玩转苹果--苹果应用下载