Einzelnen Beitrag anzeigen

Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#7
  Alt 1. Aug 2002, 18:20
Hi

Hier die paar Zeilen, die in Frage kommen.

Hiermit lese ich die obersten Ordner nach den Laufwerken ein:
Code:
procedure TForm1.showdir(Node:TTreeNode;s:string);
var
  datei: TSearchRec;
begin
  If FindFirst(s, faDirectory, datei) = 0
    then
    begin
      try
        repeat
          If (datei.Name = '.') or (datei.Name = '..') or (datei.Attr and fadirectory = 0)
          then Continue;
          TreeView1.Items.AddChild(Node, datei.Name);
        until Findnext(datei) <> 0;
      finally
      FindClose(datei);
    end;
  end;
end;
Dann der Code vom TreeViewExpanding:
Code:
procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TreeNode; var AllowExpansion: Boolean);
begin
  dir(Node, true);
  Node.AlphaSort;
end;
Die Funktion dir liest dabei nur weitere Ordner ein Level tiefer aus. Im Prinzip wie ShowDir.
Code:
procedure TForm1.dir(Node:TTreeNode; Ordner:boolean);
var
  s, pfad: string;
  i: integer;
  N: TTreeNode;
  datei: TSearchRec;
  ...
begin
  if ordner then
  begin
    TreeView1.Items.BeginUpdate;
    Node.DeleteChildren;
  end
  else
  begin
    ...
  end;
  N := Node;
  s := '';
  while N <> nil do
    begin
      s := N.Text + #92 + s;
      N := N.Parent;
    end;
  pfad:=s;
  s := pfad + '*.*';
  if FindFirst(s,faDirectory,datei) = 0 then
  begin
    try
      repeat
        if (datei.Name='.')or(datei.Name='..') then
          Continue;
        if (datei.Attr and fadirectory > 0) and (ordner = true) then
        begin
          N := TreeView1.Items.AddChild(Node, datei.Name);
          showdir(N, pfad + datei.Name + '\*.*');
        end;
      if (datei.Attr and fadirectory = 0) and (ordner = false) then
        begin
          ...
        end;
      until Findnext(datei)<>0;
    finally
    FindClose(datei);
    end;
  end;
  if ordner then
    TreeView1.Items.EndUpdate
  else
  begin
    ...
  end;
end;
by Daniel B; Code-Form.
  Mit Zitat antworten Zitat