unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type Toperator = (Plus,Minus,Gange,Divider); TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; Button12: TButton; Button13: TButton; Button14: TButton; Button15: TButton; Button16: TButton; Button17: TButton; procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Button10Click(Sender: TObject); procedure Button14Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button12Click(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button16Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Operator: Toperator; comma_space: integer; comma1: integer; i : integer; tal : Double; implementation {$R *.dfm} procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case key of #13 : Button14.Click; #42 : Button12.Click; #43 : Button10.Click; #44 : Button15.Click; #45 : Button11.Click; #47 : Button13.Click; #48 : Button16.Click; #49 : Button1.Click; #50 : Button2.Click; #51 : Button3.Click; #52 : Button4.Click; #53 : Button5.Click; #54 : Button6.Click; #55 : Button7.Click; #56 : Button8.Click; #57 : Button9.Click; end; end; procedure TForm1.Button10Click(Sender: TObject); begin Tal:=StrToFloat(Edit1.Text); Operator:=Plus; Edit1.Text:=FloatToStr(0); Edit1.SetFocus; end; procedure TForm1.Button14Click(Sender: TObject); begin Case Operator of Plus : Tal:=Tal+StrToFloat(Edit1.Text); Minus: Tal:=Tal-StrToFloat(Edit1.Text); Gange: Tal:=Tal*StrToFloat(Edit1.Text); end; if (Operator=Divider) AND (Edit1.Text='0') then Edit1.Text:=FloatToStr(1) else Tal:=Tal/StrToFloat(Edit1.Text); Edit1.Text:=FloatToStr(Tal); Edit1.SetFocus; end; procedure TForm1.Button11Click(Sender: TObject); begin Tal:=StrToFloat(Edit1.Text); Operator:=Minus; Edit1.Text:=FloatToStr(0); Edit1.SetFocus; end; procedure TForm1.Button12Click(Sender: TObject); begin Tal:=StrToFloat(Edit1.Text); Operator:=Gange; Edit1.Text:=FloatToStr(0); Edit1.SetFocus; end; procedure TForm1.Button13Click(Sender: TObject); begin Tal:=StrToFloat(Edit1.Text); Operator:=Divider; Edit1.Text:=FloatToStr(0); Edit1.SetFocus; end; procedure TForm1.Button16Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+0); Edit1.SetFocus; end; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+1); Edit1.SetFocus; end; procedure TForm1.Button2Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+2); Edit1.SetFocus; end; procedure TForm1.Button3Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+3); Edit1.SetFocus; end; procedure TForm1.Button4Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+4); Edit1.SetFocus; end; procedure TForm1.Button5Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+5); Edit1.SetFocus; end; procedure TForm1.Button6Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+6); Edit1.SetFocus; end; procedure TForm1.Button7Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+7); Edit1.SetFocus; end; procedure TForm1.Button8Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+8); Edit1.SetFocus; end; procedure TForm1.Button9Click(Sender: TObject); begin Edit1.Text:=FloatToStr(StrToFloat(Edit1.Text)*10+9); Edit1.SetFocus; end; procedure TForm1.FormShow(Sender: TObject); begin Edit1.Text:=FloatToStr(0); Edit1.SetFocus; end; end.