Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > выбор каталога


Автор: santilaas 12.11.2006, 19:02
Люди добрые, подскажите, пожалуйста.
Нужно, чтобы при нажатии на кнопку открывалось окно выбора каталога (а не файла)
может нужно использовать OpenDialog, но тогда что там задавать?

Автор: Matematik 12.11.2006, 19:15
Выбрать Select
+ 
папку Directory
=
SelectDirectory()

Автор: santilaas 13.11.2006, 02:12
Цитата

Выбрать Select
+ 
папку Directory
=
SelectDirectory() 
 - прошу прощения - где сие указать?

Автор: Poseidon 13.11.2006, 02:17
Код

Uses {...}, ShellApi,ShlObj;

{...}
procedure TForm1.Button1Click(Sender: TObject);
var
 TitleName : string;
 lpItemID : PItemIDList;
 BrowseInfo : TBrowseInfo;
 DisplayName : array[0..MAX_PATH] of char;
 TempPath : array[0..MAX_PATH] of char;
begin
 FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
 BrowseInfo.hwndOwner := Form1.Handle;
 BrowseInfo.pszDisplayName := @DisplayName;
 TitleName := 'Please specify a directory';
 BrowseInfo.lpszTitle := PChar(TitleName); 
 BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
 lpItemID := SHBrowseForFolder(BrowseInfo);
 if lpItemId <> nil then
   begin
   SHGetPathFromIDList(lpItemID, TempPath);
   ShowMessage(TempPath);
   GlobalFreePtr(lpItemID);
   end;
 end;

Автор: santilaas 13.11.2006, 07:10
Poseidon, огромное спасибо - все отлично работает. Но неужели никак проще в Дельфях нельзя этого сделать?

Автор: Guedda 13.11.2006, 07:31
Цитата(santilaas @  13.11.2006,  07:10 Найти цитируемый пост)
Но неужели никак проще в Дельфях нельзя этого сделать?

Да это и так просто smile
Но можно ещё попробовать поиграть с TDirectoryListBox. Находится на вкладке Win 3.1

Автор: Alexeis 13.11.2006, 10:18
Цитата(santilaas @  13.11.2006,  07:10 Найти цитируемый пост)
Но неужели никак проще в Дельфях нельзя этого сделать? 

Есть сторонние компоненты, которые делают тоже самое, но имеют интерфейс стандартных диалогов. Я тоже было огорчен когда не нашел такого удобного диалога. Хорошо хоть в KOL его догадались добавить  smile 

Автор: santilaas 13.11.2006, 13:34
Цитата

Хорошо хоть в KOL его догадались добавить  

- а что подразумевается под KOL?

Автор: Guedda 13.11.2006, 13:35
http://kolmck.net/

Автор: Snowy 13.11.2006, 13:50
KOL (FAQ): http://vingrad.ru/DELPHI-DELPHI-000150
KOL Home: http://kolmck.net/rindex.htm (альтернативный: http://www.kolnmck.ru/ )
Но это не имеет отношения к вопросу.

Добавлено @ 13:53 
По данному вопросу - FAQ: http://vingrad.ru/DELPHI-DLP-002543

Автор: santilaas 13.11.2006, 15:26
Всем большое спасибо - получил все что хотел

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)