delphi计算器实现连续运算 5

简单的加减乘除,归零删除都弄得差不多了,初学不是太懂该如何使他实现多个数的运算。例如依次按下2+2+2最后按等于为6.我现在弄得2+2+2按完是4,只计算后2个,不知道该... 简单的加减乘除 ,归零 删除都弄得差不多了,初学不是太懂该如何使他实现多个数的运算。例如依次按下2 +2 +2 最后按等于为6. 我现在弄得2+2+2按完是4,只计算后2个,不知道该如何将前2个2相加的结果锁存后与第三个2相加显示结果。 或者按完2+2后在按+号显示4也行。
procedure TForm1.Button12Click(Sender: TObject); //加号
begin
a:=StrToFloat(Result.Text);
iOperator:=1;
Result.Text := '';

end;

procedure TForm1.Button13Click(Sender: TObject); //减号
begin
a:=StrToFloat(Result.Text);
iOperator:=2;
Result.Text := '';
end;

procedure TForm1.Button14Click(Sender: TObject); //乘号
begin
a:=StrToFloat(Result.Text);
iOperator:=3 ;
Result.Text := '';
end;

procedure TForm1.Button15Click(Sender: TObject); //除号
begin
a:=StrToFloat(Result.Text);
iOperator:=4;
Result.Text := '';
end;

procedure TForm1.Button20Click(Sender: TObject); //百分号键功能
begin
a:=StrToFloat(Result.Text);
b := StrToFloat(Result.Text);
c:=a*b;
Result.Text := FloatToStr(c/100);
end;

procedure TForm1.Button18Click(Sender: TObject); //等号计算
begin
b := StrToFloat(Result.Text);
if iOperator >0 then

case iOperator of
1: c := a + b;
2: c := a - b;
3: c := a * b;
4: if b=0
then
begin
showmessage('除数不能为0');
exit;
end
else begin
c:=a/b;
end;
end;
Result.Text := FloatToStr(c);

end;

procedure TForm1.Button19Click(Sender: TObject); //正负号输入
begin
if Result.text <> '' then
Result.Text :=floattostr(strtofloat(Result.Text )*(-1));
end;

procedure TForm1.Button16Click(Sender: TObject); //删除键
begin
Result.Text := Copy(Result.Text,0,Length(Result.Text)-1);
if Result.Text='' then
Result.Text:='0';
end;

procedure TForm1.Button17Click(Sender: TObject); //归零
begin
Result.Text:='0';
end;

procedure TForm1.Button11Click(Sender: TObject); //0-9以及小数点输入
begin
if (Pos('.',Result.Text)>1) then
exit
else
Result.Text:=Result.Text+'.';
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
if Result.Text='0' then
Result.Text:='0'
else
Result.Text:=Result.Text+'0';
end;
因为内容限制,发了部分代码。 像0-9按键可以用一次代码 来弄,但是初学暂时不会,就一个个弄了
展开
 我来答
台浦泽4r
2018-01-03 · TA获得超过937个赞
知道小有建树答主
回答量:1249
采纳率:62%
帮助的人:645万
展开全部
弄2个全局变量,一个存放上次计算结果,一个存放上次按了什么运算符,所有运算符键统一调用一个函数(相当于你那个=号键功能),点击运算键后判断这2个全局变量然后再对应什么功能。最好的办法你拿个计算器点一下,看它是怎么处理的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式