![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Всем доброго дня.
Есть задача, которая в зависимости от поданных ей данных, формирует набор выходных файлов и выкладывает их в указанный каталог. Раньше я просто в эдите набирал нужный путь и запускал прогу, но теперь эту задачку передали девушке для которой набрать путь типа "С:\" великая проблема, а работать приходится с сетевыми папками большого количества пользователей. Меня заставляют встроить на форму кнопку по которой можно будет выбрать каталог для выгрузки. Сделать кнопку на форме я смогу, но как организовать выбор каталога назначения не знаю. Итог С вопросом разобрались! Тем у кого возникла подобная ситуация рекомендую следующие ссылки: Вывод диалога для выбора каталога Вывод диалога для выбора каталога 2 Последний раз редактировалось NNMakarov, 31.08.2009 в 12:56. |
#2
|
||||
|
||||
![]() поместите на форму компонент TOpenDialog
На кнопке вызовете обработку события "onClick" и пропишите обработку вызова var OpenDialog : TOpenDialog; begin ... if OpenDialog.Execute then begin end; ... end; Сам TOpenDialog , его свойства можете настроить как Вам будет удобней :-) Удачи ! |
#3
|
|||
|
|||
![]() Вообще для выбора именно каталога существуют специально предназначенные именно для этого диалоговые окна.
Вывод диалога для выбора каталога Вывод диалога для выбора каталога 2 |
#4
|
||||
|
||||
![]() Вот так вроде работает.
Код:
Uses ShlObj; procedure CallBack(wnd: hWnd; uMsg: UINT; lParam, lpData: LParam) stdcall; begin SendMessage(wnd, BFFM_ENABLEOK, 0, 1); end; procedure TForm1.Button1Click(Sender: TObject); var bi: TBrowseInfo; S: PChar; PIDL, ResPIDL: PItemIDList; begin SHGetSpecialFolderLocation(Form1.Handle, CSIDL_DESKTOP, PIDL); S := StrAlloc(128); bi.hwndOwner := Form1.Handle; bi.pszDisplayName := S; bi.lpszTitle := 'Выбор прапки'; bi.pidlRoot := PIDL; bi.lpfn := addr(CallBack); ResPidl := SHBrowseForFolder(BI); SHGetPathFromIDList(ResPidl, S); Form1.Caption := S; end; Admin: Не забываем про теги! При рецедиве - бан! Последний раз редактировалось Admin, 31.08.2009 в 11:46. |
#5
|
||||
|
||||
![]() еще раз повторюсь... все на много проще... настройте свойства TOpenDialog и все... на файлы или на папки )
Хотя не возражаю , что есть отдельные готовые компоненты) |
#6
|
|||
|
|||
![]() fets, вы бы лучше сказали, какие конкретно нужно выставить опции, чтобы TOpenDialog отображал только папки и соответственно позволял выбирать путь к папке, а не файлу.
|
#7
|
|||
|
|||
![]() ![]() Огромное спасибо ВСЕМ кто отозвался Цитата:
Nyctos Kasignete Ваша ссылка, с небольшими изменениями, изумительно вписалась в проект. fets Я уже пробовал сделать через TOpenDialog. Но он работает с каким либо файлом. В моей же ситуации сложность заключается в том, что я могу лишь предполагать, что набор файлов будет сформирован. Быть может где то в Options-ах это указывается? Если Вам это известно, будь те столь любезны, поделитесь информацией. |