通过文件流读取 var F:Tfilestream;//声明一个文件流 begin F:=Tfilestream.Create(filename,Fmopenread or FmShareDenyNone); //创建文件流实例,filename是你要读取的文件的路径,Fmopenread or FmShareDenyNone是赋给只读属性和共享属性 F.Seek(offset,sofrombeginning); //定位指针倒你要读取二进制文件的偏移地址。 F.Read(buffer,S); //读取 buffser为一个缓冲区,S为你读取数据大小,就是从指针所处的位置开始算。
我这里只是简单的写了一下,你自己声明这些变量吧。
F:Tfilestream;//声明一个文件流 用完了别忘了释放。
var fileName:String; Cnt,i,j:Integer; MemStream:TMemoryStream; temp:Array of byte; begin if OpenDialog1.Execute then begin Edit1.Text:=OpenDialog1.FileName; MemStream:=TMemoryStream.Create; MemStream.LoadFromFile(OpenDialog1.FileName); Cnt:=MemStream.Size; MemStream.Position:=0; SetLength(temp,Cnt); MemStream.ReadBuffer(Pointer(temp)^,Cnt); MemStream.free; end; 这个temp估计就是你想要的结果了
var
F: File;
Num: Integer;
begin
AssignFile(F, 'd:\11.dat');
Reset(f, 1); Seek(F, 1000);
BlockRead(F, Num, SizeOf(Num)); CloseFile(F);
end;
F: File;
Num: Integer;
begin
AssignFile(F, 'd:\11.dat ');
Reset(f, 1); Seek(F, 1000); //这个是什么意思啊~
BlockRead(F, Num, SizeOf(Num)); //这个是什么意思啊~ CloseFile(F);
end;
F: File;
Num: Integer;
begin
AssignFile(F, 'd:\11.dat ');
Reset(f, 1); Seek(F, 1000); //这个是什么意思啊~
BlockRead(F, Num, SizeOf(Num)); //这个是什么意思啊~ CloseFile(F);
end; 楼上的大大能否解释下??本人比较笨,我就会用普通变量。。其他形式的就不大会鸟比如 abd:=什么什么的形式~
var
F:Tfilestream;//声明一个文件流
begin
F:=Tfilestream.Create(filename,Fmopenread or FmShareDenyNone); //创建文件流实例,filename是你要读取的文件的路径,Fmopenread or FmShareDenyNone是赋给只读属性和共享属性
F.Seek(offset,sofrombeginning); //定位指针倒你要读取二进制文件的偏移地址。
F.Read(buffer,S); //读取 buffser为一个缓冲区,S为你读取数据大小,就是从指针所处的位置开始算。
我这里只是简单的写了一下,你自己声明这些变量吧。
用完了别忘了释放。
fileName:String;
Cnt,i,j:Integer;
MemStream:TMemoryStream;
temp:Array of byte;
begin
if OpenDialog1.Execute then
begin
Edit1.Text:=OpenDialog1.FileName;
MemStream:=TMemoryStream.Create;
MemStream.LoadFromFile(OpenDialog1.FileName);
Cnt:=MemStream.Size;
MemStream.Position:=0;
SetLength(temp,Cnt);
MemStream.ReadBuffer(Pointer(temp)^,Cnt);
MemStream.free;
end;
这个temp估计就是你想要的结果了