Не могу придумать как обработать кнопки скобок, помогите, пожалуйста.
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'1'
else Edit1.Text:='1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'2'
else Edit1.Text:='2';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'3'
else Edit1.Text:='3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'4'
else Edit1.Text:='4';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'5'
else Edit1.Text:='5';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'6'
else Edit1.Text:='6';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'7'
else Edit1.Text:='7';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'8'
else Edit1.Text:='8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'9'
else Edit1.Text:='9';
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
if p then Edit1.Text:='0';
p:=false;
if Edit1.Text <>'0' then
Edit1.Text:=Edit1.Text+'0'
else Edit1.Text:='0';
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
r1:=StrToFloat(Edit1.Text);
p:=true;
Oper:='+';
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
if not(p) then r2:=StrToFloat(Edit1.Text);
if p then r2:=r1;
case oper of
'+':Edit1.Text:=FloatToStr(r1+r2);
'-':Edit1.Text:=FloatToStr(r1-r2);
'*':Edit1.Text:=FloatToStr(r1*r2);
'/': if r2<>0 then
Edit1.Text:=FloatToStr(r1/r2)
else edit1.Text:='ERROR';
end;
p:=true;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
r1:=StrToFloat(Edit1.Text);
p:=true;
Oper:='-';
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
r1:=StrToFloat(Edit1.Text);
p:=true;
Oper:='*';
end;
procedure TForm1.Button19Click(Sender: TObject);
begin
r1:=StrToFloat(Edit1.Text);
p:=true;
Oper:='/';
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
r1:=StrToFloat(Edit1.Text);
p:=true; if r1<0 then edit1.Text:='ERROR' else
Edit1.Text:=FloatToStr(sqrt(r1));
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
r1:=StrToFloat(Edit1.Text);
p:=true;
Edit1.Text:=FloatToStr(sqr(r1));
end;
procedure TForm1.Button11Click(Sender: TObject);
var s:string; i,a:byte;
begin
s:=edit1.Text;
a:=0;
for i:=1 to length(s) do
if s[i]=',' then
inc(a);
if a=0 then Edit1.Text:=Edit1.Text+',';
if length(s)=0 then
Edit1.Text:='0,';
end;
procedure TForm1.Button20Click(Sender: TObject);
begin
Edit1.Text:='0';
Button1.Enabled:=true;
Button2.Enabled:=true;
Button3.Enabled:=true;
Button4.Enabled:=true;
Button5.Enabled:=true;
Button6.Enabled:=true;
Button7.Enabled:=true;
Button8.Enabled:=true;
Button9.Enabled:=true;
Button10.Enabled:=true;
Button11.Enabled:=true;
Button12.Enabled:=true;
Button13.Enabled:=true;
Button14.Enabled:=true;
Button15.Enabled:=true;
Button16.Enabled:=true;
Button17.Enabled:=true;
Button18.Enabled:=true;
Button19.Enabled:=true;
Button22.Enabled:=true;
end;
procedure TForm1.Button21Click(Sender: TObject);
begin
Button1.Enabled:=false;
Button2.Enabled:=false;
Button3.Enabled:=false;
Button4.Enabled:=false;
Button5.Enabled:=false;
Button6.Enabled:=false;
Button7.Enabled:=false;
Button8.Enabled:=false;
Button9.Enabled:=false;
Button10.Enabled:=false;
Button11.Enabled:=false;
Button12.Enabled:=false;
Button13.Enabled:=false;
Button14.Enabled:=false;
Button15.Enabled:=false;
Button16.Enabled:=false;
Button17.Enabled:=false;
Button18.Enabled:=false;
Button19.Enabled:=false;
Button22.Enabled:=false;
end;
procedure TForm1.Button22Click(Sender: TObject);
begin
Edit1.Text:='0';
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
Edit1.Text:=floattostr(0-StrToFloat(Edit1.Text));
end;
end.