Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: [TStringList] Problem mit einer Datei (Lädt nicht)

  Alt 27. Okt 2006, 13:47
Hallo Fabian,

deine Datei Map1.f2m enthält 48 Datensätze mit jeweils 14 Zeichen. Der Inhalt der Datensätze ist binär, aber die letzten beiden Zeichen cr/lf lassen mich vermuten, dass du die Zeilen mit WriteLn() weggeschrieben hast. Das scheint mir in zweierlei Hinsicht nicht optimal zu sein. Warum mit WriteLn() schreiben, wenn du die Daten mit ReadLn() nicht zuverlässig wieder einlessen kannst? Außerdem musst du dein array doch gar nicht zerpflücken um es zu Speichern und wieder zu Laden:

Delphi-Quellcode:
type
  TMatrix = packed array [1..48, 1..12] of Byte;

procedure SaveMatrix(m: TMatrix; fn: TFileName);
begin
  with TFileStream.Create(fn, fmCreate) do
  try
    Write(m, SizeOf(m));
  finally
    Free;
  end;
end;

procedure LoadMatrix(var m: TMatrix; fn: TFileName);
begin
  with TFileStream.Create(fn, fmOpenRead or fmShareDenyWrite) do
  try
    Read(m, SizeOf(m));
  finally
    Free;
  end;
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat