![]() |
Re: Dynamisches Array speichern und einlesen
Ist hier die Länge 255 als zweiter Write-Parameter verpflichtend?
(Hab ich mal gehört)! :-D |
Re: Dynamisches Array speichern und einlesen
Moin Francis,
nein, die Länge kannst Du nach Bedarf angeben. Ein ShortString hat eine maximle Länge von 255 Zeichen und enthält an der Stelle [0] ein Längenbyte. Jetzt aber bitte Back To Topic. |
Re: Dynamisches Array speichern und einlesen
Zitat:
Einen Vorschlag hätt ich allerdings: Benutz statische Arrays, schalte die Bereichsüberprüfung ab und verwalte den Speicher selbst. Dann kannst du ganz leicht streamen, da statische Arrays einen zusammenhängenden Speicherblock einnehmen. |
Re: Dynamisches Array speichern und einlesen
Wie jetzt?
Ich brauche aber dyn. Arrays. Das heißt ich müßte die Werte des Arrays einzeln in ne Datei schreiben und wieder auslesen? Das ist aber umständliche. Geht das wenn ich es ohne Streams sondern mit Asign und writeln mache? MaWi3.2 |
Re: Dynamisches Array speichern und einlesen
OK, dann halt mit Codebeispielen:
So deklarierst du dein Array:
Delphi-Quellcode:
Mittels
a: Array[0..0] of Array[0..0] of Integer;
![]() ![]() 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)); |
Re: Dynamisches Array speichern und einlesen
Supi. Dank Dir jetzt hab auch ich es verstanden und es funktioniert auch.
Danke für Deine Mühe und Geduld. |
Re: Dynamisches Array speichern und einlesen
Zitat:
addr := y * maxAnzahlX + x wäre zB. eine zweidimensionale addresierung, die hier leider versagt, da der kompiler ja nicht wissen kann, das man hier ein dynamisches array faken will. Aber mit einer dimension funktioniert dieser trick prima und kann in speziellen fällen sinnvoll sein! |
Re: Dynamisches Array speichern und einlesen
Hm, maximov ich fürchte du hast Recht :?
Das hab ich nicht bedacht. Man müsste noch eine Möglichkeit finden, dem Programm zur Laufzeut die Größe einer Dimension mitzuteilen. Aber das wäre zuviel des Gefrickels ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz