Kom igen nu!! Jag måste få reda på hur man gör
Frågan#1
Jag skulle vilja spara en array av en egen record binärt. Hur gör man det?
3 svar · 223 visningar · startad av Alpha II
Jag skulle vilja spara en array av en egen record binärt. Hur gör man det?
Kom igen nu!! Jag måste få reda på hur man gör
type
TArecord = record
TimeDate : TDateTime;
Name : string[20];
end;
TArecordFile = file of TArecord;
procedure Save;
var
Arecord : TArecord;
F: TArecordFile;
begin
System.Assign(F,'c:\Test.dat');
Rewrite(F);
with Arecord do begin
TimeDate := now;
Name := 'Pelle';
end;
system.Write(F, Arecord);
system.Close(F);
end;
procedure Open;
var
Arecord : TArecord;
F: TArecordFile;
begin
System.Assign(F,'c:\Test.dat');
Reset(F);
system.read(F, Arecord);
with Arecord do begin
Memo1.Lines.add(DateTimeToStr(TimeDate));
Memo1.Lines.add(Name);
end;
system.Close(F);
end;
Jag gjorde så här:
Map är en array med records
procedure TForm1.LoadMap(filename: string);
var
Stream : TFileStream;
begin
Stream := TFileStream.Create(filename, fmOpenRead);
try
Stream.ReadBuffer(Map, SizeOf(Map));
finally
Stream.Destroy;
end;
end;
procedure TForm1.SaveMap(filename: string);
var
Stream: TFileStream;
begin
Stream := TFileStream.Create(filename, fmCreate);
try
Stream.WriteBuffer(map, SizeOf(map));
finally
Stream.Destroy;
end;
end;