Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
n1056
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 56
#1

Нужен диалог для выбора нескольких и файлов, и папок - Delphi

07.07.2017, 12:07. Просмотров 383. Ответов 16
Метки нет (Все метки)

Коллеги, добрый день!

Есть задача организовать в диалоговом окне возможность выбора нескольких и файлов, и папок.
OpenDialog позволяет выбрать только файлы (в том числе и несколько), но не позволяет выбрать папки.
В идеале, в результате отработки диалога, получить на вход список путей и циклом проверить их через findFirst, findNext на соответствие атрибутам faAnyFile, faDirectory и далее отработать как файл или как папку. Вопрос как получить такой список из диалога.
Куда копать, что подскажете? Есть ли наработки под эту задачу?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2017, 12:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нужен диалог для выбора нескольких и файлов, и папок (Delphi):

Нужен диалог выбора папки, а не файла
У меня возникла такая задача. Нужен диалог, в принципе похожий на OpenDialog,...

Диалог для выбора директории или путя к ней.
Есть ли какой-нить диалог позволяющий выбирать директорию и соответственно...

Диалог выбора папки
Привет. Как мы знаем есть диалог открытия(open dialog), а можете дать мне типо...

Диалог выбора папки
Подскажите пожалуйста, в Delphi 2007, для Windows 7 - есть ли диалог выбора не...

Показать диалог выбора папки
как в delphi 7 вызвать диалог выбора папки? в палитре инструментов во вкладке...

Считывание 2 файлов на выбор из папок и замена кода внутри файлов
имеется различные папки с файлами, например в папке c названием "A 1" - 3...

16
DenNik
Непрофессионал
1784 / 1289 / 304
Регистрация: 26.07.2011
Сообщений: 7,532
07.07.2017, 12:23 #2
писать свой диалог-эмуляцию (форма, на которой будет список, поле ввода или комбо или еще чего-нибудь - на что фантазии хватит)

Добавлено через 1 минуту
Цитата Сообщение от n1056 Посмотреть сообщение
организовать в диалоговом окне возможность выбора нескольких и файлов, и папок
хотелось бы узнать, для чего это
0
n1056
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 56
07.07.2017, 13:51  [ТС] #3
Цитата Сообщение от DenNik Посмотреть сообщение
Сообщение от n1056
организовать в диалоговом окне возможность выбора нескольких и файлов, и папок
хотелось бы узнать, для чего это
Нужно выбранную файловую структуру (файлы, папки, подпапки..) уложить в пакет.

Я смотрел ваш компонент SelectDir1. Инструмент рабочий и если бы но мог делать выбор нескольких файлов и папок, он бы подошел.
0
DenNik
Непрофессионал
1784 / 1289 / 304
Регистрация: 26.07.2011
Сообщений: 7,532
07.07.2017, 13:53 #4
Цитата Сообщение от n1056 Посмотреть сообщение
и если бы но мог делать выбор нескольких файлов и папок,
это даже не мой компонент, это обертка над системной функцией, поэтому прикрутить к нему мультивыбор не получится
1
n1056
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 56
07.07.2017, 14:00  [ТС] #5
Цитата Сообщение от DenNik Посмотреть сообщение
это даже не мой компонент, это обертка над системной функцией, поэтому прикрутить к нему мультивыбор не получится
Понятно.
Странно, что нет готовых решений. Задача на мой взгляд базовая. Должна быть востребована в большом количестве проектов с диалогом выбора фалов/папок.
0
DenNik
Непрофессионал
1784 / 1289 / 304
Регистрация: 26.07.2011
Сообщений: 7,532
07.07.2017, 14:07 #6
Лучший ответ Сообщение было отмечено n1056 как решение

Решение

для этого есть компоненты ShellListView/ShellTreeView
если у тебя система новее Delphi7, смотри здесь, как их установить
1
n1056
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 56
07.07.2017, 22:20  [ТС] #7
Цитата Сообщение от DenNik Посмотреть сообщение
для этого есть компоненты ShellListView/ShellTreeView
если у тебя система новее Delphi7, смотри здесь, как их установить
У меня 10-ка. Попробую, спасибо.
0
northener
пофигист широкого профиля
3252 / 2304 / 628
Регистрация: 15.07.2013
Сообщений: 13,600
08.07.2017, 01:51 #8
Цитата Сообщение от n1056 Посмотреть сообщение
Нужно выбранную файловую структуру (файлы, папки, подпапки..) уложить в пакет.
Цитата Сообщение от n1056 Посмотреть сообщение
Странно, что нет готовых решений. Задача на мой взгляд базовая. Должна быть востребована в большом количестве проектов с диалогом выбора фалов/папок.
Может и странно, но мне ни разу не приходило в голову укладывать в один "пакет" "совсем разные папки" выбранные пользователем через диалог.
0
Massaraksh7
311 / 264 / 87
Регистрация: 27.05.2017
Сообщений: 1,350
08.07.2017, 01:58 #9
Цитата Сообщение от northener Посмотреть сообщение
Может и странно, но мне ни разу не приходило в голову укладывать в один "пакет" "совсем разные папки" выбранные пользователем через диалог.
Задач таких не было, значит. Бывают и такие.
0
northener
пофигист широкого профиля
3252 / 2304 / 628
Регистрация: 15.07.2013
Сообщений: 13,600
08.07.2017, 02:08 #10
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
Задач таких не было, значит. Бывают и такие.
Пример привести не в лом?
0
Massaraksh7
311 / 264 / 87
Регистрация: 27.05.2017
Сообщений: 1,350
08.07.2017, 02:15 #11
Импорт файлов с данными с разными расширениями, разбросанными по разным каталогам.
0
northener
пофигист широкого профиля
3252 / 2304 / 628
Регистрация: 15.07.2013
Сообщений: 13,600
08.07.2017, 02:26 #12
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
Импорт файлов с данными с разными расширениями, разбросанными по разным каталогам.
Ну ты опять о "своём, о девичьем".
0
Massaraksh7
311 / 264 / 87
Регистрация: 27.05.2017
Сообщений: 1,350
08.07.2017, 02:34 #13
Я описываю реальные ситуации.
0
northener
пофигист широкого профиля
3252 / 2304 / 628
Регистрация: 15.07.2013
Сообщений: 13,600
08.07.2017, 02:42 #14
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
Я описываю реальные ситуации.
Ладно. Верю.
Подождем ответа автора вопроса.
0
n1056
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 56
08.07.2017, 22:16  [ТС] #15
Цитата Сообщение от northener Посмотреть сообщение
Пример привести не в лом?
Классическая задача архиватор.

Добавлено через 11 часов 59 минут
Цитата Сообщение от DenNik Посмотреть сообщение
для этого есть компоненты ShellListView/ShellTreeView
если у тебя система новее Delphi7, смотри здесь, как их установить
Пробую ShellListView и ShellTreeView, и есть сразу несколько вопросов.
1. Возможно ли в ShellListView добиться отображения файлов/папок в табличном представлении, что бы отображался размер файла и дата последнего изменения (как в проводнике)?
2. Возможно ли в ShellListView выделять сразу несколько файлов и папок?
3. Как получить список выделенных объектов из ShellListView?
0
DenNik
Непрофессионал
1784 / 1289 / 304
Регистрация: 26.07.2011
Сообщений: 7,532
09.07.2017, 22:39 #16
Цитата Сообщение от n1056 Посмотреть сообщение
1. Возможно ли в ShellListView добиться отображения файлов/папок в табличном представлении, что бы отображался размер файла и дата последнего изменения (как в проводнике)?
возможно

Цитата Сообщение от n1056 Посмотреть сообщение
2. Возможно ли в ShellListView выделять сразу несколько файлов и папок?
как ты в проводнике это делаешь?
0
D1973
Модератор
3271 / 2319 / 1161
Регистрация: 21.01.2014
Сообщений: 9,647
Записей в блоге: 3
Завершенные тесты: 1
10.07.2017, 07:24 #17
Лучший ответ Сообщение было отмечено n1056 как решение

Решение

Цитата Сообщение от n1056 Посмотреть сообщение
Возможно ли в ShellListView добиться отображения файлов/папок в табличном представлении, что бы отображался размер файла и дата последнего изменения (как в проводнике)?
Да. Свойство ViewStyle выставить в vsReport
Цитата Сообщение от n1056 Посмотреть сообщение
Возможно ли в ShellListView выделять сразу несколько файлов и папок?
Да. Свойство MultiSelect выставить в true
Цитата Сообщение от n1056 Посмотреть сообщение
Как получить список выделенных объектов из ShellListView?
Вот так:
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
 Memo1.Lines.Clear;
 for i:=0 to ShellListView1.Items.Count-1 do
  if ShellListView1.Items[i].Selected
   then Memo1.Lines.Add(ShellListView1.Folders[i].PathName);
end;
1
Миниатюры
Нужен диалог для выбора нескольких и файлов, и папок  
10.07.2017, 07:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2017, 07:24
Привет! Вот еще темы с решениями:

Какой элемент выбрать для вывода списка файлов с возможностью выбора
Какой элемент выбрать для вывода списка файлов с возможностью выбора. А именно...

Поиск папок, файлов
У меня есть код который перечислит название всех папок с корня диска С в...

Считывание файлов и папок
Здравствуйте уважаемые участники форума. Хочу переписать все название папок и...

Защита файлов и папок
Я проошу прощения если данный вопрос разместил не в том разделе, уважаемые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru