«Калькулятор Delphi» — это фраза, которая может иметь множество интерпретаций в зависимости от контекста. Если вы имеете в виду программу-калькулятор, разработанную с использованием языка программирования Delphi, я могу предоставить вам пример простой реализации калькулятора. Однако, если вы имеете в виду что-то другое, предоставьте более подробную информацию, чтобы я мог вам помочь.
Вот пример базового калькулятора, реализованного в Delphi:
unit CalculatorForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TCalculatorForm = class(TForm)
Display: TEdit;
Button0: TButton;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
ButtonAdd: TButton;
ButtonSubtract: TButton;
ButtonMultiply: TButton;
ButtonDivide: TButton;
ButtonEquals: TButton;
ButtonClear: TButton;
procedure ButtonNumberClick(Sender: TObject);
procedure ButtonOperatorClick(Sender: TObject);
procedure ButtonEqualsClick(Sender: TObject);
procedure ButtonClearClick(Sender: TObject);
private
{ Private declarations }
FOperator: Char;
FOperand1: Double;
FOperand2: Double;
FResult: Double;
FIsResult: Boolean;
procedure UpdateDisplay;
procedure Clear;
function Calculate: Double;
public
{ Public declarations }
end;
var
CalculatorForm: TCalculatorForm;
implementation
{$R *.dfm}
procedure TCalculatorForm.ButtonNumberClick(Sender: TObject);
begin
if FIsResult then
Clear;
Display.Text := Display.Text + (Sender as TButton).Caption;
end;
procedure TCalculatorForm.ButtonOperatorClick(Sender: TObject);
begin
FOperator := (Sender as TButton).Caption[1];
FOperand1 := StrToFloat(Display.Text);
FIsResult := True;
end;
procedure TCalculatorForm.ButtonEqualsClick(Sender: TObject);
begin
FOperand2 := StrToFloat(Display.Text);
FResult := Calculate;
Display.Text := FloatToStr(FResult);
FIsResult := True;
end;
procedure TCalculatorForm.ButtonClearClick(Sender: TObject);
begin
Clear;
end;
procedure TCalculatorForm.Clear;
begin
Display.Clear;
FOperator := #0;
FOperand1 := 0;
FOperand2 := 0;
FResult := 0;
FIsResult := False;
end;
procedure TCalculatorForm.UpdateDisplay;
begin
Display.Text := FloatToStr(FResult);
end;
function TCalculatorForm.Calculate: Double;
begin
case FOperator of
'+': Result := FOperand1 + FOperand2;
'-': Result := FOperand1 - FOperand2;
'*': Result := FOperand1 * FOperand2;
'/': Result := FOperand1 / FOperand2;
else
Result := 0;
end;
end;
end.
Этот код определяет форму с кнопками, представляющими числа, арифметические операторы и другие функции калькулятора. Процедура ButtonNumberClickобрабатывает добавление нажатого номера на дисплей, а процедура ButtonOperatorClickсохраняет выбранный оператор. Процедура ButtonEqualsClickвыполняет расчет и отображает результат. Процедура ButtonClearClickочищает дисплей и сбрасывает состояние калькулятора.
Приведенный код является простым примером и может потребовать дальнейших улучшений в зависимости от ваших конкретных требований.