3个文本编辑框 
实现 第一个和第三个框输入数字 中间输入+ - * / 运算符 点击按钮出现结果  用 加 减 陈 除  四个函数 实现
 function jia(x,y:Double):Double ;   函数加
 var
 c:Double;
 begin
      c:=x+y  ;
      jia:=c;
 end;
 function jian(x,y:Double):Double ; 函数减
   var
 d:Double; begin
      d:=x-y;
      jian:=d;
 end;
  function chen(x,y:Double):Double ;函数称
   var
 e:Double; begin
      e:=x*y  ;
      chen:=e;
 end;
 function chu(x,y:Integer):double; 函数除
var
e:Double;begin
e:=x/y ;
chu:=e;
end;
procedure TForm1.Button1Click(Sender: TObject);  按钮的事件代码 
var
x,z,d:Double;         
y:char;
begin
 x:=strtoint(Edit1.text);  得到第一个数字
 y:=Edit2.text;                这里出错了 前面是char 类型 可是不知道怎么改  z:=strtoint(Edit3.text);  得到第二个数字if y="+" then              如果 Y=“+”号 
   d:=jia(x,y);              调用 jia 函数
begin                因为前面有错误所以后面没写了end
else
beginend;
end;end.
想请会的 朋友帮我 看看 这后面该怎么改下 谢谢了

解决方案 »

  1.   

    var y:string;x:=strtoint(Edit1.text);  得到第一个数字 
    y:=trim(Edit2.text);              
    z:=strtoint(Edit3.text);  得到第二个数字 case y[1] of
      '+':;//加
    '-':;//减
    '*':;//乘
    '/':;//除
    end;
      

  2.   

    你这个程序写的别扭,按常见的计算器的样子写说不定会简单些,比如用一个文本框输入数字,显示结果也用这个文本框,用四个按钮表示+ - * /,否则你还得判断到底是+还是-。
    y[1]的意思是字符串的第一个字符吧。话怎么说来着:大概是每个字符串就是一个数组,字符串的第n个字符可以表示为y[N]。
      

  3.   

    y声明成string就可以了。
    y:=edit2.text;之后直接判断,就可以了,没必要char类型
    if y='*' then
    begin
      //
    end;
    //另外,你用的都是double型的,可以用strtofloat就可以了。
      

  4.   

    给你一个思路吧,把+、-、*、/ 放在combobox控件里面,根据combobox的itemindex值来判断用户选择的数据操作,这里可以用
    var
    float X;
    case combobox.itemindex of
    0:x:=strtoint(edit1.text)+strtoint(edit2.text)//加操作
    1:x:=strtoint(edit1.text)-strtoint(edit2.text)//减操作
    2:x:=strtoint(edit1.text)*strtoint(edit2.text//乘操作
    3:x:=strtoint(edit1.text)/strtoint(edit2.text//除操作,除操作要判断被除数是否为零
    end;