Код:
function TFORM_GLAV.Selectdir(const str: string): string;
var
lpIDs: PItemIDList;
Browses : TBrowseInfo;
Displs : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
Result:='';
sx:=str;
FillChar(Browses, sizeof(TBrowseInfo), #0);
Browses.hwndOwner := Application.Handle;
Browses.pszDisplayName := @DisplayName;
Browses.lpszTitle := PChar('Укажите каталог для сохранения'+#13+'(нахождение выгруженных файлов)');
Browses.ulFlags := BIF_DONTGOBELOWDOMAIN or $0040;
lpIDs := SHBrowseForFolder(Browses);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpIDs, TempPath);
Result:=StrPas(TempPath);
GlobalFreePtr(lpIDs);
end;
Я чето и вправду фигню морожу, тоже самое только более частно.