Главная страница
    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-9230
AZ
2002-02-15 07:40
2002.03.04
Общие соображения о межкомпонентной привязке изменений свойств


1-9234
Beer
2002-02-15 10:50
2002.03.04
Получить название директории...


4-9335
Slyer
2002-01-04 00:47
2002.03.04
Как пользоваться lParam при WH_KeyBoard.


4-9324
saviola
2002-01-04 10:26
2002.03.04
Помогите найти функцию ...


4-9348
Oxy2
2001-12-28 14:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский