Вам понадобится
- - среда программирования Delphi
Инструкция
1
Запустите используемую вами среду программирования Delphi. Распланируйте интерфейс вашего приложения. На форме будет 26 кнопок, 10 из которых отвечают за цифры, а остальные — за функции. Дополнительно будет присутствовать компонент TPanel, на котором будет выводиться результат действия.
2
Добавьте в код 4 переменных, которые будут сохранять числа, введенные пользователем и определять режим. Например:
var
a, b, c: real; //числа, которые вводит пользователь
d: integer; //действие калькулятора
var
a, b, c: real; //числа, которые вводит пользователь
d: integer; //действие калькулятора
3
Созданные переменные можете внести как и в protected, так и в private. Теперь к каждой цифровой кнопке обработайте событие OnClick. Для всех цифр код будет идентичен:
procedure TForm1.Button1Click(Sender: TObject);
begin
Panel1.Caption:=Panel1.Caption+'число'
end;
Замените «число» на название кнопки (если это цифра 0, то Panel1.Caption+'0').
procedure TForm1.Button1Click(Sender: TObject);
begin
Panel1.Caption:=Panel1.Caption+'число'
end;
Замените «число» на название кнопки (если это цифра 0, то Panel1.Caption+'0').
4
Переменная d имеет формат integer и будет содержать соответствующее числовое значение какого-либо действия. Если будет осуществляться умножение, то можно задать действию значение 1, если деление — значение 2, если сложение — значение 3, и т. д. Для действия умножения код будет иметь вид:
procedure TForm1.ButtonMultiplyClick(Sender: TObject); //действие умножения
begin
a:=StrToFloat(Panel1.Caption); //после нажатия кнопки сохраняется значение переменной a
d:=1; //переменной действия задается соответствующее значение
Panel1.Caption:='';
end;
procedure TForm1.ButtonMultiplyClick(Sender: TObject); //действие умножения
begin
a:=StrToFloat(Panel1.Caption); //после нажатия кнопки сохраняется значение переменной a
d:=1; //переменной действия задается соответствующее значение
Panel1.Caption:='';
end;
5
Сделайте аналогичные операции для деления (ButtonDivClick), сложения (ButtonPlusClick), вычитания (ButtonMinusClick) и возведения в степени (ButtonPowerClick).
6
Для обработки значения ''='' необходимо сделать условие case и поочередно рассматривать каждое действие:
procedure TForm1.ButtonClick(Sender: TObject);
begin
case d of
1: begin //если d = 1, т. е. нажимается кнопка умножения, то происходит соответствующее действие
b:=StrToFloat(Panel1.Caption);
c:=a*b;
Panel1.Caption:=FloatToStr(c);
end;
2: begin
a:=StrToFloat(Panel1.Caption);
c:=a/b;
Panel1.Caption:=FloatToStr(c);
…
procedure TForm1.ButtonClick(Sender: TObject);
begin
case d of
1: begin //если d = 1, т. е. нажимается кнопка умножения, то происходит соответствующее действие
b:=StrToFloat(Panel1.Caption);
c:=a*b;
Panel1.Caption:=FloatToStr(c);
end;
2: begin
a:=StrToFloat(Panel1.Caption);
c:=a/b;
Panel1.Caption:=FloatToStr(c);
…
7
Аналогичным образом обработайте действия сложения, вычитания и возведения в степень. Калькулятор готов.
Видео по теме