![]() |
Array aus TFileStream auslesen?
Hallo,
ich habe ein dynamisches Array, welches ich zur Laufzeit in ein TFileStream speicher:
Delphi-Quellcode:
Beim Neustart des Programms, soll aus diesem TFileStream das Array wieder ausgelesen werden.
FS.Write(Zutaten, sizeOF(Zutaten));
Delphi-Quellcode:
FS.Read(Zutaten, sizeOF(Zutaten));
Leider funktioniert das nicht. Ich bekomme keine Fehlermeldung, jedoch ist das Array nach dem auslesen aus der Datei leer. Was habe ich falsch gemacht? Geht das überhaupt so? Vielen Dank! |
Re: Array aus TFileStream auslesen?
Das SizeOf beim Laden wird dir eine andere Größe liefern als beim Speichern. Speichere die Größe mit ab
|
Re: Array aus TFileStream auslesen?
Hi mo_greene,
Zitat:
Vergiss nicht die Größe des Arrays auch in der Datei abzuspeichern damit du nachher weißt wie viel du einlesen kannst ;) Gruß Neutral General |
Re: Array aus TFileStream auslesen?
Super vielen Dank für die Antwort.
Kann ich die Daten aus meinem Array in die gleiche Datei speichern, in die auch meine anderen Daten aus div. Variablen gespeichert werden? |
Re: Array aus TFileStream auslesen?
Warum nicht?
|
Re: Array aus TFileStream auslesen?
Ok super.
Zitat:
Danke :) |
Re: Array aus TFileStream auslesen?
Delphi-Quellcode:
FS.Write ( Length( Zutaten);
for i := 0 to Length( Zutaten) do begin FS.Write( Zutaten[i], SizeOf( TZutaten)); end; |
Re: Array aus TFileStream auslesen?
Hi,
Naja du weißt doch wie man auf einzelne Elemente des Arrays zugreift. In einer Schleife geht das so:
Delphi-Quellcode:
Die größe des Arrays erhälst du mit
for i:= 0 to High(Array) do
// Etwas mit Array[i] tun
Delphi-Quellcode:
@mkinzler: Sagmal hast du so ne Taste auf der Tastatur die automatisch richtig auf alle aktuellen Threads in der DP antwortet ? :roll:
Length(Array);
Ha! Von wegen richtig. Hast ne Klammer vergessen und es muss von 0 bis High(Array) gehn und nicht bis Length(Array) :P :mrgreen: Gruß Neutral General |
Re: Array aus TFileStream auslesen?
Ok die Klammer hab ich verschlammpt.
Aber bei dynamischen Arrays (welchen immer bei 0 beginnen) sollte High(), das selbe wie Length() ergeben. |
Re: Array aus TFileStream auslesen?
Probiers aus ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 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