Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Prism Verzeichnis im TreeView anzeigen (https://www.delphipraxis.net/95175-verzeichnis-im-treeview-anzeigen.html)

MaestroAlbi 2. Jul 2007 16:25


Verzeichnis im TreeView anzeigen
 
Hi,

vll kann mri ja jemand weiterhelfen. Ich wollt das Verzeichnis von einem Laufwerk im Treeview anzeigen und auch dort Ordner auswählen können und habe es so weit geschafft.

Delphi-Quellcode:
function TWinForm.OrdnerSuchen(Verzeichnis:String; Index:Integer):Boolean;
var
  oDir     : DirectoryInfo;
  nNode    : TreeNode;
  iIndex   : Integer;


begin

  dVerzeichnis := DirectoryInfo.Create(Verzeichnis);
  OrdnerSuchen:= True;
 
  for oDir in dVerzeichnis.GetDirectories() do
      begin
        try
          If OrdnerSuchen(oDir.FullName, Index)= True then begin
             
             //------
             nNode := TreeView1.Nodes[Index].Nodes.Add (oDir.Name);        
             TreeView1.Nodes[Index].Nodes[TreeView1.Nodes[Index].Nodes.IndexOf(nNode)].Nodes.Add (dVerzeichnis.Name);

            OrdnerSuchen:= True;
          end;
         except
            OrdnerSuchen:= False;
          end;
      end;

end;
Jetzt fehlt mir nur, dass die Ordner auch in einer Hierachie (wie im Explorere) angezeigt werden. Dies funktioniert nicht richtig. Kann mir jemand weiterhelfen?

mkinzler 2. Jul 2007 16:29

Re: Verzeichnis im TreeView anzeigen
 
Verwendest du nun VCL.Net oder WinForms?

Phoenix 2. Jul 2007 16:32

Re: Verzeichnis im TreeView anzeigen
 
Zitat:

Zitat von MaestroAlbi
Delphi-Quellcode:
If OrdnerSuchen(oDir.FullName, Index)= True then begin

GuckstDu Über den Umgang mit Boolean.

MaestroAlbi 2. Jul 2007 16:42

Re: Verzeichnis im TreeView anzeigen
 
Arbeite mit WinForms

MaestroAlbi 4. Jul 2007 19:02

Re: Verzeichnis im TreeView anzeigen
 
Habe mir den umgang mit Boolean angesehen. War hilfreich, Danke. Aber mein Problem konnt ich ni wirklich damit lösen ...

Christian S. 4. Jul 2007 19:22

Re: Verzeichnis im TreeView anzeigen
 
Ich hätte das jetzt in etwa so gemacht:

Delphi-Quellcode:
procedure MainForm.AddFolders(tn : TreeNode; rootFolder : DirectoryInfo);
var
  dirs : Array of DirectoryInfo;
  dir : DirectoryInfo;
begin
  dirs := rootFolder.GetDirectories; //Noch prüfen, ob man überhaupt Zugriff hat oder Exception abfangen
   
  for dir in dirs do
  begin
    if tn = nil then //Unterste Ebene des TreeView (sollte eigentlich noch als Parameter übergeben werden, damit allgemein einsetzbar)
      AddFolders(treeView1.Nodes.Add(dir.Name), dir)
    else //Knoten im TreeView
      AddFolders(tn.Nodes.Add(dir.Name), dir);
  end;
end;
Da ich kein Delphi .NET drauf habe, habe ich's in Chrome gemacht. Ich hoffe, der Quelltext geht so in Delphi, habe mich bemüht, ihn so zu schreiben.

MaestroAlbi 4. Jul 2007 21:47

Re: Verzeichnis im TreeView anzeigen
 
Vielen Dank,
die Antwort von Christian S. hat mich weitergebracht. Es ist so möglich, wie er es geschrieben hat. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz