Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/55: Рейтинг темы: голосов - 55, средняя оценка - 4.93
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732

Выбор папки

09.11.2011, 02:34. Показов 10657. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли компонент под такое, как на скрине? Или это просто форма/диалог + DirectoryListBox1 ? Знаю, можно сделать FileOpenDialog с опцией fdopickfolder, но мне не очень так нравится. Хотелось бы как на скрине Может кто подскажет?
Миниатюры
Выбор папки  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2011, 02:34
Ответы с готовыми решениями:

OpenDialog: выбор папки, а не файла
Добрый вечер еще раз! Вот у меня такая ситуация: Для OpenDialog1->Execute(HWND); мне нужна чтоб OpenDialog по умолчанию откриваль одну...

Диалог просмотра сети и выбор в нем общей сетевой папки
Добрый день! Нужно считывать файл из заданной папки в сети, после обработки его записывать обратно. Подскажите пожалуйста - как...

Выбор нужной папки по маске и подстановка названия выбранной папки в путь в bat файле
Здравствуйте! Есть папка dist содержащая папки с дистрибутивами 1С вида: dist\8.3.5.1186 dist\8.3.6.1977 и тд. В bat файле,скажем,...

7
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
09.11.2011, 06:46
вообще вопрос очень faq-овый, и хотя ответ "SelectDirectory" очень прост, все это дело почему-то вызывает затруднения у людей.

C++
1
2
AnsiString initfolder="Desktop",selected_folder;
SelectDirectory("Выберите директорию...",WideString(initfolder),selected_folder);
1
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
09.11.2011, 11:21  [ТС]
надо было сказать, что нужно подключить #include "FileCtrl.hpp" и пишется функция совсем по другому, например
C++
1
SelectDirectory(out, TSelectDirOpts() << sdAllowCreate << sdPerformCreate << sdPrompt,1000);
да и результат совсем не тот
Миниатюры
Выбор папки  
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
09.11.2011, 11:32
вот вот)
или вот так:
C++
1
extern PACKAGE bool __fastcall SelectDirectory(const AnsiString Caption, const WideString Root, AnsiString &Directory, TSelectDirExtOpts Options = (Set<TSelectDirExtOpt, sdNewFolder, sdValidateDir> () << TSelectDirExtOpt(3) ), Controls::TWinControl* Parent = (Controls::TWinControl*)(0x0))/* overload */;
попробуйте такой код, будете удивлены)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
AnsiString seldir(AnsiString inidir)//--------------- SELECT DIRECTORY ----------------
{
AnsiString initfolder,workfolder;
workfolder=inidir;
initfolder="Desktop";
if(!DirectoryExists(workfolder))initfolder="Desktop";
if(!SelectDirectory("Выберите директорию...",WideString(initfolder),workfolder));
return workfolder;
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
seldir("D:\\Temp\\");
}
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
09.11.2011, 11:37  [ТС]
я не удивлен, т.к. это не работает
[BCC32 Error] Unit1.cpp(23): E2285 Could not find a match for 'SelectDirectory(const char *,WideString,AnsiString)'
Full parser context
Unit1.cpp(18): parsing: AnsiString seldir(AnsiString)
[BCC32 Error] Unit1.cpp(23): E2285 Could not find a match for 'SelectDirectory(const char *,WideString,AnsiString)'
Full parser context
Unit1.cpp(18): parsing: AnsiString seldir(AnsiString)
[BCC32 Warning] Unit1.cpp(23): W8019 Code has no effect
Full parser context
Unit1.cpp(18): parsing: AnsiString seldir(AnsiString)
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
09.11.2011, 11:38
у меня в bcb6 и bds2006 работает уже много лет)
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
09.11.2011, 11:44  [ТС]
а в хе2, как видишь, нет
1
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
09.11.2011, 14:21
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
String initfolder = "Desktop", selected_folder;
SelectDirectory("Выберите папку", "Desktop", selected_folder, TSelectDirExtOpts() << sdNewUI << sdValidateDir << sdShowEdit << sdNewFolder, 0);
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.11.2011, 14:21
Помогаю со студенческими работами здесь

Выбор папки в WPF
Я пишу приложение на WPF, и хочу чтобы оно загружало папку с файлами. Предложенные Microsoft.WindowsAPICodePack.Dialogs и...

Выбор случайной папки
Подскажите кто-нибудь, нужно, допустим, на диске D выбрать из списка папок случайную, чтобы позже в ней создать какие-либо файлы,...

Выбор папки из ярлыка
Добрый день! Возникла необходимость выбирать расшаренную папку в сетевом расположении. Обычно пользователь пользуется быстрым...

Удобный выбор папки
Надо на форме получать путь к папке в текстовом виде. Не могу найти ничего подходящего и готового. Т.е. надо нечто подобное...

Выбор папки из каталога
Ребят подскажите как реализовать выбор папки для последующего копирования из нее файлов? Суть такова есть папка temp в ней много папок с...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru