Class TCalculator (unit Calculator)

Inherits from

TCustomControl

Constructors


Constructor Create(AOwner : TComponent);

Public declarations

Since edit controls do not handle justification unless multi-line (and then only poorly) we will draw right and center justify manually unless the edit has the focus.



Functions

Destructor Destroy;

DisplayEdit.

Procedure KeyPress(Var Key : Char);


Procedure AddBtnClick(Sender : TObject);


Procedure Calculate;

.

Procedure ClearBtnClick(Sender : TObject);

Perform Calculation.

Procedure DividBtnClick(Sender : TObject);


Procedure EnterBtnClick(Sender : TObject);


Procedure MultBtnClick(Sender : TObject);


procedure NumberBtnClick(Sender: TObject);


Procedure SubBtnClick(Sender : TObject);

Addition.

Properties

Events

event OnKeyPress :

Published declarations

Variables

aCh : Char;

Private declarations

AddBtn : TSpeedButton;


ClearBtn : TSpeedButton;


DecDigits : LongInt;


DisplayEdit : TNumInp;


DividBtn : TSpeedButton;


EightBtn : TSpeedButton;


EnterBtn : TSpeedButton;


FiveBtn : TSpeedButton;


FourBtn : TSpeedButton;


MultBtn : TSpeedButton;


NineBtn : TSpeedButton;


OneBtn : TSpeedButton;


Operator : TOperator;


PeriodBtn : TSpeedButton;


PreviousValue : Extended;


SetToClear : Boolean;


SevenBtn : TSpeedButton;


SixBtn : TSpeedButton;


SubBtn : TSpeedButton;


ThreeBtn : TSpeedButton;


TwoBtn : TSpeedButton;


ZeroBtn : TSpeedButton;



Constructors


Constructor Create(AOwner : TComponent);

Public declarations

Since edit controls do not handle justification unless multi-line (and then only poorly) we will draw right and center justify manually unless the edit has the focus.


Functions


Destructor Destroy;

DisplayEdit.Enabled := FALSE;


Procedure KeyPress(Var Key : Char);


Procedure AddBtnClick(Sender : TObject);


Procedure Calculate;

. decimal point.


Procedure ClearBtnClick(Sender : TObject);

Perform Calculation.


Procedure DividBtnClick(Sender : TObject);


Procedure EnterBtnClick(Sender : TObject);


Procedure MultBtnClick(Sender : TObject);


procedure NumberBtnClick(Sender: TObject);


Procedure SubBtnClick(Sender : TObject);

Addition.


Properties


Events


event OnKeyPress :

Published declarations


Variables


aCh : Char;

Private declarations


AddBtn : TSpeedButton;


ClearBtn : TSpeedButton;


DecDigits : LongInt;


DisplayEdit : TNumInp;


DividBtn : TSpeedButton;


EightBtn : TSpeedButton;


EnterBtn : TSpeedButton;


FiveBtn : TSpeedButton;


FourBtn : TSpeedButton;


MultBtn : TSpeedButton;


NineBtn : TSpeedButton;


OneBtn : TSpeedButton;


Operator : TOperator;


PeriodBtn : TSpeedButton;


PreviousValue : Extended;


SetToClear : Boolean;


SevenBtn : TSpeedButton;


SixBtn : TSpeedButton;


SubBtn : TSpeedButton;


ThreeBtn : TSpeedButton;


TwoBtn : TSpeedButton;


ZeroBtn : TSpeedButton;