Читайте также: |
|
1. Откройте проект, над которым работали на лабораторной работе № 1.
Добавьте еще одну форму. Измените ее заголовок на «Калькулятор». Обработайте кнопку «Калькулятор» на первой форме – «Главное меню» - так, чтобы по щелчку появлялась новая форма (Form4).
2. Оформите форму по образцу:
Для компонента Edit свойство ReadOnly установите true, т.е. текст нельзя будет редактрировать, а можно только просматривать;
Обработайте событие OnClick для кнопки с заголовком “1” следующим образом:
procedure TForm1.Button1Click(Sender: TObject);
Var
s: string; {необходима для хранения цифры с заголовка кнопки}
Begin
{рассматриваем объект, вызвавший событие, как объект класса
TButton и выберем у него свойство Caption}
s:= (Sender as TButton).Caption;
{если в Edit1 уже что-то есть, кроме 0, то просто допишем туда
одну цифру}
if Edit1.Text <> '0' then
Edit1.Text:= Edit1.Text + s
Else
if s <> '0' then
Edit1.Text:= s;
{а если там 0, то ещё один 0 дописать нельзя}
end;
Сохраните проект, запустите его и проверьте, правильно ли работает кнопка с заголовком “1”;
За счет использования оператора (Sender as TButton) процедура обработки щелчка для кнопки с заголовком “1” стала универсальной и может быть использована без изменения для обработки щелчка по любой другой кнопке с цифрой. Выделите все кнопки с цифрами и в Инспекторе Объектов для события OnClick выберите соответствующей обработчик;
Сохраните проект, запустите его и проверьте, правильно ли работают кнопки с цифрами;
Обработайте событие OnClick для кнопки сброса “C”;
Сложение двух чисел будем производить по следующим этапам:
В строку редактирования необходимо ввести 1-ое число;
Нажать кнопку “+”, после чего калькулятор ещё не выполнит сложение, а лишь запомнит первое число в переменную x и знак операции в переменную o, также очистит строку редактирования для ввода следующего числа;
В строку редактирования вводим 2-ое число;
По нажатию на кнопку “=” выполняется действие и результат отображается в строке редактирования.
При реализации арифметических действий необходимо преобразовывать число в строку и наоборот. В Object Pascal есть стандартные функции для выполнения этих преобразований:
StrToFloat(a: string) – возвращает вещественное число;
FloatToStr(c: real) – возвращает строку.
Для реализации действия сложения необходимо:
Описать глобальные переменные x и o;
Обработать событие OnClick для кнопки “+” следующим образом:
x:= StrToFloat(Edit1.Text);
o:= (Sender as TButton).Caption[1];
Edit1.Text:= '0';
Обработать событие OnClick для кнопки “=” следующим образом:
Var
y: real;
Begin
y:= StrToFloat(Edit1.Text);
case o of
'+': y:= x + y;
'-': y:= x - y;
'*': y:= x * y;
'/': if y = 0 then
ShowMessage('Деление на ноль')
Else
y:= x / y;
end;
Edit1.Text:= FloatToStr(y);
end;
Напишите код программы для остальных арифметических действий, используя процедуру обработки щелчка для кнопки с “+” для кнопок с “-”, “*”, “/”;
Запустите проект, проверьте правильность его работы. Попробуйте какое-нибудь число разделит на 0. Измените программу так, чтобы при делении на 0 выводилось сообщение о невозможности этой операции;
Напишите обработчики события OnClick для кнопки “,” и “+/-”;
Проверьте работу проекта.
Добавьте компонент со вкладки win32, запустите проект и посмотрите, как изменяться кнопки.
Дата добавления: 2015-10-26; просмотров: 132 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Laboratory work № 1.2 | | | A Simple Calculation |