Иллюстрированный самоучитель по C++ Builder

Компоновка. Запуск программы. Ошибки времени выполнения.

В листинге 2.3 приведена функция обработки события Onclick на командной кнопке Вычислить. В функцию включены инструкции обработки исключений.

Листинг 2.3. Обработка исключений.

void __fastcall TForml::ButtonlClick(TObject *Sender)
{
float u; // напряжение
float r; // сопротивление
float i; // ток
// получить данные из полей ввода
// возможно исключение – ошибка преобразования строки в число
try
{
u = StrToFloat(Editl › Text); г = StrToFloat(Edit2 › Text);
}
catch (EConvertError &e)
(
ShowMessage("При вводе дробных чисел используйте запятую.");
return;
}
// вычислить ток
// возможно исключение – деление на ноль
try
{
i = u/r;
}
catch (EZeroDivide &e)
{
ShowMessage("Величина сопротивления не должна быть равна нулю");
Edit2 › SetFocus(); // курсор а поле Сопротивление
return; }
// вывести результат в поле метки
Label4 › Caption = "Ток: " + FloatToStrF(i,ffGeneral,7.3); }

В приведенной функции для вывода сообщений в случае возникновения исключений использована функция ShowMessage, которая выводит на экран окно с текстом и командной кнопкой ОК. Инструкция вызова функции ShowMessage выглядит так:

ShowMessage(Сообщение);

Где сообщение – строковая константа (текст, который надо вывести). На рис. 2.36 приведен вид окна сообщения, полученного в результате выполнения инструкции:

ShowMessage("Величина сопротивления не должна быть равна
нулю.");

Иллюстрированный самоучитель по C++ Builder › Первый проект › Компоновка. Запуск программы. Ошибки времени выполнения.
Рис. 2.36. Сообщение, выведенное функцией ShowMessage

Следует обратить внимание на то, что в заголовке окна сообщения, выводимого функцией ShowMessage, указывается название приложения. Название приложения задается на вкладке Application окна Project Options. Если название приложения не задано, то в заголовке будет имя исполняемого файла.

Для вывода сообщений можно использовать функцию MessageDlg. Функция MessageDlg позволяет поместить в окно с сообщением один из стандартных значков, например "Внимание", задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь. На рис. 2.37 приведено окно, выведенное в результате выполнения инструкции:

MessageDlg("Файл c:\Xtemp\\test.txt будет удален.",
mtWarning, TMsgDlgButtons() << mbOK << mbCancel, 0);

Иллюстрированный самоучитель по C++ Builder › Первый проект › Компоновка. Запуск программы. Ошибки времени выполнения.
Рис. 2.37. Пример окна сообщения

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.