Компоновка. Запуск программы. Ошибки времени выполнения.
В листинге 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("Величина сопротивления не должна быть равна
нулю.");

Рис. 2.36. Сообщение, выведенное функцией ShowMessage
Следует обратить внимание на то, что в заголовке окна сообщения, выводимого функцией ShowMessage, указывается название приложения. Название приложения задается на вкладке Application окна Project Options. Если название приложения не задано, то в заголовке будет имя исполняемого файла.
Для вывода сообщений можно использовать функцию MessageDlg. Функция MessageDlg позволяет поместить в окно с сообщением один из стандартных значков, например "Внимание", задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь. На рис. 2.37 приведено окно, выведенное в результате выполнения инструкции:
MessageDlg("Файл c:\Xtemp\\test.txt будет удален.",
mtWarning, TMsgDlgButtons() << mbOK << mbCancel, 0);

Рис. 2.37. Пример окна сообщения
