//---------------------------讀數(shù)據(jù)到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 寫(xiě)到新文件
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;
------------------------------ 函數(shù)說(shuō)明:
//取得數(shù)組A的第Dim維的長(zhǎng)度
function VarArrayHighBound(const A: Variant; Dim: Integer): Integer;
//創(chuàng)建數(shù)組
function VarArrayCreate(const Bounds: array of Integer; VarType: Integer): Variant;
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注