Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выбор директории [D4, D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]


baataar ©   (2002-07-29 19:38:00) 

function BrowseDialog(const Title: string; const Flag: integer): string;
var
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
Result:="";
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
with BrowseInfo do begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName;
lpszTitle := PChar(Title);
ulFlags := Flag;
end;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
Result := IncludeTrailingBackslash(TempPath);
GlobalFreePtr(lpItemID);
end;
end;

Утянул где-то функцию, но как мне сделать так чтоб можно было задавать директорию для выбора.
Допустим юзер один раз выбрал, и второй раз выбирая подставлялась его директория


star   (2002-07-31 21:33:00) [1]

Шпасибо !!!


Eugene Lachinov   (2002-07-31 07:52:00) [2]

http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622138&n=15


star   (2002-07-31 00:30:00) [3]

Чем больше я пользуюсь функцией SelectDirectory, тем меньше она мне нравится. Как-то коряво она работает - после указания директории приложение выкидывает под низ всех окон и приходится специально давать Application.BrigToFront. Кроме того, если задать начальную папку, она не дает подняться выше по дереву каталогов - дерево начинается именно с этой начальной папки. Кроме того, она не позволяет создать папку прямо во время выбора. В общем это и моя головная боль.
Хотел сам написать компонент - да лень матушка ...


Dmitry Toropov   (2002-07-30 15:11:00) [4]

2battar

см. SelectDirectory в Help"e, там два варианта этой функции, в одном из них можно указать начальную директорию.
IMHO, SelectDirectory - инкапсулирует системную функицию SHBrowseForFolder


Geser   (2002-07-30 00:40:00) [5]

8-0
%-)
Вот он, современный подход к программированию!
То battar : Найдите себе компонент! Наверняка есть.


battar   (2002-07-29 23:17:00) [6]

это я понял, но куда ее подставить?
В какое свойство?


Jeer   (2002-07-29 22:32:00) [7]

Кто-ж кроме тебя ее где-то запомнит. Реестр или ini - на выбор.


Наверх

Титульная страница Поиск, карта сайта Написать письмо