非常急的问题,关于读文件(200分)

W

wishme2

Unregistered / Unconfirmed
GUEST, unregistred user!
读取一个二进制文件,把它转成ASCII文件,文件格式是:
从101个字节开始读,接下去四个字节一组,一直循环到尾,该
怎么读?

例:“这是一个说明。。。。”//分给101个字节
接下去:100 2034101 3456 //开始100,长度2034,开始101,长度3456

实际上该文件是前101个字节是说明,从101开始是一个数字,标识
一个开始位置,分配四个字节,接下去(104位置)也是一个数字,
标识一个长度,然后重复,又开始一个位置,接下去又是长度

 
用filestream,可以定位,读BUF也可以定长度
 
二进制文件是什么格式, 文本文件是什么格式? 没说清楚么!
 
procedure TForm1.Button1Click(Sender: TObject);
var fsCurrentFile :TFileStream;
buffers :array[1..4] of byte;
iFlen :integer;
begin
fsCurrentFile :=TFileStream.Create(edtFileName.Text,fmOpenRead);
fsCurrentFile.Seek(100,soFromBeginning); //是从0开始计数的
iFlen :=fsCurrentFile.Size;
while fsCurrentFile.Position < iFlen do
begin
fsCurrentFile.ReadBuffer(buffers,4);
//buffers 就是你想要的东东了 将它转换了即可
end;
end;
这是方法,要详细此则要你给足足够的说明了
 
定义一个记录(假如是或者可以定义成记录的话)
然后直接指定变量应该很容易读的啊.
 
顶部