Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: VirtualStringTree bringt mich zur Weißglut. Baum anhand von Datei erstellen

  Alt 10. Feb 2019, 12:17
Du solltest dir das Thema Rekursion einmal anschauen. Damit kannst du dann Baumstrukturen aufbauen die (theoretisch) unendlich tief werden können. Du solltest eventuell auch mit dem Gedanken spielen, deine ganzen Verzeichnisse in Objekten und ObjectLists zu speichern.

Aus dem Kopf aufgeschrieben könnte das dann so aussehen (ungetestet):

Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender: TObject);
begin
  CreateNode(VirtualStringTree1, nil, Directories);
end;

procedure CreateNode(VST: TBaseVirtualTree; AParent: PVirtualNode; AData: TDirectoryData);
var
  Node: PVirtualNode;
  NodeData: PDirectoryData;
begin
  Node := VST.AddChild(AParent);
  NodeData := VST.GetNodeData(Node);
  NodeData^.YouProperty1 := AData.Property1Value;
  NodeData^.YouProperty2 := AData.Property2Value;

  for i := 0 to AData.SubDirectory.Count - 1 do begin
    CreateNode(Node, AData.SubDirectory[i]);
  end;
end;
  Mit Zitat antworten Zitat