- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
delphi-变体类型(variant)的介绍(流与变体类型的相互转换变体类型常用的函数
delphi 变体类型(variant)的介绍(流与变体类型的相互转换变体类型常用的函数
一、变体类型常用的函数介绍:
Variant: 一种可以拥有各种数据类型; 也可以告诉目前存储的数据是什么类型(通过使用VarType函数); 可以给相同的Variant分配不同的数据类型,只要Variant包含数字值就可以执行算法; variant数组只不过是variant型的数组,不必包含同类型的数据;
1、 VarArrayOf函数:更快捷的创建一维变体数组,可以创建全异的数值数组;
function VarArrayOf(const Values: array of Variant): Variant;
VarArrayOf是一种快速(写代码快而不是运行快)的方法生成一个一维Variant数据的方法,它接受一个Variant类型的Open Array,用这个数据生成一个一维的Variant Array of Variant(类型为Variant)。由于Delphi对Open Array类型参数的支持,使你可以用一行语句生成一个数组。不过它有两个缺陷:只能生成一维数组;只能生成元素类型是Variant的数组。使用Variant数组, 与使用标准Delphi数组类似;
5、VarArrayDimCount函数:返回variant数组维数
unction VarArrayDimCount(const A: Variant): Integer;
6、VarArrayLock、VarArrayUnLock函数:避免运行时刻检查。一般用于初始化一个大数组。
function VarArrayLock(const A: Variant): Pointer;
procedure VarArrayUnlock(var A: Variant);
在对Variant数组的每一个元素进行赋值时,都要通过运行时逻辑来检查并判断数据类型的兼容性、每个元素的位置等等。为了避免运行时检查,要用VarArrayLock()函数和VarArrayUnlock()过程。VarArrayLock()函数在内存中锁定数组,使数组不再移动和改变大小,并能返回一个指向数组数据的指针。而VarArrayUnlock()过程用来对VarArrayLock()函数锁定的数组进行解锁,使数组能重新移动或改变大小。在锁定数组后,能用更有效的方法对数组进行初始化。
7、VarArrayRef函数:获得variant指向的数据
function VarArrayRef(const A: Variant): Variant;
8、VarIsArray函数:是一个简单的布尔检查函数,判断是否是一个 Variant数组,是则返回True
function VarIsArray(const A: Variant): Boolean; overload;
function VarIsArray(const A: Variant; AResolveByRef: Boolean): Boolean; overload;
9、其他函数
1>、VarClear()过程清除Variant变量并将VType域的值设为varEmpty.
2>、VarCopy()将Source复制到Dest。
3>、VarCast()将一个Variant转换成指定的类型并存储在另一个Variant变量中。
4>、VarType()返回指定Variant的varXXX类型代码。
5>、VarAsType()跟VarCast()的功能一样。
6>、VarIsEmpty()如果一个Variant变量的类型代码是varEmpty则返回True。
7>、VarIsNull()判断Variant变量是否包含null值。
8>、VarToStr()将一个Variant变量转换成字符串表达式(如果Variant为varEmpty或varNUll则为空字符串)。
9>、VarFromDateTime()返回一个Variant变量,它存放着指定的TDateTime类型的值。
10>、VarToDateTime()返回在Variant中的TDateTime类型的值。
二、一个简单实例代码:
var
a, b: Variant;
I, J, K, M: Integer;
begin
//a是个一维Variant数组,元素类型是Variant,元素个数是3,上界是2,下界是0。
a := VarArrayOf([1
1亿VIP精品文档
相关文档
最近下载
- 2023年四年级下语文期中复习·心田花开.pdf VIP
- 2023年全国统一高考英语试卷(全国甲卷)(含答案与解析).pdf
- 【课件】歌唱的情感与表达+当那一天来临+课件高中音乐人音版(2019)+必修2+歌唱.pptx VIP
- 03s702钢筋混凝土化粪池图集(高清).pdf
- 在线网课学习课堂《生命科学基础(北理 )》单元测试考核答案.docx
- 电视画面编辑(本科)王晓红.ppt
- 2021-2022学年威海市乳山市八年级下学期期中数学试卷(含答案解析).docx
- 特种设备生产(含安装、改造、维修)单位质量安全风险管控清单 .docx
- 人工智能导论 人工智能理论基础 人工智能理论基础.pptx
- 搅拌设备设计.ppt
文档评论(0)