Ich möchte in einem Programm ein statisches 2D Array abspeichern und es später wieder auslesen können. Ich habe es mit einem Stream versucht.
zum speichern:
Code: Alles auswählen
procedure TEditor.btnsaveClick(Sender: TObject);
var
Fstream: TFileStream;
i,j:Integer;
begin
if SaveDialog1.Execute then
begin
Fstream := TFileStream.Create(SaveDialog1.FileName, fmCreate);
try
for i := 1 to 480 do
begin for j := 1 to 320 do
begin
Fstream.Write(Feld[i,j].Groundtyp,SizeOf(Feld));
end;
end;
finally
Fstream.Free;
end;
ShowMessage('saved!');
end;
end;
Code: Alles auswählen
procedure TEditor.btnOpenClick(Sender: TObject);
var
Fstream: TFileStream;
i,j:Integer;
begin
if OpenDialog1.Execute then
begin
Fstream := TFileStream.Create(OpenDialog1.FileName , fmOpenRead);
try
for i := 1 to 480 do
begin for j := 1 to 320 do
begin
FStream.Read(Feld[i,j].Groundtyp, SizeOf(Feld));
Feld[i,j].AEnderung:=true;
end;
end;
finally
FStream.Free;
end;
end;
draw;
end;
Gibt es eine Möglichkeit das Array anders/effektiver zu speichern?
Danke im Voraus