Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

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

  Alt 5. Mär 2009, 13: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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat