二进制文件的写入与读出(50分)

  • 主题发起人 七度时空
  • 开始时间

七度时空

Unregistered / Unconfirmed
GUEST, unregistred user!
问题:有一个数组d[]变量保存到二进制文件“a.bin”;然后再从“a.bin”二进制文件读出,放到数组s[]中,如下。
var
i:integer;
d,s:array of double;
begin
setLength(d,10);setLength(s,10);
...
d[0]:=34.3;d[1]:=42.8;d[2]:=69.5;.....d[9]:=88.6;

//for i:=0 to 9 do
s[0]:=34.3;s[1]:=42.8;s[2]:=69.5;.....s[9]:=88.6;
end;
用一个循环就可以读出;再用一个循环就放到另外一个数组。
 
请参考:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1224313
http://www.delphibbs.com/delphibbs/dispq.asp?lid=560902
 
procedure TForm1.Button1Click(Sender: TObject);
var
fs:TFileStream;
d:array of double;
begin
SetLength(d,10);
d[0]:=34.3;
d[1]:=42.8;
d[2]:=69.5;
d[3]:=79.1;
d[4]:=24.3;
d[5]:=32.8;
d[6]:=49.5;
d[7]:=59.1;
d[8]:=39.1;
d[9]:=88.6;

fs:=TFileStream.Create('c:/a.bin',fmCreate);
try
fs.WriteBuffer(d[0],sizeof(double)*10);
finally
fs.Free;
end;

d:=nil;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
fs:TFileStream;
i:integer;
s,d:array of double;
begin
SetLength(d,10);
SetLength(s,10);

fs:=TFileStream.Create('c:/a.bin',fmOpenRead);
try
fs.ReadBuffer(d[0],sizeof(double)*10);
finally
fs.Free;
end;

Move(d[0],s[0],sizeof(double)*10);

for i:=0 to 9 do
showmessage(floattostr(s));

d:=nil;
s:=nil;
end;
 
就是我要的,谢谢!
 

Similar threads

回复
0
查看
671
不得闲
回复
0
查看
864
不得闲
S
回复
0
查看
958
SUNSTONE的Delphi笔记
S
S
回复
0
查看
779
SUNSTONE的Delphi笔记
S
S
回复
0
查看
747
SUNSTONE的Delphi笔记
S
顶部