Выбор некольких каталогов с помощью SelectDirectoryDialog

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
aggvozdev
незнакомец
Сообщения: 2
Зарегистрирован: 14.02.2021 21:38:26

Выбор некольких каталогов с помощью SelectDirectoryDialog

Сообщение aggvozdev »

Необходимо выбрать не один каталог, а несколько, расположенных на одном уровне просмотра.
Для включения возможности выбора нескольких каталогов свойство SDD.Options:=[ofAllowMultiSelect].
После этого SDD позволяет выбрать несколько каталогов.
Вопрос: где получить список выбранных каталогов?
Аватара пользователя
DYUMON
постоялец
Сообщения: 234
Зарегистрирован: 11.03.2009 12:32:54
Контактная информация:

Сообщение DYUMON »

Сделай if sdd.excute then memo1.lines.add(sdd.filename) ; и посмотриткак список выглядит.
iskander
энтузиаст
Сообщения: 630
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

aggvozdev писал(а):Вопрос: где получить список выбранных каталогов?

В свойстве Files.
aggvozdev
незнакомец
Сообщения: 2
Зарегистрирован: 14.02.2021 21:38:26

Сообщение aggvozdev »

В SDD.FileName находится имя первого выделенного каталога.
Это в отладчике видно сразу. Я надеялся, что там будет список выделенных каталогов, но это не так.
Какого - либо элемента со списком строк не нашёл. Потому и вопрос.
Тем не менее, после повторного открытия формы, выделение нескольких каталогов остаётся. Что говорит о том, что где-то в недрах SDD эта информация хранится.
Вопрос в том, где?

Добавлено спустя 8 минут 44 секунды:
Re: Выбор некольких каталогов с помощью SelectDirectoryDialog
По-идее должно быть что-то тип tStringList (как в функции FindAllFiles).

Добавлено спустя 35 минут 20 секунд:
Re: Выбор некольких каталогов с помощью SelectDirectoryDialog
Нашёл.
Число выделенных каталогов находится в SDD.Files.Count.
Имена выделенных каталогов находятся в SDD.Files[i].
i - переменная от 0 до Count-1.
Спасибо всем.
iskander
энтузиаст
Сообщения: 630
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

Хм, зачем задавать вопросы, если не собираешься читать ответы?
Ответить