![]() |
Re: Array aus TFileStream auslesen?
Müsste Length nicht um 1 größer sein als High?
|
Re: Array aus TFileStream auslesen?
Stimmt, das hab ich auch verschlammpert :oops:
|
Re: Array aus TFileStream auslesen?
Wäre es dann so richtig?
Delphi-Quellcode:
Vielen Dank nochmal :)
for i := 0 to High(Zutaten) do
begin FS.Write(Zutaten[i], sizeOF(Zutaten)); end; |
Re: Array aus TFileStream auslesen?
Nein, das muss SizeOf(Zutaten[i]) oder SizeOf(Basistyp) sein.
|
Re: Array aus TFileStream auslesen?
Also folglich:
Delphi-Quellcode:
Danke :)
for i := 0 to High(Zutaten) do
begin FS.Write(Zutaten[i], sizeOF(Zutaten[i])); end; |
Re: Array aus TFileStream auslesen?
Leider erhalte ich mit folgender Syntax:
Delphi-Quellcode:
folgedes in der .dat Datei:
for i := 0 to High(Zutaten) do
begin FS.Write(Zutaten, sizeOF(Zutaten[i])); end; ¨L¸¨L¸¨L¸¨L¸¨L¸¨L¸¨L¸¨L¸¨L¸¨L Dies soll den Inhalt in dem Array darstellen. Das kann doch nicht richtig sein, oder wird das so abgespeichert? |
Re: Array aus TFileStream auslesen?
Zeig mal die Definition von dem Zutaten-Record.
Es muss ein packed record sein und es dürfen keine Strings enthalten sein, höchstens Shortstrings! |
Re: Array aus TFileStream auslesen?
Was steht den in Zutaten drin/wie ist der Typ deklariert?
|
Re: Array aus TFileStream auslesen?
Hi,
du musst schon das entsprechende Element speichern.
Delphi-Quellcode:
Oder gleich so:
for i := Low(Zutaten) to High(Zutaten) do
begin FS.Write(Zutaten[i], sizeOF(Zutaten[i])); //das [i] fehlte! end;
Delphi-Quellcode:
Dann werden alle Elemente in einem Rutsch gespeichert.
FS.Write(Zutaten[Low(Zutaten)], Length(Zutaten) * SizeOf(Zutaten[Low(Zutaten)]));
Mfg FAlter |
Re: Array aus TFileStream auslesen?
Wenn der Basistyp allerdings eine unhandliche Größe hat, wird zu viel gespeichert - dennoch ist FAlters Lösung zu bevorzugen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 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