![]() |
Record mit StringList
Hallo,
ich hab grad eine Krise :-) Folgende Vorraussetzungen: Ich lese eine Ini-Datei aus und speichere die einzelnen Daten (Strings, Integers, etc.) in einem Record. Soweit so gut - nur muss ich jetzt eine Section als Liste auslesen. Diese Liste würde ich auch gerne in dem Record speichern. Also bräuchte ich so was ähnliches wie eine StringList in einem Record. Meine Überlegung war auch schon, aus dem Record eine Klasse zu machen und dort die Variablen, als auch die StringList als public-Variablen zu definieren (vielleicht auch als property) Oder gibt es vielleicht eine andere Möglichkeit? - Vielleicht auch eine um bei dem Record bleiben zu können? |
AW: Record mit StringList
Zitat:
Bei der Gelegenheit kannst du auch gleich das Laden und Speichern in die Klasse verlegen:
Delphi-Quellcode:
TAppSetting = class(TObject)
private FDieSection : TStrings; public constructor Create; destructor Destroy;override; procedure LoadFromIni(ini:TCustomIniFile); procedure SaveToIni(ini:TCustomIniFile); property DieSection:TStrings; end; |
AW: Record mit StringList
Man sollte das laden/speichern in einer separaten Klasse erledigen, denn der Datenklasse ist es ziemlich egal, ob sie aus einer INI-Datei kommt.
|
AW: Record mit StringList
Zitat:
Zitat:
|
AW: Record mit StringList
Nja, wenn das Lesen/Speichern unbedingt mit drinnen sein soll ... Records kennen auch Methoden. (seit D2006/TDE)
Beim Record wäre ein dynamisches Array besser, also wenn der Record/Delphi weiterhin seinen Speicher selber automatisch verwalten soll. Sobald ein Objekt (z.B. TList oder TStringList) ins spiel kommt, dann würde ich vom Record abraten und auf ein Datenobjekt umsteigen. |
AW: Record mit StringList
Zitat:
für diese Lösung hab ich mich nun auch entschieden. |
AW: Record mit StringList
Zitat:
Falls geplant ist, die Daten später aus einer Datenbank, XML- oder JSON-Datei zu laden, sind eigene Persistenzklassen natürlich vorteilhaft. Andererseits gibt es dann zwei Klassen wo vorher nur ein Record erwünscht war. Man muss auch bedenken, dass Delphi keine Garbage-Collection hat, so dass man deutlich mehr Code für die Datenklasse und die Persistenzklasse braucht. Es hat alles seine Vor- und Nachteile. Ich würde so beginnen, wie ich es oben vorgeschlagen habe. Sollte es dann notwendig werden die Daten aus einer anderen Quelle (XML,..) zu laden, sollte man je eine weitere Klasse für jede Art der Datenhaltung erstellen. |
AW: Record mit StringList
Daten als Record, Listen darin als dynamisches Array und das Laden/Speichern in je einen Record-Helper (da Records leider keine Vererbung kennen).
CommaText: Falls Kommas in den Texten vorkommen, oder man gernen einen anderen Separator hätte, dann Delimiter und DelimitedText. PS: StrictDelimiter nicht vergessen. |
AW: Record mit StringList
Zitat:
|
AW: Record mit StringList
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 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