我把一个二进制文件读入内存后,怎么才能转换到VARIANT类型?因为二进制文件中有0x00值,能不能用VarDataFromOleStr之类的函数吧
解决方案 »
- delphi中ntohl函数如何调用?
- 如何在Delphi中调用多个IE窗口实例访问不同的网页?
- intraweb中如何使delphi取得自定义javascript函数的返回值??????
- 这句insert语句该怎么写??
- 急! ! ! !急! ! ! !急! ! ! !使文档里的内容显示到RichEdit里.
- 终止线程的问题;不会也来看看了;
- Ado问题
- FastReport 中判断Memo 的值
- 一个简单的问题,怎样把一张符合条件的表1的记录插入到另一张表2中,表2名称不能确定 (急,谢谢)
- 显示桌面即最小化所有窗口的api函数是什么呢,请执教
- 如何可以使image控件显示大容量图片速度快些?哪位大虾帮帮我?谢谢!
- 如何让一个类只能被实例化一次?
out Data: OleVariant; out Size: Integer);
var
SearchRec: TSearchRec;
S: TStream;
p: Pointer;
FileName: String;
begin
Size := 0;
FileName := DModule.SystemPath + AccessPath + AccesName;
// 在系统二进制文件目录查找文件,成功将结果记录到SearchRec中
if FindFirst(FileName, faAnyFile, SearchRec) = 0 then
begin
Size := SearchRec.Size; // 取文件长度,打开文件供读
S := TFileStream.Create(FileName, fmOpenRead);
try
Data := VarArrayCreate([0, Size], VarByte); // 建立单字节的动态数组
p := VarArrayLock(Data);
try
S.Read(p^, Size); // 读文件
finally
VarArrayUnLock(Data);
end;
finally
S.Free;
end;
end;
end;