Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datenstruktur speichern (https://www.delphipraxis.net/97965-datenstruktur-speichern.html)

Die Muhkuh 19. Aug 2007 23:37


Datenstruktur speichern
 
Hi,

kurzer Rohbau meiner Klassen:

Delphi-Quellcode:
TChannel = class(TObject)
private

public
  property TSubChannels: TChannellist;
end;

TChannelList = class(TObjectList)
private

public
  property Items[Index]: TChannel;
end;
Die Daten werden zum Anzeigen in ein TreeView ausgegeben:
Code:
|- Item
    | - UnterItem
|- Item 2
    | - UnterItem 2
Es gibt maximal ein nur eine Unterebene. Fakt ist jedoch, dass mal mehr, mal weniger, mal gar keine Childs (SubChannels) da sein müssen.

Diese Datenstruktur möchte ich nun abspeichern. Zuerst dachte ich an XML, dürfte sich damit machen lassen, aber ich dachte, dass ihr vielleicht noch andere Ideen habt.

Wie würdet ihr solch eine Datenstruktur abspeichern?

mirage228 19. Aug 2007 23:47

Re: Datenstruktur speichern
 
Hey,

könntest alles published machen und das dann mit nem XML-Serializer speichern...

mfG
mirage228

Die Muhkuh 19. Aug 2007 23:54

Re: Datenstruktur speichern
 
Und damit auch wieder laden?

bigg 20. Aug 2007 00:00

Re: Datenstruktur speichern
 
Da gibt es mehrere Möglichkeiten.

a) Man baut sich eine verkette Liste, dann kannst du sehr leicht Baumstrukuren abbilden, die beliebig tief sein können. (XML eigenet sich zur Speicherung dafür)
b) Du erzeugt ein RootItem und hängst eine Liste in dieses. (INI's eignen sich zur Speicherung dafür)
c) ...

Luckie 20. Aug 2007 06:37

Re: Datenstruktur speichern
 
Du darfst blos eins nicht machen und zwar die TTreeview.(Node)Items direkt speichern, denn das sind nur Zeiger auf einen Speicherbereich.

Muetze1 20. Aug 2007 06:57

Re: Datenstruktur speichern
 
Zitat:

Zitat von mirage228
könntest alles published machen und ...

Aber afair sind Array-Eigenschaften nicht published fähig. Da meckert doch schon der Compiler... :gruebel:

Die Muhkuh 20. Aug 2007 11:02

Re: Datenstruktur speichern
 
Guten Morgen,

Michael: Das TreeView an sich muss ich nicht abspeichern, das war nur ein Beispiel um zu zeigen, was ich mit der Datenstruktur anstelle.

Thomas: Das macht nichts, ich hab kein Array zum Abspeichern. Boolean, String, Integer und eben diese SubChannels.

Bigg: Beliebigtiefe Baumstrukturen hab ich nicht, sondern, wie im ersten Post erwähnt, Rootitems + Level 1-Childs.

mirage228 20. Aug 2007 11:10

Re: Datenstruktur speichern
 
Zitat:

Zitat von Muetze1
Aber afair sind Array-Eigenschaften nicht published fähig. Da meckert doch schon der Compiler... :gruebel:

Hm, habe ich jetzt nicht darauf geachtet. Sonst kann man ja immernoch TCollection und Konsorten nehmen, sollte auch gehen.

Laden geht mit einem Serializer dann natürlich auch (genauso wie Speichern auch *g*)

mfG
mirage228

Die Muhkuh 20. Aug 2007 11:49

Re: Datenstruktur speichern
 
Hi,

ich google gerade ein bisschen nach einem XML Serializer für Delphi. Man findet fast nur Delphi.NET Themen. Hat jemand gerade eine ordentliche Quelle zur Hand?

shmia 20. Aug 2007 12:24

Re: Datenstruktur speichern
 
Es käme da auch noch JSON in Frage.
Wenn man JSON mit dem Delphi-DFM-Format vergleicht, sind da grosse Ähnlichkeiten zu finden.
Es gibt auch Delphi-Units zur Verarbeitung von JSON.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.
Seite 1 von 2  1 2      

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