![]() |
Treeview
ich müsste in einer Treeview alle notes einzeln mit allen unterpunkte durchsuchen ob ein note bzw unterpunkt einen bestimmten text enthält.
Wenn nein, lösche das ganze note und gehe zum nächsten note. Wenn ja, gehe zum nächsten note i hab in 3 stunden urlaub und kann mich überhaupt nicht mehr konzentrieren also helfts mir bitte |
Re: Treeview
die dinger heißen "Node" und nicht "Note"
Delphi-Quellcode:
andere möglichkeit wäres wohl einfach durch die items zu loopen und dann den passenden node zu löschen
var
xNode: TTreeNode; begin xNode := TreeView1.GetFirst; while xNode <> nil do begin if xNode.Text = 'whatever' then TreeView1.Items.Delete(TreeView1.Items.IndexOf(xNode)) xNode := TreeView1.GetNext; // oder GetNextSibling end; end;
Delphi-Quellcode:
kA bin kein großer fan vom TTreeView aber so in etwa wirds wohl funktionieren
for I := TreeView1.Items.Count - 1 downto 0 do
if TreeView1.Items[I].Text = 'whatever' then TreeView1.Items.Delete(I); |
Re: Treeview
du hast mich falsch verstanden
ich möchte wenn der text nirgends vorkommt den ganzen ordner löschen wenn er aber irgendwo vorkommt soll dieser ordner nicht verändert werden und alles beim alten bleiben mit allen unterverzeichnisen Es sollen nur die ordner gelöscht werden wo es nicht vorkommt |
Re: Treeview
sry kenn mich mit dem nicht aus wünsch dir aber einen schönen urlaub :mrgreen: :sharkylinchen:
|
Re: Treeview
nur weil du in Gedanken schon am Strand liegst, können wir doch nichts dafür, dass du nicht erklären kannst was du willst. wie man einen TreeView durchsucht, wurde dir erklärt! ein wenig mithelfen musst du schon! Wie sieht dein Code aus?
|
Re: Treeview
Da haste:
Delphi-Quellcode:
Grüße vom marabu
function TreeContains(node: TTreeNode; nodeText: string): boolean;
begin Result := (node.Text = nodeText); if Result or (node.Count = 0) then Exit; node := node.getFirstChild; repeat Result := Result or TreeContains(node, nodeText); node := node.getNextSibling; until not Assigned(node) or Result; end; procedure TreeClean(node: TTreeNode; nodeText: string); begin if TreeContains(node, nodeText) then begin node := node.GetLastChild; while Assigned(node) do begin TreeClean(node, nodeText); node := node.getPrevSibling; end end else node.Delete; end; |
Re: Treeview
Ok vielen dank
eine frage hätt ich noch und zwar Wie kann ich in der Treeview den 3.Hauptknoten löschen? -1 ^^-23 -2 -3 ^^-33 dh ich will den -3 mit allen seinen Childs löschen |
Re: Treeview
Delphi-Quellcode:
marabu
TreeView.Items[2].Delete;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz