0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13

Вопрос по OpenDialog

04.01.2011, 10:29. Показов 1717. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться что не так!

Подскажите почему не работает:
C++
1
2
3
4
5
6
7
8
if (OpenDialog1->Execute())
{
N=0;
ifstream infile(OpenDialog1->FileName.c_str(),ios::binary);
if (!infle)
{ShovMessage("Ошибка открытия файла");
return;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2011, 10:29
Ответы с готовыми решениями:

Передача значения из OpenDialog в TextBox на общей форме из процедуры нажатия кнопки вызова OpenDialog
Доброго времени суток, уважаемые форумчане. На форме лежат TextBox и Button. Элементы созданы программно. При нажатии на Button вызывается...

OpenDialog
После выбора документа при помощи OpenDialog он всё время сохраняется в памяти. Можно сделать, чтобы выбор каждый раз очищался? И ещё,...

OpenDialog
Здравствуйте всем! Помогите плз как вызвать форму для выбора файла и чтоб она возвращала полный путь до файла спасибо !

14
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
04.01.2011, 10:49
Jonn123, ShovMessage - такого метода нет. Есть ShowMessage.
А в чём проблема, собственно? Какие ошибки?
0
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13
04.01.2011, 11:01  [ТС]
Подскажите почему не работает:
C++
1
2
3
4
5
6
7
8
if (OpenDialog1->Execute())
{
N=0;                                                                        
ifstream infile(OpenDialog1->FileName.c_str(),ios::binary);     // начинает выдавать ошибку (не может ссылаться на код параметров из-за ошибок в коде)
if (!infle)
{ShowMessage("Ошибка открытия файла"); // сдесь я не верно написал 
return;
}
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
04.01.2011, 11:04
Jonn123, для начала неплохо бы проверить, чтобы FileName был не пустой... а какие ошибки выдает конкретно
0
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13
04.01.2011, 11:11  [ТС]
FileName не пустой а ошибку выдает вот с этого места: ifstream infile( // тут выскакивает unable to invoke code parameters due to errors in code
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
04.01.2011, 11:20
Проверил, вот этот код работает:
C++
1
2
3
4
5
6
7
if (OpenDialog1->Execute()) {
  ifstream infile(OpenDialog1->FileName.c_str(),ios::binary);
  if (!infile) {
    ShowMessage("Ошибка открытия файла");
    return;
  }
}
1
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13
04.01.2011, 12:20  [ТС]
У меня он так же не работает ошибка в том же месте!
И как я понимаю ругается на infile
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
04.01.2011, 12:23
Jonn123, эмм... а вы подключили к проекту:
C++
1
#include <fstream.h>
0
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13
04.01.2011, 15:16  [ТС]
Да подключил.

Добавлено через 2 часа 43 минуты
Скажите чтоб это работало нужно в .h файле что нибудь писать?



C++
1
2
3
4
5
6
7
8
if (OpenDialog1->Execute())
{
N=0;                                                                        
ifstream infile(OpenDialog1->FileName.c_str(),ios::binary);     // начинает выдавать ошибку (не может ссылаться на код параметров из-за ошибок в коде)
if (!infle)
{ShowMessage("Ошибка открытия файла"); // сдесь я не верно написал 
return;
}
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.01.2011, 15:19
C++
1
2
3
4
5
if (FileExists(OpenDialog1->FileName) {
  ShowMessage("File exists");
}
else
  ShowMessage("File does not exist");
0
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13
04.01.2011, 16:59  [ТС]
Спрошу еще раз может кто то или я чего то не понимаю. Смысл в том что в программе при нажатии на пункт меню должно открыться окно выбора файла. Но код который есть у меня по какой то причине не работает! может кто нибудь подскажет.
Мне из моего кода удалось написать только :

C++
1
2
3
4
5
6
7
void __fastcall TPagesDlg::N4Click(TObject *Sender)
{
if (OpenDialog1->Execute())
{
N=0;
ifstream infile( //вот после этой скобки выводится сообщение "unable to invoke code parameters due to errors in code"
}
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
04.01.2011, 19:51
Jonn123, у других всё работает, а у вас - нет.
Подозрительно. А вы вообще добавили на форму компонент класса TOpenDialog?
0
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13
04.01.2011, 20:19  [ТС]
Конечно добавил! Иначе первой строчки бы не было. Ругается builder на слово infile
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
04.01.2011, 20:49
Цитата Сообщение от Jonn123 Посмотреть сообщение
Ругается builder на слово infile
Тогда почему у меня не ругается?
Создайте новый проект и вставьте туда код, который я написал в посте #6 (его я проверял, работоспособен).
Наконец-то измените имя объекта... изменится ли что-то?
0
0 / 0 / 0
Регистрация: 04.01.2011
Сообщений: 13
04.01.2011, 20:56  [ТС]
Хорошо попробую! и builder попробую другой. может в нем проблема.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2011, 20:56
Помогаю со студенческими работами здесь

OpenDialog
подскажите как сделать чтобы OpenDialog открывался как-бы в корневой директории диска С:\

OpenDialog
Если я не выбираю файл в опен диалоге или нажимаю отмену выбивает ошибка программы, как сделать проверку??

Opendialog
Столкнулся с одним подводным камнем(с своими слабыми знаниями) есть opendialog выбирает файл (1.doc) скажем отсылает его по сети... как...

OpenDialog
чет не пойму совсем я...(( вообщем сохраняется все хорошо, а потом этот файл открыть не могу. Код: void __fastcall...

OpenDialog
Возникла проблема. в Edit записываю путь к файлу, открытый в OpenDialog в формате &quot;C:\1\text.txt&quot; но в программе такое задание...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru