вопрос по common dialog

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

вопрос по common dialog

Сообщение v-adix » 23.03.2004 (Вт) 14:33

Моя программа требует от Common Dialog вызвать окно выбора файлов (ShowOpen), в котором необходимо выбрать более чем один файл. Мои действия:

1) ставил флаг cdlOFNAllowMultiselect . Этот вариант меня не устраивает т.к. окно выбора файлов ужасно некрасивое и никак не вписывается в мою прогу. Нужно обычное окно ShowOpen с возможностью выбора нескольких файлов.
2) флаги cdlOFNAllowMultiselect + cdlOFNExplorer . Это то, что мне нужно, но Common Dialog не возвращает имена выбранных файлов (если выбираю 1 файл, возвращает, а если более одного, то просто даёт папку в которой файлы находятся).

Оба варианта пробовал с компонентом Common Dialog и напрямую, вызывая API - результат тот же. Есть другие способы?

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 23.03.2004 (Вт) 16:20

он возвращает строку с разделителями, содержащую выбранные файлы
разделителем является либо пробел, либо Null-символ (Chr$(0))
по этому
Код: Выделить всё
Dim strFileNames() As String ' массив имен файлов
strFileNames = Split(cdl.FileName, Chr$(0)) ' cdl - CommonDialogControl
' при установленном флаге cdlOFNExplorer используется
' Null-символ в качестве разделителя
' нулевым элементом массива будет папка
' в которой лежат выбранные файлы
' последующие элементы - имена файлов
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList