文件与Olevariant

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

//---------------------------读数据到olevariant

//pfileName:带路径的文件名

function Getobj(pfileName:string): OleVariant;

var fs:TFileStream;

begin

fs := TFileStream.Create(pfileName,fmOpenRead);

try

result := VarArrayCreate([0,fs.size-1],varbyte);

fs.position := 0;

fs.readbuffer(varArrayLock(result)^, fs.size);

finally

fs.free;

varArrayunlock(result);

end;

end;

//---------------------------从 olevariant 写到新文件

function writeFileFromOle(pfileName:string;pOleVariant:OleVariant):integer;

var fs:TFileStream;

begin

result:=0;

fs := TFileStream.Create(pfileName,fmCreate);

try

try

fs.WriteBuffer(varArrayLock(pOleVariant)^, VarArrayHighBound(pOleVariant,1)+1);

except

result:=-1;

end;

finally

fs.free;

varArrayunlock(pOleVariant);

end;

end;

------------------------------ 函数说明:

//取得数组A的第Dim维的长度

function VarArrayHighBound(const A: Variant; Dim: Integer): Integer;

//创建数组

function VarArrayCreate(const Bounds: array of Integer; VarType: Integer): Variant;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航