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

Вниз

Простой вопрос!   Найти похожие ветки 

 
pakko ©   (2002-02-15 21:24) [0]

Необходимо открыть папку а не файл. Это делать через OpenDialog или ещё как. Подскажите плиз!!!


 
MBo ©   (2002-02-15 21:33) [1]

а что такое открыть папку?


 
pakko ©   (2002-02-15 21:35) [2]

В стандартном виндузовском диалоге открытия если через opendialog, то только файл можно выбрать и нажать открыть. Мне нужно папку.


 
Юрий Зотов (M) ©   (2002-02-15 21:44) [3]

См. функции SelectDirectory (Delphi) и SHBrowseForFolder (API). Они и диалог покажут, и прогресс отразят (если надо) и т.д.


 
MARcoDEN ©   (2002-02-16 11:32) [4]

Можно также использовать ShellExecute c параметром explore


 
Petrovich ©   (2002-02-16 13:55) [5]

Надо использовать не OpenDialog а RX компонент Directory Edit


 
pakko ©   (2002-02-16 16:10) [6]

А где взять сей компонент?


 
pakko ©   (2002-02-16 17:59) [7]

Подскажите?


 
[NIKEL] ©   (2002-02-16 18:15) [8]

MARcoDEN правильно говорит :
вот эта строчка откроет папку С:\Program Files

ShellExecute(Handle,"open","С:\\Program Files",NULL,NULL,SW_RESTORE);

а эта откроет Проводник с открытой папкой С:\Program Files

ShellExecute(Handle,"explore","С:\\Program Files",NULL,NULL,SW_RESTORE);

и не надо париться с компанентами :)


 
panov (M) ©   (2002-02-16 18:19) [9]

А что, TDirectoryListBox тоже не устраивает?


 
Miwa ©   (2002-02-16 23:35) [10]

В D6 Personal на странице Samples есть ShellTreeWiev - она тоже не подходит?


 
VID ©   (2002-02-17 02:43) [11]

Лови код:

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);
ShowMessage(TempPath);
GlobalFreePtr(lpItemID);
end;
end;
Переменная TempPath содержит полный путь к выбранной папке. Можешь оформить как культурную функцию.

PS: Ю.Зотов такой подход не одобрит, однако, это реальная помощь. :))


 
pakko ©   (2002-02-17 13:03) [12]

Спасибо всем!!!



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

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

Наверх




Память: 0.49 MB
Время: 0.014 c
1-9108
Igl
2002-02-15 21:50
2002.03.04
Как можно сделать эквалайзер?


3-9052
sgs
2002-02-06 12:13
2002.03.04
Был бы очень рад если кто помог бы с запросом...


14-9277
tovSuhov
2002-01-16 13:03
2002.03.04
Только что получил вирус по почте...


3-9083
IronHawk
2002-02-06 18:44
2002.03.04
Данные из QuickReport.Preview сохранять в *.dbf или *.db файл !!!


1-9139
kaif
2002-02-17 12:56
2002.03.04
Почему много ссылок на BPL?