Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.211 Beiträge
 
Delphi 12 Athens
 
#2

Re: TreeView-Nodes anhand Pfad-String finden (zu langsam)

  Alt 5. Mär 2009, 12:27
anstatt zu jedem Node erstmal dessen Pfad zu bestimmen und dann zu vergleichen,

wäre es bestimmt schneller, wenn du den übergebenen Pfad zerlegst und dann diesen stückchenweise suchst.

hätte den Vorteil, daß im schlimmsten Fall nicht der ganze Baum durchsucht werden muß.

und du hättest gleich den ersten bereits existierenden Node-Teil
(am unteren Beispiel die Suche nach b\x\u\q ... man braucht also ab b\x\ anfangen den neuen Node einzubauen ... der Erste Teil exisitert ja schon)

z.B.
Code:
a
  d
    i
      m
  e
    j
b
  f
   
  g
    k
    l
      n
  x
c
  h
wenn man hier z.B. "b\x" möchte suchst du fast den gesamten Tree ab

Code:
zusammen  stückchenweise
a         a
a\d
a\d\i
a\d\i\m
a\e
a\e\j
b         b
b\f       b\f
b\g       b\g
b\g\k
b\g\l
b\g\k\l
b\x       b\x

PS:
Delphi-Quellcode:
  if WithDelimiter then Result := aNode.Text +'\'
    else Result := aNode.Text +'\';
irgendwie ist Result da immer das Selbe
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat