直接把它当作无类型指针——整数
在借口定义中再将其强制转换为TFileStream 不知道行不行,我也!
解决方案 »
- 申请版主成功,谢谢大家
- 【转贴】多余的一句话,大家笑笑^_^
- 大家用什么做delphi6的安装包啊
- 高分求助!关于TPowersock的一段程序!!!请进来看看!!!
- ★★★★★delphi调用一个简单的oracle存储过程怎么不行??100分相送!!!!!★★★★★
- 怎样控制StringGrid某一个单元格的背景色?
- 请问:在按回车键的时候,怎么样才能让焦点从dbgrid一个的一个列里移到下一列里???
- 散分200:希望能找位Opengl高手切磋一下!
- 怎么减肥?
- Delphi10.2中CrystalReports2016水晶报表的使用方式
- 各位大侠帮忙看一下seek的问题好吗?
- 帖子上的汉字转拼音,转的字太少,有更好的吗? 谢!
function FileToVariant(FileName: String): OleVariant;
var
AStream: TFileStream;
MyBuffer: Pointer;
begin
AStream:=TFileStream.create(FileName,fmOpenRead);
try
aStream.Seek(0, soFromBeginning);
Result:=VarArraycreate([0, AStream.size-1], VarByte);
MyBuffer:=VarArrayLock(Result);
AStream.ReadBuffer(MyBuffer^, AStream.Size);
VarArrayUnlock(Result);
finally
AStream.Free;
end;
end;
procedure VariantToFile(FileName: String; var AVariant: OleVariant);
var
AStream: TFileStream;
MyBuffer: Pointer;
Size: Integer;
begin
AStream:=TFileStream.create(FileName,fmCreate);
try
aStream.Seek(0, soFromBeginning);
Size:=VarArrayHighBound(AVariant,1)+VarArrayLowBound(AVariant,1)+1;
MyBuffer:=VarArrayLock(AVariant);
AStream.WriteBuffer(MyBuffer^, Size);
VarArrayUnlock(AVariant);
finally
AStream.Free;
end;
end;
我在Borland网站也找到了类似的方法。
结帖。