文件与Olevariant

2008-04-09 04:24:58来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

//---------------------------读数据到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;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:TStringGrid多选的复制与拷贝

下一篇:关于时间函数