Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Выбор директории   Найти похожие ветки 

 
DeScriptor   (2004-07-15 02:08) [0]

Задача заключается в том, что надо дать пользователю возможность выбрать существующую директорию на винте для последующего чтения всех файлов из нее.
Есть ли диалог для осуществления сабжа (как, например, при использовании функции Copy File в ХРе, или при открытии директории в WinAmp"е)? И если нету, то каким образом можно что-нибудь подобное реализовать?


 
P.N.P. ©   (2004-07-15 02:14) [1]

Смотри в справке SelectDirectory


 
CHES ©   (2004-07-15 08:39) [2]

А чем OpenDialog не устраивает?


 
Григорьев Антон ©   (2004-07-15 08:48) [3]


> CHES ©   (15.07.04 08:39) [2]
> А чем OpenDialog не устраивает?


Видимо, тем, что выбирает файл, а не директорию.


 
CHES ©   (2004-07-15 09:04) [4]

Тогда может так


...
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);
    // в переменной temp - выбранный каталог
   GlobalFreePtr(lpItemID);
 end;
end;


 
CHES ©   (2004-07-15 10:09) [5]

Сорри, выбранный каталог в переменной TempPath конечно-же.

Кстати в структуру  TBrowseInfo можно передать адрес callback функции.


 
DeScriptor   (2004-07-16 01:13) [6]

Спасибо! Только - ой! =) Мне бы в этом во всем разобраться...


 
fxmike   (2004-07-16 01:25) [7]

Посмотри компонент TDirectoryListBox по-иоему как раз сгодится для твоих целей.



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
14-1091848578
Думкин
2004-08-07 07:16
2004.08.29
С днем рождения! 7 августа


14-1091638905
panov
2004-08-04 21:01
2004.08.29
Как обойтись без Access violation?


1-1092520861
Gear
2004-08-15 02:01
2004.08.29
Обращение из основного потока к дочернему.


3-1091864650
serg128
2004-08-07 11:44
2004.08.29
Как сортировать по вычислимому полю?


1-1092670055
ЮрийК
2004-08-16 19:27
2004.08.29
Почему получается исключение?