怎么样才能让edit.text中输入的数值可以用于计算
如 function XXXXX(N1,N2:integer):integer;
begin 
result:=N1+N2 
end;
button里执行如下代码
edit5.text:=XXXXX(edit1.text,edit2.text)
这样是会报错的,提示ineger and Tcaption无法类型不同

解决方案 »

  1.   

    edit5.text:=inttostr(XXXXX(strtoint(edit1.text),strtoint(edit2.text))); 
      

  2.   

    这是最正规的方法了。这样也行
    function XXXXX(N1,N2:string):string;
    var
      x,y:integer; 
    begin 
      x:=strtoint(n1);
      y:=strtoint(n2);
      result:=inttostr(N1+N2); 
    end; 
    edit5.text:=XXXXX(edit1.text,edit2.text) 
      

  3.   

    我帮楼上的更正一下:function XXXXX(N1,N2:string):string; 
    var 
      x,y:integer; 
    begin 
      x:=strtoint(n1); 
      y:=strtoint(n2); 
      result:=inttostr(x + y); 
    end; 
    edit5.text:=XXXXX(edit1.text,edit2.text);
      

  4.   

    最好用IntToStrDef,第二个参数,表示无法转换时,使用的默认值.
    用这个程序不会出现异常.
      

  5.   

    4楼的基础之上再优化一下
    function XXXXX(N1,N2:string):string; 
    var 
      x,y:integer; 
    begin 
      result := '';
      x:=IntToStrDef(n1,0);//这样能防止类型转换异常的情况 
      y:=IntToStrDef(n2,0); 
      result:=inttostr(x + y); 
    end; 
    edit5.text:=XXXXX(edit1.text,edit2.text); //调用
      

  6.   

    怎么没有人使用Variant作为参数类型?