Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2008, 21:49   #1
Veiron
Форумчанин
 
Аватар для Veiron
 
Регистрация: 01.12.2007
Сообщений: 346
По умолчанию Скрытые файлы и папки в OpenDialog

Как отобразить скрытые и системные файлы в OpenDialog?
Как сделать OpenDialog для открытия папки, а не файла?
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru
Veiron вне форума Ответить с цитированием
Старый 03.03.2008, 22:04   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от Veiron Посмотреть сообщение
Как сделать OpenDialog для открытия папки, а не файла?
Я использую функцию.

Код:
uses filectrl;
...

function GetPath(mes: string):string;
var
Root,Dir:string;
pwRoot:PWideChar;
begin
Root:='';
GetMem(pwRoot,(Length(Root)+1)*2);
pwRoot:=StringToWideChar(Root,pwRoot,MAX_PATH*2);
if SelectDirectory(mes,pwRoot,Dir) then
if length(Dir)=2 then GetPath:=Dir+'\' else GetPath:=Dir else GetPath:='';
end;
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 03.03.2008, 22:17   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Как отобразить скрытые и системные файлы в OpenDialog?
Последняя из опций у компонента OpenDialog. Поставить в True.
mihali4 вне форума Ответить с цитированием
Старый 03.03.2008, 23:24   #4
Veiron
Форумчанин
 
Аватар для Veiron
 
Регистрация: 01.12.2007
Сообщений: 346
По умолчанию

Air
А как теперь вызвать эту функцию например нажатием на кнопку?

mihali4
Эти все переключатели уже перепробывал, а последний по идеи который должен был открывать скрытые он их не отображает не говоря о системной скрытности... пока в системе не выставить показ скрытых/системных файлов...
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru
Veiron вне форума Ответить с цитированием
Старый 04.03.2008, 08:35   #5
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

На счёт системных скрытых файлов, я использовал FileListBox и DirectoryListBox.

Как вызвать.

Код:
...
var Path:String;
begin
Path:=GetPath('Выбетите папку');
if Path <> '' then Edit1.Text:=Path;
end;
...
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 04.03.2008, 20:44   #6
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от Veiron Посмотреть сообщение
Как отобразить скрытые и системные файлы в OpenDialog?
Знаю как. Просто при открытии OpenDialog пиши в реестр
HKEY_CURRENT_USER\Software\Microsof t\Windows\CurrentVersion\Explorer\A dvancedЭHidden
"Hidden":DWORD - это простые скрытые.
"ShowSuperHidden":DWORD - это системные скрытые

значения
"Hidden"=00000000:DWORD - скрыто
"Hidden"=00000001:DWORD - открыто

"ShowSuperHidden"=00000001:DWOR D - открыто "ShowSuperHidden"=00000000:DWOR D - скрыто

а потом (при закрытии) обратно
Только мне кажется придётся обнавлять каталоги, а может и нет, если OpenDialog откроется после регистрации ключей.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 05.03.2008, 09:03   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Руки вам оторвать за такой способ )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить файлы и папки Viten2 Общие вопросы Delphi 31 08.09.2011 13:18
Неотображаюца скрытые файлы! Ermiss Безопасность, Шифрование 6 26.12.2008 11:56
OpenDialog Rahim1993 Общие вопросы Delphi 20 21.01.2008 08:26
Показывать-не показывать скрытые файлы и папки... Романнн Свободное общение 5 07.11.2007 13:16
OpenDialog.Options:=OpenDialog.Options+[ofAllowMultiSelect]; necky Компоненты Delphi 2 11.08.2007 12:53