Also ich würde das über eine Klasse machen
Delphi-Quellcode:
type
TEigenschaft = class
FBezeichnung: String;
FWert: String;
procedure SetBezeichnung(const Value: String);
procedure SetWert(const Value: String);
published
property Bezeichnung: String read FBezeichnung write SetBezeichnung;
property Wert: String read FName write SetWert;
end;
type
TEigenschaftenListe = class(TObjectList)
protected
function getItem(index: Integer): TEigenschaft ; virtual;
procedure setItem(index: Integer; Eigenschaft : TEigenschaft ); virtual;
public
function Add(Eigenschaft : TEigenschaft ): Integer; virtual;
function Remove(Eigenschaft : TEigenschaft ): Integer; virtual;
function IndexOf(Eigenschaft : TEigenschaft ): Integer; virtual;
procedure Insert(index: Integer; Eigenschaft : TEigenschaft ); virtual;
function First: TEigenschaft ; virtual;
function Last: TEigenschaft ; virtual;
property Items[index: Integer]: TEigenschaft read getItem write setItem; default;
end;
Type
TPerson = class
FName: String;
FEigenschaften: TEigenschaftenListe
end;
So kannst du prima auf die Eigenschaften einer Person zugreifen. Für die Personen legst du dir auch noch ein ObjectList an. Und für die Ausgabe an z.b. ein Memo kann du prima dir den Rückgabestring über ein Funktion der Klasse zusammenstricken lassen.
Das oben ist so aus dem Kopf geschrieben, kann also fehler beinhalten.