Zitat von
SirThornberry:
ich würde an den Anfang der Datei die Dimensionen schreiben und dahinter dann die ganzen Daten am Stück (per TStream).
Es ist sicherlich sinnvoll, einen Header mit den Dimensionen an den Anfang der Datei zu schreiben. Man sollte aber auf keinen Fall den kompletten Inhalt des Arrays als
einen Datenblock speichern, weil nicht alle Daten sequentiell im Speicher abgelegt sein müssen. Also bleibt nur die folgende Möglichkeit:
Delphi-Quellcode:
Size := Length(Check[0, 0]) * SizeOf(Word);
for i := 0 to High(Check) do
for j := 0 to High(Check[i]) do
Stream.Write (Check[i, j, 0], Size);
Eventuelle Sonderfälle (Array nicht oder nicht vollständig initialisiert) sollte man natürlich noch abfangen. Der Code gilt auch nur dann, wenn alle Vektoren innerhalb einer Dimension exakt gleich lang sind. Anderfalls wird es komplizierter...
Gruß Hawkeye