Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Satty67,
8. Mär 2009
uses TDBmain; im implementation-Teil entfernt (war das Testprogramm)
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Satty67,
8. Mär 2009
Also die Variante:
function GetNodePath(aNode:TTreeNode; WithTailingDelimiter: Boolean): String;
begin
Result := '';
while Assigned(aNode) do begin
Result := aNode.Text + '\' + Result;
aNode := aNode.Parent;
end;
if not WithTailingDelimiter then Delete(Result, Length(Result), 1);
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Satty67,
8. Mär 2009
Rekursiv, sieht schlank aus, auch wenn ich jetzt eine Weile schauen musste, bis ich es gemerkt hab'.
Wie implementiere ich die Aufgabe, manche Node mit und mache ohne abschließenden '\' zu liefern? Außerhalb lösen?
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Satty67,
8. Mär 2009
Hallo himitsu,
zu 1)... das kommt wohl, weil ich immer erst Result "initialisiere", sonst vergesse ich das. Passe ich an.
zu 2) Lokale Variable statt 3x der gleich Funktionsaufruf, übernehme ich natürlich (glaube die Art von Optimierung könnte man bei allen meinen Quelltexten machen) ;)
zu 3) Zuweisung vorab, Mehrfachaufruf verhindert
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Satty67,
8. Mär 2009
Unter D5 ist VirtualTreeView nicht verfügbar, weshalb ich mich mit TTreeView begnügen musste. Dabei sind ein paar kleine Funktionen entstanden, die beim Anlegen und Verwalten der Nodes helfen (speziell Node.Text). Eine besonders zeitkritische Funktion wurde hier im Forum in diesem Thread optimiert.
Die Procedure/Functionsnamen sind im Prinzip selbsterklären, hier ein kleine Zusammenfassung:
...