Erstmal brauchst du einen Delimiter, woran du den Text teilen kannst.
Wenn du weißt was du da einsetzt, kannst du dann durch den Text gehen, bis das aktuelle Zeichen ein Delimiter ist.
Das Wort was du dann gefunden hast, suchst du dann im aktuellen Node und wenn du das gefunden hast, dann suchst machst du das gleiche nochmal, nur eine Ebene tiefer.
Ungefähr so:
Delphi-Quellcode:
function getNodeToPath(ARoot : TTreeNode; APath : string; ADelimiter : Char) : TTreeNode;
begin
Result := nil;
TeilPfad := '';
// Füge hier so viele Zeichen aus APath an, bis du zum Delimiter kommst
for child in ARoot.children do
begin
if child.name = TeilPfad then
Result := getNodeToPath(child, Copy(APfad, 1, Length(TeilPfad) + 1), ADelimiter);
end;
end;
So ungefähr wäre das in Pseudodelphicode
MfG
Fabian