Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - TStrings oder was?


schitho - Fr 12.09.03 22:15
Titel: TStrings oder was?
Hi,

TStrings ist gut geeignet, um Strings in Listen zu speichern (no-na-net).

Was aber wenn ich zusätzlich zu jedem String eine weitere Info speichern möchte.

Kann ich da nur mehrdimensionale Arrays verwenden?

Wenn ja: Wie lösche ich einzelne Arrays heraus, ohne dass eine Lücke entsteht (ähnlich wie bei TStrings mittels Delete)?

Thanx

lg
Thomas


Brueggendiek - Fr 12.09.03 22:29

Hallo Thomas!

Zunächst einmal nehmen wir nicht TStrings, sondern TStringList, denn TStrings ist eine abstrakte Basisklasse, die man nicht direkt benutzen soll. Man leitet eigene Klassen davon ab oder benutzt eine der vorhandenen Ableitungen. Weiteres in der OH.

Außerdem kannst Du Dir ja mal ansehen, was das Property "Objects" von TStringList bedeutet - vielleicht ist das ja für Deine Zwecke geeignet.

Unter Umständen kann auch das Ergänzen des Strings um einige (z.B. festformatierte) String-Werte ('+' und '-' bei Boolean, mit Formatierungen ausgegebene Zahlen etc.) helfen.
'000000123;C:\TEST.dat' könnte z.B. der Eintrag einer Dateiliste sein, die Datei heißt "C:\TEST.dat" und ist 123 Bytes groß. Bei identischer Zahlenlänge und sortierter Speicherung könnte dann sogar ein nach Dateigrößen sortiertes Verzeichnis entstehen.

Aus Arrays kann man keine einzelnen Einträge löschen. Man muß entweder ein "Gelöscht"-Flag zufügen oder das ganze Array verschieben.

Gruß

Dietmar Brüggendiek