procedureVal(S; varV; varCode: Integer), где s – строковое представление числа, v – параметр, через которое процедура возвращает число целого или вещественного типа, Code – если строка s не является представлением числа, то параметр Code содержит номер ошибочного символа.
Итак, в обработчике события OnClick кнопки ExecuteBtn введем следующую последовательность операторов:
procedure TForm1.Button1Click(Sender: TObject);
var Angle_degree, Angle_radian: real;
Error: Integer;
begin
val(DegreeEdt.text, Angle_degree, Error);
if Error = 0 Then Begin
Angle_radian:= Angle_degree*Pi/180;
RadianEdt.text:=FloatToStr(Angle_Radian);
End
Else Begin
Application.MessageBox(‘Ошибкапривводеградусноймерыугла', 'Ошибка',MB_OK);
DegreeEdt.text:='0';
RadianEdt.text:='0';
End;
End;
Поясним операторы обработчика события OnClick.
Первый оператор преобразует введенную в строковом формате градусную меру угла в вещественное число.
Если параметр Error равен нулю, то ошибок при введении числа нет. В этом случае получаем радианную меру угла, функция FloatToStr преобразует вещественное число в строку.
В противном случае воспользуемся методом объекта Application для отображения диалогового окна об ошибке, и восстановим нулевые значения в компонентах DegreeEdt и RadianEdt.
Сохраните изменения, внесенные в проект. Запустите приложение.
Создайте обработчик события onKeyDown компонента DegreeEdt:
If key = 13 then ExecuteBtn.click;
Задания для самостоятельного выполнения
1. Написать программу для подсчета количества полных дней, прошедших с начала года, если сейчас год Y, месяц M, день D (Y, M и D вводятся пользователем). Кнопка «Подсчитать» должна быть расположена в правом нижнем углу формы на расстоянии 5 пикселей от ее края (необходимо создать обработчик события, который при изменении размеров формы сохраняет местоположение кнопки). Осуществите проверку корректности ввода.
2. Напишите программу для расчета платежной ведомости за неделю в фирме «Весна». Форма должна содержать 2 окна редактирования: одно – для ввода количества отработанных часов, другое – для ввода стоимости одного часа. Программа должна вычислять и показывать заработную плату за неделю. Каждый час отработанный сверхурочно выше нормы в 37,5 часов оплачивается по ставке, превышающей обычную в 1,5 раза. Кроме того, добавьте проверку корректности ввода данных (исходные данные – положительные числа, количество отработанных часов не должно превышать максимально возможного).
3. Написать программу для решения квадратного уравнения. Осуществите проверку корректности ввода.
4. Напишите программу «Вопрос работодателя», которая выполняет следующие действия:
· Первоначально форма имеет следующий вид (рис. 1).
· Кнопка «Да» имеет подсказку ‘Нажми сюда’. При нажатии на кнопку «Да» приложении закрывается, выводя сообщение «Мы так и думали!».
·
При попытке нажатия на кнопку «Нет» эта кнопка перемещается по форме в произвольном направлении (рис. 2).Содержание отчета
Критерии оценки
Первая оценка – конспект – 4 балла, пример приложения – 1 балл.
Вторая оценка – задание для самостоятельного выполнения № 1
Третья оценка – задание для самостоятельного выполнения № 2
Четвертая оценка – задание для самостоятельного выполнения № 3
Пятая оценка – задание для самостоятельного выполнения № 4