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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-9151
Tsatur Soft
2002-02-16 23:35
2002.03.04
Срочно!


1-9217
fixxxer
2002-02-14 19:58
2002.03.04
Как делается Help


7-9298
Unkown
2001-11-26 12:26
2002.03.04
Чем протестировать компьютер?


3-9098
Анонимщик
2002-02-05 19:23
2002.03.04
Grid index out of range


3-9057
vopros
2002-02-06 14:00
2002.03.04
Я уже всех достал наверное...но очень надо





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский