Select a directory

 



Add 'FileCtrl' in the uses of your form

 

Procedure TForm1.Button1Click ( Sender : TObject ) ;

Var

   Dir         : String ;

Begin

   SelectDirectory ( 'Select a directory' , '' , Dir ) ;

   ShowMessage ( Dir ) ;

End ;

 

Or

Procedure TForm1.Button1Click ( Sender : TObject ) ;

Var

   Dir         : String ;

Begin

   SelectDirectory ( Dir , [ ] , 0 ) ;

   ShowMessage ( Dir ) ;

End ;

Or

                        {Uses ShlObj}

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 ;


Back Home Foward