Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Dynamisches Array speichern und einlesen

  Alt 3. Jan 2005, 16:19
OK, dann halt mit Codebeispielen:

So deklarierst du dein Array:
a: Array[0..0] of Array[0..0] of Integer; Mittels Delphi-Referenz durchsuchenGetMem reservierst du für dieses Array dann Speicher. Wenn du es vergrößern willst, reservierst du neuen Speicher in der entsprechenden Größe, verschiebst alle Daten in diesen Speicherbereich und gibts den alten via Delphi-Referenz durchsuchenFreeMem frei. Letztendlich hast du so die Speicherverwaltung eines dynamischen Arrays nachgebaut.

Aber: Wenn du ohnehin weißt, dass du ein Array eines Array hast (das ist nicht ganz ein zweidimensionales Array), dann kannst du dir den ganzen Stress sparen, indem du einfach mit einer for-Schleife jedes einzelne Unter-Array speicherst.
Ich will mal gnädig sein

Delphi-Quellcode:
var
  a: Array of Array of Integer;
  fs: TFileStream;
  i: Integer;

//...
  for i := Low(a) to High(a) do
    fs.write(a[i][0], Length(a[i]) * SizeOf(Integer));
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat