![]() |
Dynamische Arrays öffnen
Hi Leuz!
Ich brauch mal wieder eure Hilfe. Und zwar habe ich bei DSDT unter Tipps & Tricks eine Anleitung gefunden, wie ich dynamische Arrays speicher. Leider gab es keinen Hinweis dazu, wie ich diese wieder öffne! Evil :?: Könnte mir das mal bitte jemand erklären :evil: |
Re: Dynamische Arrays öffnen
Dafür müsste man vorher wissen wie Du sie gespeichert hast ;-)
|
Re: Dynamische Arrays öffnen
Nach genau
![]() |
Re: Dynamische Arrays öffnen
Zitat:
Als erstes liest Du die Datei wieder in den Stram (nicht fmCreat sondern fmOpenRead). Dann setzt Du die Länge des Arrays auf stream.size DIV Größe pro Eintrag (f.size DIV SizeOf(integer). Jetzt nur doch die Daten in einer Schleife aus dem Stream in das Array lesen. |
Re: Dynamische Arrays öffnen
anzumerken ist das man bei dem Beispiel auch auf die schleife verzichten kann und das gesamte Array in einem Rutsch schreiben kann (da es ein dynamisches Array ist, muss dies wie bei Strings geschehen - dereferenzieren des Arraypointers (Array[0]))
|
Re: Dynamische Arrays öffnen
So ähnlich öffnest du es auch wieder.
Allerdings solltest du noch mit abspeichern ie groß dein array ist, zb so:
Delphi-Quellcode:
mit
length:=high(a);
f.write(length, SizeOf(length));
Delphi-Quellcode:
öffnest du die datei,
f := TFileStream.Create('c:\test.dat', fmOpenRead);
mit
Delphi-Quellcode:
liest du(wenn du die größe des arrays am anfang gespeicert hast) die größe aus
f.Read(length, SizeOf(length));
und mit
Delphi-Quellcode:
liest du die datei aus
f.read(Array[i], SizeOf(Array[i])
Den rest(in eine for-schleife packen...) darfst du (aufgrund meiner unendlichen Güte :P ) selbst machen €dit: funzt der rote kasten nich mehr? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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