Форум: "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.45 MB
Время: 0.032 c