文件与Olevariant

博客给出了两个关键函数,Getobj函数用于将数据读入OleVariant,writeFileFromOle函数用于将OleVariant数据写入新文件,还介绍了获取数组指定维长度和创建数组的函数,均为信息技术领域的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值