Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.02.2011
Сообщений: 60

Диалог выбора каталога (несколько вопросов)

27.03.2011, 21:17. Показов 1606. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для вызова диалога выбора каталога использую вот такую вещь:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Private Type BrowseInfo
    hwndOwner As Long
    pIDLRoot As Long
    pszDisplayName As Long
    lpszTitle As String
    ulFlags As Long
    lpfnCallback As Long
    lParam As Long
    iImage As Long
End Type
 
'Декларации
Private Declare Function SHBrowseForFolder Lib 'shell32' (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib 'shell32' (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Sub CoTaskMemFree Lib 'ole32.dll' (ByVal hMem As Long)
 
'Функция для вызова диалога
Private Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
Const BIF_RETURNONLYFSDIRS = 1, MAX_PATH = 260
Dim intNull As Integer, lngIdList As Long
Dim udtBI As BrowseInfo
 
With udtBI
    .hwndOwner = hwndOwner
    .lpszTitle = sPrompt
    .ulFlags = BIF_RETURNONLYFSDIRS
End With
 
lngIdList = SHBrowseForFolder(udtBI)
 
If lngIdList Then
    strPath = String$(MAX_PATH, 0)
    SHGetPathFromIDList lngIdList, strPath
    CoTaskMemFree lngIdList
    intNull = InStr(strPath, vbNullChar)
        If intNull Then strPath = Left$(strPath, intNull - 1)
End If
 
BrowseForFolder = strPath
 
End Function
Вопрос 1: что нужно изменить, чтобы ограничить область выбора 'Сетевым окружением' (папки на сетевых ресурсах)?
Вопрос 2: что нужно изменить, чтобы ограничить область выбора только локальными дисками (папки на локальных дисках)?

В смысле, всё остальное пусть будет видно, просто чтобы оно было недоступно. А лучше, чтобы вообще не было видно.

Какие будут идеи?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2011, 21:17
Ответы с готовыми решениями:

Диалог выбора каталога
Добрый день! Процедура КнопкаВыполнитьНажатие(Кнопка) Режим = РежимДиалогаВыбораФайла.ВыборКаталога; ДиалогОткрытия = Новый...

Диалог выбора каталога в VBA
Здравствуйте все! Я здесь человек новый, никого не знаю :) Тем не менее у меня вопрос: подскажите, кто знает, диалог выбора каталога ...

диалог выбора файла/каталога
База находиться на сервере Подскажите пожалуйста как можно через LotusScript или @ пользователю показать диалог выбора каталога/файла на...

4
0 / 0 / 0
Регистрация: 18.02.2011
Сообщений: 60
28.03.2011, 23:42  [ТС]
Гм... Ясно.
Ладно. Тогда сам себе ещё один вопрос задам.
Вопрос 3: путь к каталогу на сетевом ресурсе возвращается в виде \Comp_namedcatalog.
Можно ли каким-нибудь стандартным образом разделить эту строку на имя сетевого ресурса и диск:каталог:
\Comp_name & d:catalog
0
Comanche
29.03.2011, 12:37
Скачай, наконец, API Guide !!!
(www.allapi.net)

И смотри все АПИ-функции в разделе 'Path' (их имена, кстати, все начинаются с 'Path').
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
29.03.2011, 13:04
2pancer:
'\Comp_namedcatalog'

'\Comp_name & d:catalog'
ну и ищи третий слэш и бей по нему... ну и двоеточие ставаь... одна строка кода.
0
0 / 0 / 0
Регистрация: 18.02.2011
Сообщений: 60
29.03.2011, 21:07  [ТС]
2 Alexey Spirin:
Это уже сделано. Но это не изящно.
Я думал, есть что-нибудь стандартное из API.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2011, 21:07
Помогаю со студенческими работами здесь

Как создать диалог выбора шрифта и диалог выбора цвета
как создать диалог выбора шрифта и диалог выбора цвета в wpf

Несколько вопросов, касательно выбора хдд
Помогите определится в двух вещах: Что важно при выборе жесткого диска (цена, бренд, гарантия, емкость)? И какой диск лучше выбрать для...

Копирование каталога, если несколько файлов из этого каталога заняты процессом
Подскажите пожалуйста как можно скопировать каталог в котором несколько файлов заняты процессом, то бишь они не копируются... в общем мне...

Бот-болтун: начинать диалог с разных вопросов
Создал бота болтуна, но 1 проблема при запуске когда начинаешь с ним разговаривать говорит каждый раз одно и тоже по порядку cколько бы раз...

Диалог для открытия каталога
Нужен диалог для открытия каталога (но не файла). TDialogOpen не подходит по той причине, что там можно открывать только файлы. Возможно,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru