本人想使用5个TEdit组件做一个求和结果在另外一个TEdit组件中显示,如果为空就记为0

解决方案 »

  1.   

    可以用一个EDIT数组,用For循环求和, 然后显示。
      

  2.   

    var a1,a2,a3,a4,a5,sum
    if edit1.text<>'' then a1:=0 else a1:=strtofloat(edit1.text);
    if edit2.text<>'' then a2:=0 else a2:=strtofloat(edit1.text);
    if edit3.text<>'' then a3:=0 else a3:=strtofloat(edit1.text);
    if edit4.text<>'' then a4:=0 else a4:=strtofloat(edit1.text);
    if edit5.text<>'' then a5:=0 else a5:=strtofloat(edit1.text);
    sum:=a1+a2+a3+a4+a5;edit6.edit:=floattostr(sum);这样应该可以了吧,能满足楼主要求了
      

  3.   

    var 
      a1,a2,a3,a4,a5,sum:Double;
    begin 
      a1:=StrToFloatDef(Trim(edit1.text),0); 
      a2:=StrToFloatDef(Trim(edit2.text),0); 
      a3:=StrToFloatDef(Trim(edit3.text),0); 
      a4:=StrToFloatDef(Trim(edit4.text),0); 
      a5:=StrToFloatDef(Trim(edit5.text),0); 
      sum:=a1+a2+a3+a4+a5;   edit6.edit:=floattostr(sum); 
    end
      

  4.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
    i:integer;
    j,s_um:Double;
    begin
      s_um:=0;
      for i :=1  to 5 do begin
       if TryStrToFloat(Tedit(FindComponent('edit'+inttostr(i))).Text,j) then
          s_um:=s_um+j
       else
          s_um:=s_um+0;
      end;
      edit6.Text:=floattostr(s_um);
    end;