Сегодня, наконец, закончим основу для простейшего калькулятора.
Рис. 11.1 Интерфейс программы калькулятор.
Для каждой кнопки с цифрой уже прописано:
1 |
form1.Edit1.Text:=form1.Edit1.Text+номер кнопки; |
Теперь необходимо сделать так, чтобы после ввода первого числа при нажатии на операции происходила запись числа в переменную и очистка поля ввода.
Для записи будем использовать обычную переменную вещественного типа.
А очистить поле можно так:
1 |
form1.Edit1.Text:=''; |
Но встает вопрос как же отличать операции? Давайте создадим целочисленную переменную в которую будем записывать цифру соответствующую операции.
1- Сложение
2- Вычитание
3- Умножение
4- Деление
И при нажатии на кнопку операции будем вносить эти значения в переменную.
А затем при нажатии на равно будем брать второе число и при помощи оператора Case будем выбирать какую же операцию сделать.
Для вычитания обработчик будет выглядеть так:
1 2 3 4 5 |
x1:=strtofloat(edit1.Text); form1.Edit1.Text:=''; op:=2; |
Здесь x1-это переменная, в которую запишем первое число, op-код операции.
Вот обработчик кнопки равно:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
procedure TForm1.Button17Click(Sender: TObject); begin x2:=strtofloat(edit1.Text); form1.Edit1.Text:=''; case op of 1:edit1.Text:=floattostr(x1+x2); 2:edit1.Text:=floattostr(x1-x2); 3:edit1.Text:=floattostr(x1*x2); 4:edit1.Text:=floattostr(x1/x2); end; end; |
Тут x2-второе число.
Как видно для результата не создается специальная переменная, а сразу вставляется выражение соответствующее коду.
После того, как все обработчики событий будут прописаны остается только создать кнопку для очистки поля ввода. Вот ее обработчик:
1 2 3 4 5 6 7 |
procedure TForm1.Button2Click(Sender: TObject); begin form1.Edit1.Text:=form1.Edit1.Text+'2'; end; |
Рис. 11.2 Итоговый вид программы калькулятор.
Практическое задание.
1. Вставить в калькулятор функцию извлечения корня.
2. Вставить функцию возведения в квадрат.
3. Вставить функции тригонометрии.
Об авторе