![]() |
Dateiname in TreeView einfügen
Hallo,
seit einigen stunden versuche ich eine procedure/function zu entwickeln die folgendes tut: - ich rufe sie mit einem Dateinamen und der jeweiligen VirtualTreeView auf. dann soll es den dateinamen per GetToken zerlegen z.b. aus: D:\test1\datei1\hall.txt wird D:, Test1, Datei1 und so weiter. er soll nur hinzufügen wenn das aktuelle verzeichnis noch nicht gibt ansonten muss er es da hinzufügen wo er eins gefunden hat. hier ist mein qullcode dort wird leider alles doppelt angezeigt:
Delphi-Quellcode:
mein ziel ist es:
function AddToLT(lt:TVirtualStringTree; DateiNamen:String):PVirtualNode;
function IndexOF(str:String;Node:PVirtualNode;Index:Integer):PVirtualNode; var r,t:Boolean; FileItem:PFileItem; temp:PVirtualNode; begin r:=True; t:=False; temp:=niL; if index > 1 then begin if node = nil then Node:=lt.GetFirst; if node <> NIL then temp:=node; end else begin Node:=lt.RootNode; if node <> NIL then temp:=node; end; if (Node <> NIL) then begin while r = true do begin if lt.GetNodeLevel(node) > 1 then node:=lt.GetNext(node); if node <> NIL then begin FileItem:=lt.GetNodeData(node); if UpperCase(FileItem.Caption) = UpperCase(str) then begin r:=False; t:=True; end; end else begin r:=False; t:=false; end; end; end; if t = false then result:=temp else result:=node; end; var i:Integer; str:String; FileItem:PFileItem; Node:PVirtualNode; begin result:=NIL; node:=NIL; for i:=1 to NumToken(Dateinamen,'\') do begin str:=GetToken(Dateinamen,'\',i); node:=IndexOF(str,node,i); result:=lt.AddChild(node); lt.ValidateNode(result,False); FileItem:=lt.GetNodeData(result); FileItem.Caption:=str; node:=result; // end; end; end; ich habe jetzt zwei dateinamen: Zitat:
zum hintergrund: ich möchte eine datei liste zu einer DB hinzufügen. und die ansicht soll so sein wie im datei explorer von windows lings eine listTree und rechts eine TreeView. ich habe mir das so vorgestellt: ich nehme mir die dateien die hinzugefügt werden soll einzelen vor füge sie in die TreeView ein bzw. dort sollen nur die verzeichnise stehen. ich klicke eins der verzeichnise an muss ich alle Dateien aus der DB lesen die zum verzeichnis gehöhren und in der listView dastellen... das dürfte kein problem werden. in der DB steht dann eine Dateiliste wie z.b.: D:\Test1\hallo1\60812.txt D:\Test1\hallo1\111.txt D:\Test111\hallo1\622212.txt D:\Test1\hallo2\60000812.txt D:\hallo.txt und aus dieser liste möchte ich halt nacher diesen baum erzeugen darum die funktion die ich versuche zu entwickeln.. ich hoffe ihr versteht das prinzip und könnt mir weiter helfen. ich weiß einfach nicht mehr weiter. ich hatte in der DF noch einen qullcode gefunden von jemmand der hat der möchte auch ein baum dastellen aber in einem MAINMENU: ![]() |
Re: Dateiname in TreeView einfügen
Hallo,
im DF gibt es noch mehr, eventuell ist es das was Du suchst: ![]() //Nachtrag: Etwas ähnliches gibt es auch in der Code-Library hier in der DP, man kann aber die Einfügeposition nicht vorgeben: ![]() |
Re: Dateiname in TreeView einfügen
vielen dank werde ich mir morgen gleich mal anschauen !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz