Форум программистов, компьютерный форум CyberForum.ru

Диалоговое окно "ОК"/"Отмена" - C++

Восстановить пароль Регистрация
 
Obert
11 / 11 / 0
Регистрация: 17.08.2011
Сообщений: 172
07.11.2013, 17:55     Диалоговое окно "ОК"/"Отмена" #1
Здравствуйте. Как запросить у пользователя подтверждение? Прежде, чем задать вопрос на форуме, я честно искал, примеров нашёл много, но ничего не работает. Например (тут http://e2epro.com/page/MessageBox.php ):
C++
1
2
3
4
5
6
7
if (Application->MessageBox(
"Вы глухой?",
"Вопрос",
MB_YESNO + MB_ICONQUESTION) != IDYES)
{
return;
}
- не компилируется с сообщением:

[bcc32 Error] Unit1.cpp(23): E2034 Cannot convert 'char const[11]' to 'const wchar_t *'
[bcc32 Error] Unit1.cpp(23): E2342 Type mismatch in parameter 'Text' (wanted 'const wchar_t *', got 'const char *')
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
07.11.2013, 18:06     Диалоговое окно "ОК"/"Отмена" #2
C++
1
2
L"Вы глухой?",
L"Вопрос",
Obert
11 / 11 / 0
Регистрация: 17.08.2011
Сообщений: 172
07.11.2013, 18:44  [ТС]     Диалоговое окно "ОК"/"Отмена" #3
Croessmah, спасибо!

Добавлено через 35 минут
Не подскажете ещё, какого типа переменную надо использовать, если строки я хочу задать переменными?
Так:
C++
1
2
3
4
if (Application->MessageBox(
    s1,
    s2,
...
Пробовал:

String s1="Вы глухой?";

String s1=L"Вы глухой?";

wchar_t s1="Вы глухой?";

- не работает...
iRomul
 Аватар для iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 474
Завершенные тесты: 1
07.11.2013, 18:48     Диалоговое окно "ОК"/"Отмена" #4
Obert, wstring
Obert
11 / 11 / 0
Регистрация: 17.08.2011
Сообщений: 172
07.11.2013, 18:57  [ТС]     Диалоговое окно "ОК"/"Отмена" #5
Цитата Сообщение от iRomul Посмотреть сообщение
Obert, wstring
C++
1
wstring s1="Вы глухой?";
[bcc32 Error] Unit1.cpp(19): E2451 Undefined symbol 'wstring'
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,016
Записей в блоге: 10
Завершенные тесты: 1
07.11.2013, 19:03     Диалоговое окно "ОК"/"Отмена" #6
wchar_t *s1 = "Вы глухой?";
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
07.11.2013, 19:13     Диалоговое окно "ОК"/"Отмена" #7
Я так понял, тут вообще C++ Builder, да?
Obert
11 / 11 / 0
Регистрация: 17.08.2011
Сообщений: 172
07.11.2013, 19:14  [ТС]     Диалоговое окно "ОК"/"Отмена" #8
Цитата Сообщение от castaway Посмотреть сообщение
wchar_t *s1 = "Вы глухой?";
Вот так, с "L", работает
wchar_t *s1 = L"Вы глухой?";

Я то хотел оформить это в виде универсальной функции. Тогда придётся параметры передавать в виде строки с L? Не очень удобно...

Добавлено через 44 секунды
Цитата Сообщение от Croessmah Посмотреть сообщение
Я так понял, тут вообще C++ Builder, да?
Да, XE5.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
07.11.2013, 19:15     Диалоговое окно "ОК"/"Отмена" #9
Цитата Сообщение от Obert Посмотреть сообщение
Да, XE5.
Тогда и писать надо в соответствующий раздел, а не в этот. Теперь ждите когда перенесут
Obert
11 / 11 / 0
Регистрация: 17.08.2011
Сообщений: 172
07.11.2013, 19:23  [ТС]     Диалоговое окно "ОК"/"Отмена" #10
Цитата Сообщение от Croessmah Посмотреть сообщение
Тогда и писать надо в соответствующий раздел, а не в этот. Теперь ждите когда перенесут
Значит, не верно понял структуру форума. Посчитал, что этот вопрос относится к простым - к вопросам "C++ для начинающих", а "C++ Builder" ведь является C++.
Croessmah
07.11.2013, 19:35
  #11

Не по теме:

Цитата Сообщение от Obert Посмотреть сообщение
ведь является C++.
здесь обсуждается C++, а у Вас в коде из стандартного C++ только if и return - всё остальное уже не стандартно

Obert
11 / 11 / 0
Регистрация: 17.08.2011
Сообщений: 172
07.11.2013, 20:00  [ТС]     Диалоговое окно "ОК"/"Отмена" #12
Но можно закрывать тему, не переносить, просто при вызове функции буду использовать L"строка". Всем спасибо.
Специфику раздела на будущее учту.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2013, 20:15     Диалоговое окно "ОК"/"Отмена"
Еще ссылки по теме:

C++ как сделать "Старт", "Пауза", Стоп".
C++ Переменные "емкость", "Галлон", "Бензин"
Классы "Фигура", "Прямоугольник", "Круг" C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
07.11.2013, 20:15     Диалоговое окно "ОК"/"Отмена" #13
Цитата Сообщение от Obert Посмотреть сообщение
Но можно закрывать тему, не переносить, просто при вызове функции буду использовать L"строка".
Если желаете использовать широкие символы, то так и придется писать. Если нет, то где-то в настройках проекта нужно выключить какую-то опцию (не работал в билдере, но скорее всего это так).
Yandex
Объявления
07.11.2013, 20:15     Диалоговое окно "ОК"/"Отмена"
Ответ Создать тему
Опции темы

Текущее время: 00:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru