Обработка исключительных ситуаций
В процессе выполнения приложение Калькуляторвозможны исключительные ситуации, связанные с отсутствием значений операндов при вычислениях, а также делением на ноль при выполнении операции деления.
В случае попытки вычисления при пустом поле ввода произойдет ошибка преобразования – пустая строка будет преобразовываться в число.
Для обработки этих исключительных ситуаций добавим в методы обработчики событий OnClick операторы try…except.
Пример обработки в методе BtnDivideClick:
procedure TFormCalc.BtnDivideClick(Sender: TObject);
Begin
Try
EditResult.Text:= FloatToStr(
StrToFloat(EditOperand1.Text)/
StrToFloat(EditOperand2.Text));
OperatorLabel.Caption:='/';
ResultLabel.Caption :='=';
EditOperand1.SetFocus;
Except
On EConvertError do
MessageDlg('Ошибка данных', mtWarning, [mbOK], 0);
On EZeroDivide do
MessageDlg('Деление на ноль', mtError, [mbOK], 0);
end;
end;
В методыBtnAddClick, BtnMinusClick, BtnMultClick следует добавить обработки исключений классов EConvertErrorи EIntError (класс исключений для ошибок целочисленной арифметики – деление на 0, переполнение).
5.2.5 Файлы приложения Калькулятор
Теперь перейдем в директорию, куда был сохранен проект ProjectCalc, и посмотрим, какие файлы там присутствуют. Рассмотрим назначение этих файлов:
• ProjectCalc.cfg – откомпилированный файл настроек проекта
• ProjectCalc.dof – файл содержит опции проекта.
Например,
RootDir = D:\Введение в конструирование программ\calculator\
• ProjectCalc.dpr – файл проекта
• ProjectCalc.res – файл содержит ресурсы проекта, такие как иконки, курсоры и другие
• UnitCalc.pas – файл с исходным кодом модуля UnitCalc
• UnitCalc.dfm – файл содержит информацию о форме
• UnitCalc.ddp – вспомогательный файл модуля UnitCalc
• UnitCalc.dcu – откомпилированного файл модуля UnitCalc.
Тексты файловProjectCalc.dprиUnitCalc.pasприведены в Приложении.