Read only Directory name not file name ?


Is it possible to Read only Directory name not file name into EX..memo .(All Directory's)  
I need to read only ""ONE"" level under selected directory.

I use this program example to select a directory
but this take only selected directory to " DisplayName"






unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ShellApi, StdCtrls, ShlObj ;

type
  TForm1 = class(TForm)
    Button1: TButton;

    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }  
  public
    { Public declarations }
  end;


var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  BrowseInfo  : TBrowseInfo;
  PIDL        : PItemIDList;
  DisplayName : array[0..MAX_PATH] of Char;
begin

  FillChar(BrowseInfo,SizeOf(BrowseInfo),#0);
  BrowseInfo.hwndOwner      := Handle;
  BrowseInfo.pszDisplayName := @DisplayName[0];
  BrowseInfo.lpszTitle      := 'Select Directory';
  BrowseInfo.ulFlags        := BIF_RETURNONLYFSDIRS;


  PIDL := SHBrowseForFolder(BrowseInfo);


  if Assigned(PIDL) then
    if SHGetPathFromIDList(PIDL, DisplayName) then
      ShowMessage(DisplayName);
end;



end.
LVL 6
Dark_KingAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
JoeBoothConnect With a Mentor Commented:
// Try the following to get started
//
// I just typed it in and it uses
// recursion, so be careful the first
// time you run it.

procedure GetSubDirs(cDir:string);
  fs: TSearchRec;
  cSub : string;
begin
  //
  // Find first subdirectory from cDir
  ////////////////////////////////////
  cDir := cDir+'*.*';
  if FindFirst(cDir,faDirectory,fs)=0
  then exit;
  repeat
     cSub := ExtractFilePath(fs.name)
     GetSubDirs(cSub);
  until(FindNext(SearchRec) = 0)
  FindClose(SearchRec);
end;

0
 
JoeBoothCommented:
How about using

ExtractFilepath(DisplayName)?
0
 
Dark_KingAuthor Commented:
I need to list all Directories under selected one (ONE LIVEL)
I think I have to use SelectNext or some thing like that….

ExtractFilepath Only give me the selected Directory path

Or are I missing some thing here..
0
All Courses

From novice to tech pro — start learning today.