Uses ShlObj;
//kullanıcının dizin seçmesi için kod
procedure TForm1.Button1Click(Sender: TObject);
var bi: TBROWSEINFO;
str: Array[0..MAX_PATH] of Char;
pIDListItem: PItemIDList;
pStr: PChar;
begin
bi.hwndOwner := Handle;
bi.pidlRoot := nil;
bi.pszDisplayName := @str;
bi.ulFlags := BIF_RETURNONLYFSDIRS;
bi.lpfn := nil;
bi.lpszTitle:='Dizinini Seçiniz:';
pIDListItem := SHBrowseForFolder(bi);
if pIDListItem <> nil then
begin
pStr := @Str;
SHGetPathFromIDList(pIDListItem, pStr);
ShowMessage(pStr);
end;
end;