begin a:=StrToInt(Edit1.text); {преобразование текстовой строки в целое число}
b:=StrToInt(Edit2.text); Edit3.text:=''; {очистить от результата предыдущих вычислений}
{выбор операции в зависимости от значения свойства RadioGroup1.ItemIndex}
Case RadioGroup1.ItemIndex of : c:=a+b; {сложение}
: c:=a-b; {вычитание}
: c:=a*b; {умножение}
: {деление} if b=0 then ShowMessage('На ноль делить нельзя!')
else c:=a/b; end; if RadioGroup1.ItemIndex<> 3 then {вывод результата операций}
Edit3.text:= FloatToStrF(c,ffGeneral,10,7){преобразование
результата вещественного деления в текстовую строку}
else if b<>0 then Edit3.text:=FloatToStrF(c,ffGeneral,10,4) end; Как видно из текста процедуры, в операторе case выполняется выбор варианта вычислений, а вывод результата вычислений выполняется оператором, следующим после оператора case, причем для случая b=0 результат не вычисляется и в окне Edit3 не выводится, а выводится сообщение в окне сообщений.
14. Откомпилируйте и запустите приложение на выполнение.
Рис. 34. Вид окна приложения с сообщением об ошибке ввода делителя
Дополнительное задание 1.
Закройте окно приложения и отредактируйте текст модуля таким образом, чтобы перед выполнением вычислений выполнялась проверка, заданы ли значения операндов. Если значения операндов не заданы, то следует вывести сообщение об этом в отдельном окне.
Окно сообщения о некорректности значения операнда
Поместите перед оператором присваивания a:=StrToInt(Edit1.text); строку
if (Edit1.Text<>") and (Edit2.Text<>") then begin которая проверяет значения свойств Edit1.Text и Edit2.Text.
Если эти значения не пустые, то выполняется вычисление арифметической операции, в противном случае управление передается на следующий фрагмент программы, который нужно вставить перед последним оператором end;