![]() |
Re: Record ist nicht vollständig definiert
zum Beispiel so:
Delphi-Quellcode:
Eine Insert-Methode etc. hinzuzufügen dürfte nicht das Problem sein.
type
TDPTreeItems = class(TObject) private fChilds : TList; fNodeName: String; function GetItem(AIndex: Integer): TDPTreeItems; public constructor Create(); destructor Destroy(); override; function Add(): Integer; function Count(): Integer; procedure Clear(); procedure Delete(AIndex: Integer); property Childs[AIndex: Integer]: TDPTreeItems read GetItem; property NodeName: String read fNodeName write fNodeName; end; [...] function TDPTreeItems.Add: Integer; var lItem : TDPTreeItems; begin lItem := TDPTreeItems.Create(); result := fChilds.Add(lItem); end; procedure TDPTreeItems.Clear; var lCount : Integer; begin for lCount := Count - 1 downto 0 do TObject(Childs[lCount]).Free; fChilds.Clear; end; function TDPTreeItems.Count: Integer; begin result := fChilds.Count; end; constructor TDPTreeItems.Create; begin inherited Create; fChilds := TList.Create; end; procedure TDPTreeItems.Delete(AIndex: Integer); begin Childs[AIndex].Free; fChilds.Delete(AIndex); end; destructor TDPTreeItems.Destroy; begin Clear(); fChilds.Free; inherited Destroy; end; function TDPTreeItems.GetItem(AIndex: Integer): TDPTreeItems; begin result := TDPTreeItems(fChilds.Items[AIndex]); end; Vorteil: Wenn du zum setzen von "NodeName" eine SetMethode hinterlegst kannst du noch sicherstellen das es kein anderes Node mit gleichem Namen gibt etc. |
Re: Record ist nicht vollständig definiert
Danke für das Beispiel.
Ich werd dann morgen versuchen es einzubauen. |
Re: Record ist nicht vollständig definiert
Zitat:
|
Re: Record ist nicht vollständig definiert
ist eigentlich grundwissen der objectorientierten Programmierung.
|
Re: Record ist nicht vollständig definiert
Imho nein. Dort steht schon die dpCollection, und, naja, wie man mit Listen arbeitet, Bäume usw sollte schon etwas sein, was jeder ohne nachzuschlagen beherrscht. Zumindest sehe ich das so ;)
|
Re: Record ist nicht vollständig definiert
Zitat:
Zitat:
Mag schon sein, dass man die dpCollection hierfür nutzen kann, nur stehen in der CodeLibrary nicht auch Dinge drin, um den Anfänger/Fortgeschrittenen/Profi auf den richtigen Weg zu bringen? Geht es in der CodeLibrary nicht auch um grundlegende Dinge? War aber auch nur ein Vorschlag. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 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