Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 21:43   #1
willr
Новичок
Джуниор
 
Регистрация: 29.05.2010
Сообщений: 1
По умолчанию Дилог открытия файла в visual 2008

Здравствуйте.
Буду очень благодарен если кто мне объяснит как пользоваться OpenFileDialog в Visual 2008 (C++).
Порылся в интернете нашел пару примеров не один не работает. Может у меня руки кривые не знаю.
Заранее спасибо
willr вне форума Ответить с цитированием
Старый 30.05.2010, 02:01   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

WindowsForms? Кидаете на формочку компонент OpenFileDialog. В обработчике кнопки, по нажатию на которую он должен появляться, пишите код:
Код:
/*можно инициализировать*/
openFileDialog1->InitialDirectory = "d:\\"; //открывает сразу диск D
openFileDialog1->Filter = "image(*.jpg)|*.jpg|All files (*.*)|*.*"; //фильтр на тип файлов
if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
 {
         MessageBox::Show(openFileDialog1->FileName); //собственно выводим имя выбранного файла
 }
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 09.06.2010, 10:28   #3
avd
Пользователь
 
Регистрация: 06.06.2010
Сообщений: 79
По умолчанию

Нужно сохранить в массив(?) имена выбранных файлов.
Научите начинающего работать с такими массивами.

Код:
System::Array ^ar;
if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
    if (openFileDialog1->FileNames != nullptr)
    {
        for(int i =0 ; i < openFileDialog1->FileNames->Length ; i++ )
        {
            richTextBox1->Text += openFileDialog1->FileNames[i] + "\n";
	ar = openFileDialog1->FileNames[i]; /* Тут ошибка - cannot convert from 'System::String ^' to 'System::Array ^' */
        }
    }
}
avd вне форума Ответить с цитированием
Старый 09.06.2010, 12:23   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Вы пытаетесь массиву присвоить строку. Если вам нужно поместить в массив строку, то следует вызвать метод add/insert/push массива - точно не помню какой из них.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) cherw9!40k Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 14.01.2010 20:51
Проблема с windows visual styles в Visual studio 2008 express. [awa Visual C++ 2 09.01.2010 06:05
Visual Studio Standard 2008 против Visual Studio Express 2008. Стоит ли покупать? Casper-SC Софт 4 31.12.2009 11:46
VISUAL STUDIO 2008 defaul language - как переключить в VISUAL STUDIO 2008 язык программирования, использ Эйнж Общие вопросы C/C++ 0 27.12.2009 20:39
Как перевести проект из Visual C++ 2003 в Visual C++ 2008? iukash Visual C++ 8 17.04.2009 22:36