Hey all. I have chosen IT as one of my subjects for my grade 10 year and have been using Delphi to learn. Recently I have decided to branch out a bit and create some things of my own. First was Tic Toe and now I am trying to make a calculator. I am an extreme beginner so just keep that in mind. my calculator works like this: when the user clicks on an operation both the value in the edit box and that operation get put in the small label above the edit box. When the user clicks '=' the computer must now evaluate the sum in the label and return the answer.
Could you show me how to do this?
The rest is not 100% complete , but it does function.
So yeah thanks in advance
Could you show me how to do this?
The rest is not 100% complete , but it does function.
Code:
//J. Walker
unit Calculator_U;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Math;
type
TForm1 = class(TForm)
edtCalc: TEdit;
lblSum: TLabel;
btn7: TButton;
btn8: TButton;
btn9: TButton;
btnPlus: TButton;
btn4: TButton;
btn5: TButton;
btn2: TButton;
btn1: TButton;
btn6: TButton;
btnPoint: TButton;
btn3: TButton;
btn0: TButton;
btnMinus: TButton;
btnMultiply: TButton;
btnDivide: TButton;
Button18: TButton;
btnEqual: TButton;
btnClear: TButton;
procedure btn0Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure btn5Click(Sender: TObject);
procedure btn6Click(Sender: TObject);
procedure btn7Click(Sender: TObject);
procedure btn8Click(Sender: TObject);
procedure btn9Click(Sender: TObject);
procedure btnPointClick(Sender: TObject);
procedure btnMinusClick(Sender: TObject);
procedure btnPlusClick(Sender: TObject);
procedure btnMultiplyClick(Sender: TObject);
procedure btnDivideClick(Sender: TObject);
procedure btnClearClick(Sender: TObject);
procedure btnEqualClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
sedtCalc : string;
implementation
{$R *.dfm}
//Digit Entry. 0-9 and .
procedure TForm1.btn0Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '0';
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '1'
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '2'
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '3'
end;
procedure TForm1.btn4Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '4'
end;
procedure TForm1.btn5Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '5'
end;
procedure TForm1.btn6Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '6'
end;
procedure TForm1.btn7Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '7'
end;
procedure TForm1.btn8Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '8'
end;
procedure TForm1.btn9Click(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) < 10 then
edtCalc.Text := edtCalc.Text + '9'
end;
procedure TForm1.btnPointClick(Sender: TObject);
var
ipointPos : Integer;
begin
sedtCalc := edtCalc.Text;
ipointPos := AnsiPos('.',sedtCalc);
if (ipointPos = 0) and (length(sedtCalc) > 0) then
edtCalc.Text := edtCalc.Text + '.';
end;
//Mathematical Functions
procedure TForm1.btnMinusClick(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) > 0 then
begin
edtCalc.Text := '';
lblSum.Caption := lblSum.Caption + sedtCalc + '-';
end;
end;
procedure TForm1.btnMultiplyClick(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) > 0 then
begin
edtCalc.Text := '';
lblSum.Caption := lblSum.Caption + sedtCalc + '*';
end;
end;
procedure TForm1.btnPlusClick(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) > 0 then
begin
edtCalc.Text := '';
lblSum.Caption := lblSum.Caption + sedtCalc + '+';
end;
end;
procedure TForm1.btnDivideClick(Sender: TObject);
begin
sedtCalc := edtCalc.Text;
if length(sedtCalc) > 0 then
begin
edtCalc.Text := '';
lblSum.Caption := lblSum.Caption + sedtCalc + '/';
end;
end;
//Clear.
procedure TForm1.btnClearClick(Sender: TObject);
begin
lblSum.Caption := '';
edtCalc.Text := '';
end;
procedure TForm1.btnEqualClick(Sender: TObject);
begin
//Calculation
end;
end.
So yeah thanks in advance