• Variant相关函数


    1.VarArrayCreate()和VarArrayOf()这两个常用就不说了

    2.VarArrayRedim()函数能修改variant数组的最高限。

    3.VarArrayDimCount()函数返回Variant数组的维数,

    4.VarArrayLowBound()和VarArrayHighBound()函数分别返回Variant数组的下边界和上边界。

    5.VarArrayLock()和VarArrayUnlock()一般用于初始化一个大数组。如:它创建一个有10000字节的Variant数组。假定有另一个相同长度的非Variant类型的数组,并且想把非variant类型的数组复制到variant类型的数组中去。通常这都是通过用循环语句对variant数组的单元进行赋值实现的。示例如下:

    begin
      v:=VarArrayCreate([1,10000],varBate);
      for i:=1to10000do
      v[i]:=a[I];
    end;

    上面这段代码的主要问题在于,大量的时间花费在对Variant数组的初始化上,因为在对每一个元素进行赋值时,都要通过运行时逻辑来检查并判断数据类型的兼容性、每个元素的位置等等。为了避免运行时检查,要用VarArrayLock()函数和VarArrayUnlock()过程。VarArrayLock()函数在内存中锁定数组,使数组不再移动和改变大小,并能返回一个指向数组数据的指针。而VarArrayUnlock()过程用来对VarArrayLock()函数锁定的数组进行解锁,使数组能重新移动或改变大小。在锁定数组后,能用更有效的方法对数组进行初始化,例如用指向数组数据的指针调用Move()过程,下面的代码也对Variant数组进行初始化,但它更有效:

    begin
      v:=VarArrayCreate([1,10000],varBate);
      p:=VarArrayLock(v)
      try
        move(A,P^,10000);
      finally
        VarArrayUnlock(v);
      end;
    end;

    6.VarArrayRef()获得variant指向的数据

    7.VarIsArray()函数是一个简单的布尔检查函数,如果传递给它的参数是一个Variant数组则返回True,否则返回False.

    8.VarClear()过程清除Variant变量并将VType域的值设为varEmpty.

    9.VarCopy()将Source复制到Dest。

    10.VarCast()将一个Variant转换成指定的类型并存储在另一个Variant变量中。

    11.VarType()返回指定Variant的varXXX类型代码。

    12.VarAsType()跟VarCast()的功能一样。

    13.VarIsEmpty()如果一个Variant变量的类型代码是varEmpty则返回True。

    14.VarIsNull()判断Variant变量是否包含null值。

    15.VarToStr()将一个Variant变量转换成字符串表达式(如果Variant为varEmpty或varNUll则为空字符串)。

    16.VarFromDateTime()返回一个Variant变量,它存放着指定的TDateTime类型的值。

    17.VarToDateTime()返回在Variant中的TDateTime类型的值。

  • 相关阅读:
    python基础
    用纯css改变下拉列表select框的默认样式兼容ie9需要用js
    如何阻止360浏览器backspace键的默认快捷键
    js判断undefined类型,undefined,null, 的区别详细解析
    jquery事件日历插件e-calendar 的修改
    each和for一起使用
    2019.9.24 网络ip小知识
    数据库SQL开始学习_5
    2019.9.22 java小知识
    数据库SQL开始学习_4
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/12723490.html
Copyright © 2020-2023  润新知