Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
3 / 3 / 0
Регистрация: 21.10.2010
Сообщений: 32

Предупреждающее сообщение в Builder

03.10.2011, 22:52. Показов 5965. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите, пожалуйста, как в Builder C++ вывести предупреждающее сообщение типа "Вы действительно хотите удалить эту запись?"
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.10.2011, 22:52
Ответы с готовыми решениями:

Можно ли использовать C++ Builder v11 если купить Embarcadero C++Builder XE8
День добрый! Есть старый проект С++. Он компилируется на CodeGear™ C++Builder Version 11. Но на это ПО утеряна лицензия, сейчас...

Как использовать компоненты скомпилированные для C++ Builder 2007 в C++ Builder 2010?
Народ! Такая проблема... Есть набор компонентов т.н. Dicom VCL. Сайт производителя - http://www.medicalconnections.co.uk/. У них на...

Как заставить проект Builder 6 загруженный в Builder 2007 отображать новые кнопки
Люди добрые, кто нибудь встречался с такой проблемой: Я установил Builder 2007, загрузил в него проект, сделанный в Builder 6, при этом...

16
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.10.2011, 23:24
Хотя не понятно, откуда удаляется запись, для общения с пользователем можно использовать MessageBox:
C++
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
// Модальность:
MessageBox(0, "", "", MB_ICONWARNING|MB_SYSTEMMODAL);
MessageBox(0, "", "", MB_ICONEXCLAMATION|MB_SETFOREGROUND);
// Иконки:
MessageBox(0, "", "", MB_ICONWARNING|MB_OK);
MessageBox(0, "", "", MB_ICONEXCLAMATION|MB_OK);
MessageBox(0, "", "", MB_ICONSTOP|MB_OK);
MessageBox(0, "", "", MB_ICONERROR|MB_OK);
MessageBox(0, "", "", MB_ICONHAND|MB_OK);
MessageBox(0, "", "", MB_ICONINFORMATION|MB_OK);
MessageBox(0, "", "", MB_ICONASTERISK|MB_OK);
MessageBox(0, "", "", MB_ICONQUESTION|MB_OK);
// Кнопки:
MessageBox(0, "", "", MB_ICONQUESTION|MB_ABORTRETRYIGNORE);
MessageBox(0, "", "", MB_ICONQUESTION|MB_OK);
MessageBox(0, "", "", MB_ICONQUESTION|MB_OKCANCEL);
MessageBox(0, "", "", MB_ICONQUESTION|MB_RETRYCANCEL);
MessageBox(0, "", "", MB_ICONQUESTION|MB_YESNO);
MessageBox(0, "", "", MB_ICONQUESTION|MB_YESNOCANCEL);
// Результат:
  int iResult;
  iResult = MessageBox(0, "", "", MB_ICONQUESTION|MB_YESNOCANCEL);
 
  switch (iResult) {
    case IDYES:    ShowMessage("Yes");break; // Pressed Yes button
    case IDNO:     ShowMessage("No");break; // Pressed the No button
    case IDOK:     ShowMessage("Ok");break; // Pressed Ok button
    case IDCANCEL: ShowMessage("Cancel");break; // Pressed the Cancel button
    case IDABORT:  ShowMessage("Abort");break; // Pressed Abort button
    case IDRETRY:  ShowMessage("Retry");break; // Pressed the Retry button
    case IDIGNORE: ShowMessage("Ignore");break; // Pressed Ignore button
  }
естественно, вместо switch - case можно использовать if.
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 00:27
У меня в Buildere 6 этот код работает
C++
1
2
3
4
5
if (MessageDlg("Запрещено закрывать приложение!", mtInformation,
                                   TMsgDlgButtons() <<mbCancel,0) == mrCancel )
         {
         Action=caNone;
         }
а в Rad XE выдает такую ошибку
C++
1
2
3
[BCC32 Error] Unit1.cpp(22): E2034 Cannot convert 'TCloseAction' to 'TBasicAction *'
  Full parser context
    Unit1.cpp(18): parsing: void _fastcall TForm1::Button1Click(TObject *)
походу мне тоже как Programmer придется переписывать проекты.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 00:37
откуда ты это вызываешь ? огласите весь код, пжалста , в пределах разумного
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 00:43
работает на ура , даже в РАДХЕ2
Миниатюры
Предупреждающее сообщение в Builder  
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 00:52
Цитата Сообщение от LK Посмотреть сообщение
откуда ты это вызываешь ? огласите весь код, пжалста , в пределах разумного
Виноват сам не туда сунул я пробую диалог создать чтоб спрашивал закрыть форму или нет а тут только один вариант знаю что кудато надо сунуть <<mbOk а вот куда ... его знает.
Это просто исходник где я упражняюсь с MessageDlg.
0
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
04.10.2011, 00:54
Samrisbe,
C++
1
Action = 0
Должно работать
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 01:07
путаешь mbCancel - message button и mrCancel - message result

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
  int mess = (MessageDlg("Запрещено закрывать приложение!", mtInformation,
              TMsgDlgButtons()<<mbCancel<<mbOK,0)==mrCancel);
  switch (mess) {
    case mrCancel:Action=caNone;break;
    case mrOk:Close();break;
  }
}
2
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 01:19
Цитата Сообщение от LK Посмотреть сообщение
путаешь mbCancel - message button и mrCancel - message result

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
  int mess = (MessageDlg("Запрещено закрывать приложение!", mtInformation,
              TMsgDlgButtons()<<mbCancel<<mbOK,0)==mrCancel);
  switch (mess) {
    case mrCancel:Action=caNone;break;
    case mrOk:Close();break;
  }
}
Чет на Cancel заклинивает и MessageDlg не закрывается, васиз дас?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 01:39
дас ист дас фенстер...
дык... добиваем пользоватля по-полной )))))
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 01:41
А на самом деле как этот MessageDlg правильно сфарганить чтоб пользовател не вылил свой эмоциональный котел в монитор...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 01:41
что он должен делать , этот MessageDlg ?
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 01:46
Пользователь хочет закрыть приложение а у него есть несохраненные данные, вот тут то и нужен Диалог Сохранить и закрыть или вернуться к работе.
И еще коль такое дело Покажи один простой пример из этой серии
MessageBox(0, "", "", MB_ICONHAND|MB_OK);
ато ой как хочется увидеть что там за рука такая.
Плизз!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 02:02
не все сразу...
C++
1
2
3
4
5
6
7
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
  if (MessageDlg("Закрытие приложения", mtConfirmation,
                 TMsgDlgButtons() << mbOK<<mbCancel, 0)==mrCancel)
    Action=caFree;
    else Action=caNone;
}
Добавлено через 7 минут
MB_ICONSTOP 0x00000010L
A stop-sign icon appears in the message box.

MB_ICONERROR 0x00000010L
A stop-sign icon appears in the message box.

MB_ICONHAND 0x00000010L
A stop-sign icon appears in the message box.
MessageBox function


не судьба с рукой ...
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 02:03
Спасибо галактического масштаба! С чувством выполненного долга я ....
Ладно какнибудь без руки проживу.
0
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 02:13
Вот так получилось, нормальная тема.
Thank you very much!
Миниатюры
Предупреждающее сообщение в Builder  
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 02:42
вот так:
Ресурс не доступен.\nВы...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2011, 02:42
Помогаю со студенческими работами здесь

Какой компилятор C++ Builder использовать? Rad Studio 2009 глючит. C++ Builder 6 старый
Много раз замечал непонятки с компилятором. Масла в огонь подлил Какой посоветуете?

Как заставить проект сделанный на C++ Builder 6.0 работать на компьютере на котором не установлен этот самый Builder
вопрос абсолютно нубский,но очень волнует...но как заставить проект сделанный на C++ Builder 6.0 работать на компьютере на котором не...

История активности файла. (C++ Builder 6, C++ Builder XE2)
Здравствуйте. Пришла идея написать программу для выявления истории активности файла, например есть файл *.exe и нужно посмотреть какие...

можно ли в С++ Builder 2006 писать программы на С++ Builder 6?
подскажите, пожалуйста... если программка написана на С++ Builder 2006, могу ли я перевести проект под С++ Builder 6? если да, то как? ...

Ошибка EAccesViolation в методе класса - C++ Builder/Builder 6
Файл polygon.h #ifndef __My_Polygon_H #define __My_Polygon_H #include &lt;ostream&gt; typedef int Coordinate; //тип...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru