Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.05 c
14-1092019928
inew
2004-08-09 06:52
2004.08.29
Начальник уходит на повышение.


4-1089879852
Dysan
2004-07-15 12:24
2004.08.29
как установить крупный/мелкий шрифт


14-1092037841
Grinder
2004-08-09 11:50
2004.08.29
Кладовка


9-1083916006
MsShtaer
2004-05-07 11:46
2004.08.29
Помогите с выбором стиле к стратегической игре


14-1092315003
Кириешки
2004-08-12 16:50
2004.08.29
У кого Opera стоит?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский