![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 3 Всего: 6 |
Собственно, как настроить фильтр TOpenDialog-а, чтобы он отображал все файлы, кроме, например, exe?
В стандартных функциях поиска файлов винды всё просто:
--------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
В настройках TOpenDialog->Filters
|
|||
|
||||
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 3 Всего: 6 |
ZBugz, я знаю где и как настраивать простые фильтры, типа *.exe|*.exe. Но не знаю как именно сделать так, чтобы отображать все файлы, кроме указанных. В конкретном примере надо, чтобы отображались файлы всех расширений, кроме *.exe.
При поиске в винде можно ввести NOT *.exe, но добавление настройки
в TOpenDialog->Filters ничего не даёт. Находил упоминание о том, что логические операторы надо заключать в _, т.е. _NOT_ *.exe, но так тоже не вышло. Можно ли вообще использовать логические операторы в TOpenDialog->Filters? Это сообщение отредактировал(а) Агрох - 3.12.2013, 10:08 --------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Там можно указать список отображаемых файлов.
Например,
в этом случае диалог будет показывать только txt-файлы. Само собой, что exe будут скрыты. А логические операторы использовать нельзя. Ты хоть бы справку открыл и почитал. Добавлено через 3 минуты и 9 секунд http://docwiki.embarcadero.com/Libraries/X...enDialog.Filter вставь через точку с запятой много-много разных или основных расширений, кроме exe |
|||
|
||||
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 3 Всего: 6 |
Akella, справку читал. Там не сказано что однозначно нельзя, просто не упоминается. Уже сталкивался с ситуациями, когда в справке чего то нет, а на самом деле это есть и решил уточнить у знатоков.
В той же справке по поиску в винде (встроенной справке) тоже не упоминается, что при поиске можно использовать логические операторы и что если заключить фразу в кавычки будет искаться фраза целиком, а не слова из этой фразы, а такие возможности есть. Задача стоит в том чтобы работать со всеми файлами, кроме exe. Что то вроде создания ссылок на файлы. Но ссылка на exe файл отличается от ссылки на прочие файлы. Вбивать все возможные варианты расширений, кроме exe, это не лучшее решение проблемы, т.к. явно не указано с какими конкретно расширениями придётся работать. Даже если взять только расширения текстовых файлов, всех видов офисных файлов, основных графических то это уже по крайней мере несколько десятков. Коли вы говорите, что точно нельзя использовать логические операторы в TOpenDialog->Filters то поверю. Тогда задам вопрос иначе: есть ли компонент, аналогичный TOpenDialog, в котором можно настраивать фильтр с использованием логических операторов, или с фиксированной настройкой "все кроме"? Не хотелось бы писать свой диалог. Можно конечно вообще открывать без фильтра, а потом уже говорить пользователю что "Выбранный файл это exe" и, соответственно, "Выбранный файл не exe". --------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
||||
|
||||
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 3 Всего: 6 |
Всё что не запрещено - разрешено. Ну экзотика это сильно сказано. Такие настройки фильтров при поиске и отображении файлов есть в популярном ПО. В уже упомянутой винде, например (поиск через проводник, NOT *.exe). В TotalCommander-е и аналогах (поиск файлов | *.exe). Просто у вас никогда не было необходимости ими пользоваться. У меня правда тоже. --------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
||||
|
||||
| Агрох |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.4.2013 Где: Москва Репутация: 3 Всего: 6 |
В диалоге открытия файла используется поиск файлов по указанному фильтру. А мы просто говорим, какой из заранее заготовленных фильтров использовать. Нет? Там необязательно использовать только фильтр типа *.txt. Прекрасно работает и фильтр *абракадабра*.* - ищет любой файл, в названии которого есть слово абракадабра. И кстати, найдите 10 отличий проводника от диалога открытия файла. Почти полностью решил задачу, используя пример отсюда: http://forum.vingrad.ru/forum/topic-30939/15.html Правда факт наличия исключённого файла всё равно видно. Он отображается как файл без названия, расширения и иконки. Главное - его нельзя открыть.
TOpenDialog.Options : ofEnableIncludeNotify - включить, ofOldStyleDialog - выключить. В Uses добавить ShlObj. Это сообщение отредактировал(а) Агрох - 3.12.2013, 17:00 --------------------
Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |