Hallo,
bin gerade dabei eine "baumartige" Struktur (3 Ebenen) aus Objekten aufzubauen.
Im Prinzip wie eine TTreeView-Struktur - nur eben mit Objekten.
Einen ersten Ansatz habe ich hier
http://www.delphipraxis.net/768187-post12.html bei Angos (s. Quellcode unten) gefunden.
Delphi-Quellcode:
type
TMyObject = class(TObject)
private
FNAme: String;
public
property Name: String read FName write FName;
end;
type
TMyObjectList = class(TObjectList)
private
function GetItem(ndx: Integer): TMyObject;
procedure SetItem(ndx: Integer; AValue: TMyObject);
public
property items[ndx: Integer]:TMyObject read GetItem write SetItem;
end;
implementation
function TMyObjectList.GetItem(ndx: Integer): TMyObject;
begin
Result := TMyObject(inherited items[ndx]);
end;
procedure TMyObjectList.SetItem(ndx: Integer; AValue: TMyObject);
begin
items[ndx] := AValue;
end;
Erste Frage:
Sehe ich den Wald vor Bäumen nicht und in Delphi 2007 gibt es bereits eine "fertige" Lösung (TTreeView??)?
Zweite Frage:
Kann ich einfach den Ansatz von oben erweiten?
Etwa so:
Delphi-Quellcode:
type
TMyObject = class(TObject)
private
FNAme: String;
public
property Name: String read FName write FName;
end;
type
TMyObjectList1 = class(TObjectList)
private
function GetItem(ndx: Integer): TMyObject;
procedure SetItem(ndx: Integer; AValue: TMyObject);
public
property items[ndx: Integer]:TMyObject read GetItem write SetItem;
end;
type
TMyObjectList2 = class(TObjectList)
private
function GetItem(ndx: Integer): TMyObjectList1;
procedure SetItem(ndx: Integer; AValue: TMyObjectList1);
public
property items[ndx: Integer]:TMyObjectList1 read GetItem write SetItem;
end;
implementation
Danke für Eure Hilfe...