Hallo,
ich habe danch gesucht und nichts gefunden.
ich möchte folgendes erreichen:
wenn ich folgenden baum habe:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| Test1 Test2 Test1 Test4 Test2 Test1 |
und nun möchte ich schauen ob der Hauptbaum also Test1 udn Test4 ob dadrin ein eintrag ist der doppel ist und zwar bei TreeView1Addition und das klappt nicht so wobei es auch bäume gibt wo nichts drin ist wie ein verzeichnis praktisch....
ich habe dazu folgenden code/gefunden und geschrieben:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| Procedure SearchText2(ANode : TTreeNode; Const ASearchText : String; AOutPut : TStrings); Begin If ( Pos(ASearchText, ANode.Text) > 0 ) Then AOutPut.Add('Node "' + ANode.Text + '" Level ' + IntToStr(ANode.Level) + ' Index ' + IntToStr(ANode.Index));
If ( ANode.getNext <> Nil ) Then SearchText2(ANode.GetNext, ASearchText, AOutPut); End;
function isTextExists(text:String):boolean; var t:TStringList; begin t:=TStringList.Create; if Form1.TreeView1.Selected <> NIL then begin SearchText2(Form1.TreeView1.Selected,text,t); if t.IndexOf(text) = -1 then result:=False else result:=True; end else result:=True;
end;
procedure TForm1.TreeView1Addition(Sender: TObject; Node: TTreeNode); begin if isTextExists(Node.Text) = False then if DirectoryExists(ListenDir + Node.Text) = false then mkDir(ListenDir+Node.Text) else node.Delete;
end; |
aber leider passiert nicht das was passieren soll: er verhindert das in unterschiedlichen hauptknoten die gleichen knoten vorkommen können, er behandelt ist wie eine ListBox und nicht wie eine TreeView.
ich möchte nur ein baum prüfen nicht alle....