Delphi OleVariant 类型的用法

来源:互联网 发布:枪械百科软件 编辑:程序博客网 时间:2024/05/24 23:14

    因客户需求,对客户的指纹机与公司产品进行集成,需要对指纹机做接口的二次开发,郁闷的是产商只提供了VB和C的DEMO示例,没有Delphi的,公司没有VB,C的环境,不能打开这二种语言的示例,因为本公司搭环境特麻烦,加上之前做过类似的开发,所以也懒得去搭环境了,按照以前的开发经验写了个DEMO进行测试,一路进行得很顺利,但到了下载用户指纹和上传用户指纹数据时卡住了,因为下载用户指纹时,用于获取指纹数据传入到接口函数中的参数类型是OleVariant类型的,返回后变成了 Variant array of Integer类型了。这里碰到二个问题了:

  1、如何从OleVariant类型的数组中赋值取值

  2、指纹数据放在了一个数组中,我如何把这些数据保存到数据库和很方便的从数据库取出来

 

一直以为OleVariant很复杂,在网上搜了很多资料,终于发现OleVariant类型数组赋值和取值其实很简单,如下:

 

取值:

 

procedure p_GetEnrollData();var   dwEnrollData:OleVariant;   High,Low,i:Integer;     sEnrollList:TStringList;begin     sEnrollList:=TStringList.Create;     try        High:=VarArrayHighBound(dwEnrollData,1);           Low:=varArrayLowBound(dwEnrollData,1);         for i:=Low to High do        begin           sEnrollList.Add(inttostr(dwEnrollData[i]))         end;        //把sEnrollList.Text 保存到数据库中      finally         sEnrollList.Free;     end;  end;

 

赋值:

 

procedure p_SetEnrollData();var   dwEnrollData:OleVariant;   i:Integer;begin   dwEnrollData:=VarArrayCreate([0,1000],varInteger);   for i:=0 to 1000 do    dwEnrollData[i]:=i; end;


是不是很简单了呢?

 

 

原创粉丝点击