Hvis jeg sletter Fil2 skal mappe1 naturligvis ikke slettes da denne stadig har Mappe2, og herunder Fil3. Men sletter jeg Fil3 skal både mappe2 og mappe1 slettes, da vi jo lige slettede Fil2.
Dette er en skitse, strukturen er 100% variabel, så koden skal naturligvis være dynamisk.
Er det ikke bare at lave en søge funktion der ser om der findes filer (Childeren navngivet noget med 'Fil') i nogen af mapperne og dernæst slette dem, hvis de altså er tomme for filer?
jeg ved de er mapper, da de jo har en child, indtil det øjeblik childen bliver slettet, og så kan man jo egenlig godt sige det ikke er en mappe mere, og derfor skal den også slettes. en anden ting jeg ved på at det er en mappe, er at den er created med en anden ImageIndex, og det er sådan set også det eneste der skilder filer og mapper ad.
var I: Integer; SelNode, ParentNode: TTreeNode; begin if TreeView1.Selected = nil then Exit; SelNode := TreeView1.Selected; if SelNode.HasChildren then Exit;
ParentNode := SelNode.Parent; SelNode.Delete;
if ParentNode.Count = 0 then begin repeat ShowMessage(ParentNode.Text); SelNode := ParentNode; ParentNode := SelNode.Parent; SelNode.Delete; until (ParentNode.Count > 0) or (ParentNode.Level = 0) end;
har jeg overset noget? det lader nemlig til at virke
var I: Integer; SelNode, ParentNode: TTreeNode; begin if TreeView1.Selected = nil then Exit; SelNode := TreeView1.Selected; if SelNode.HasChildren then Exit;
ParentNode := SelNode.Parent; SelNode.Delete;
if ParentNode.Count = 0 then begin repeat if ParentNode.Level = 0 then Exit; SelNode := ParentNode; ParentNode := SelNode.Parent; SelNode.Delete; until (ParentNode.Count > 0) end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.