一个菜鸟的小问题!

时间:2022-05-03 17:33:17
我是一个刚学delphi编程的菜鸟,在编一个计算器程序时,'+'号Button的功能一直不能实现,还望各位大侠赐教!

8 个解决方案

#1


什么意思?'-'号实现了,不能实现'+'?没有明白你的意思!

#2


详细点!
'+'跟'-'一样啊!

#3


不懂! 

#4


我在编一个计算器时,加号的功能不能圆满解决,只能1+1=2,不能做到1+1+1+1+……+1=2。即,不能连加,并且在按‘+’时,也不能使结果显示。有解决办法吗?

#5


关注

#6


把+添加=的处理不行吗?

#7


按Kingron(WinAPI)老兄的思路应该没错。 


#8


谢谢大家的参与,这个问题,我已经解决了,呵呵,很简单,思路如下:
var
x     第一操作数
y     第二操作数
yun   判断运算类型(0 不操作;1  + ;2 - ; 3  *;  4  /)
geshu 操作数个数
shu   判断数值输入与否
Button:
 0-9  输入数字
      if shu=0 赋值x  if shu<>0 赋值edit+x
 。   输入小数点
      判断先前的输入有无‘。’,无则加,有则结束。
      (需字符查找函数)
      判断先前输入有无数字,无,加‘0。’有,加‘。’。
 +/-  输入正负号
      设局部变量 dain
      读入edit数,与0相减,得相反数,在 edit显示
      
+   加法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x+y,结果存入x
-  减法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x-y,结果存入x
* 乘法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x*y,结果存入x
/   除法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x/y,结果存入x

 C    清空edit输入框
      eidt.clear;
      shu:=0   geshu=0;x,y,z=0;yun=0;

 =    得结果
      由不同的yun值进行不同的运算。
      

edit: 输入数字,显示结果


运算:
  geshu=0    x:=edit.text  读取运算符yun
  geshu=1   y:=edit.text  由运算符计算x值 y:=edit.text geshu:=0 


     但我不知道以上过程有没有多余,还望大家指点!谢谢!

#1


什么意思?'-'号实现了,不能实现'+'?没有明白你的意思!

#2


详细点!
'+'跟'-'一样啊!

#3


不懂! 

#4


我在编一个计算器时,加号的功能不能圆满解决,只能1+1=2,不能做到1+1+1+1+……+1=2。即,不能连加,并且在按‘+’时,也不能使结果显示。有解决办法吗?

#5


关注

#6


把+添加=的处理不行吗?

#7


按Kingron(WinAPI)老兄的思路应该没错。 


#8


谢谢大家的参与,这个问题,我已经解决了,呵呵,很简单,思路如下:
var
x     第一操作数
y     第二操作数
yun   判断运算类型(0 不操作;1  + ;2 - ; 3  *;  4  /)
geshu 操作数个数
shu   判断数值输入与否
Button:
 0-9  输入数字
      if shu=0 赋值x  if shu<>0 赋值edit+x
 。   输入小数点
      判断先前的输入有无‘。’,无则加,有则结束。
      (需字符查找函数)
      判断先前输入有无数字,无,加‘0。’有,加‘。’。
 +/-  输入正负号
      设局部变量 dain
      读入edit数,与0相减,得相反数,在 edit显示
      
+   加法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x+y,结果存入x
-  减法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x-y,结果存入x
* 乘法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x*y,结果存入x
/   除法运算
      geshu=0 将edit值读入x; geshu=1 将edit值读入y;geshu=2 计算x/y,结果存入x

 C    清空edit输入框
      eidt.clear;
      shu:=0   geshu=0;x,y,z=0;yun=0;

 =    得结果
      由不同的yun值进行不同的运算。
      

edit: 输入数字,显示结果


运算:
  geshu=0    x:=edit.text  读取运算符yun
  geshu=1   y:=edit.text  由运算符计算x值 y:=edit.text geshu:=0 


     但我不知道以上过程有没有多余,还望大家指点!谢谢!