Thema: Delphi speicherproblem

Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: speicherproblem

  Alt 21. Dez 2006, 19:30
--
ich habs hier mal mit nem filestream
--

was für daten hast du im array?

Zum Speichern von strings zum Beispiel:

Delphi-Quellcode:
FS := TFileStream.Create('file.txt',fsCreate or fsWrite);

for i := 0 to high(array) do
begin
  FS.Write(high(array[i])+1); // länge des arrays, kann dann leichter eingelesen werden
  for k := 0 to high(array[i]) do
  begin
    size := length(array[i]); // bzw. SizeOf(array[i]) //länge des strings
    FS.Write(size, SizeOf(size));
    FS.Write(array[i],size);
  end;
end;

FS.Free;
Eventuell solltest du da noch Hier im Forum suchenRessourcenschutzblöcke drumtun. Feste Datentypen zu speichern, geht sehr viel leichter:

Delphi-Quellcode:
FS := TFileStream.Create('file.txt',fsCreate or fsWrite);

for i := 0 to high(array) do
begin
  FS.Write(high(array[i])+1); // länge des arrays, kann dann leichter eingelesen werden
  FS.Write(array[i],high((array[i]+1)*SizeOf(array[i,0]));
end;

FS.Free;
Dann wird einfach der komplette Unterarray genommen und geschrieben.

Das Laden geht dann analog:

- länge auslesen (FS.read)
- array per setlength() auf länge bringen
- FS.read(array[i,0],size*SizeOf(array[i,0]))
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat