webForumDet fria alternativet

Binära filer

3 svar · 221 visningar · startad av Alpha II

Alpha IIMedlem sedan maj 20002 993 inlägg
#1

Jag skulle vilja spara en array av en egen record binärt. Hur gör man det?

Alpha IIMedlem sedan maj 20002 993 inlägg
#2

Kom igen nu!! Jag måste få reda på hur man gör

jtMedlem sedan juni 2000350 inlägg
#3

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;

Alpha IIMedlem sedan maj 20002 993 inlägg
#4

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;
125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)