We help IT Professionals succeed at work.

Creating a list of all the sub directories in a directory

mcmahling
mcmahling asked
on
Medium Priority
197 Views
Last Modified: 2010-04-05
I am using Delphi 2006 VCL.  I need code to find the names of all the sub-driectories in a directory.  Can someone help?
Comment
Watch Question

Engineer
Commented:
Drop an edit box and button onto the form.
Put the directory name you want to search in the edit box, i.e. 'C:\'

function SearchDir(sDir: string): string;
var
 sr: TSearchRec;
 i: integer;
 sl: TStringList;
begin
  try
    sl := TStringList.Create;
    sl.Sorted := True;
    i := findFirst(sDir+'*.*',faAnyFile,sr);
    while i = 0 do
    begin
      if (sr.name <> '.') and (sr.name <> '..') then
      begin
        if (sr.attr = faDirectory)then
          sl.Add(sDir+sr.name);
      end;
      i := findNext(sr);
    end;
    FindClose(sr);
    Result := sl.Text;
  finally
    FreeAndNil(sl);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
begin
  s := SearchDir(Trim(Edit1.Text));
  ShowMessage(s);
end;

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.