Delphi OleVariant 類型的用法


    因客戶需求,對客戶的指紋機與公司產品進行集成,需要對指紋機做接口的二次開發,郁悶的是產商只提供了VB和C的DEMO示例,沒有Delphi的,公司沒有VB,C的環境,不能打開這二種語言的示例,因為本公司搭環境特麻煩,加上之前做過類似的開發,所以也懶得去搭環境了,按照以前的開發經驗寫了個DEMO進行測試,一路進行得很順利,但到了下載用戶指紋和上傳用戶指紋數據時卡住了,因為下載用戶指紋時,用於獲取指紋數據傳入到接口函數中的參數類型是OleVariant類型的,返回后變成了 Variant array of Integer類型了。這里碰到二個問題了:

  1、如何從OleVariant類型的數組中賦值取值

  2、指紋數據放在了一個數組中,我如何把這些數據保存到數據庫和很方便的從數據庫取出來

 

一直以為OleVariant很復雜,在網上搜了很多資料,終於發現OleVariant類型數組賦值和取值其實很簡單,如下:

 

取值:

 

1
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;

 

 

 

賦值:

 

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

 

 

是不是很簡單了呢?

http://www.vckbase.com/module/articleContent.php?id=4359


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM