var num:integer;
begin
 num+:=strtointdbedit1.text);
end;
如果你的控件是有序的当然你可以用一个循环啦!

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        i: integer;
        sum:Double;
    begin
        sum :=0;
        for i := 0 to ComponentCount-1 do
        begin
            if Components[i] is TDBEdit then
                sum := sum + StrToFloat( (Components[i] as TDBEdit).Text );
        end;
        ShowMessage(FloatToStr(sum));
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
            iCount : Integer;
            Sum : Integer;
    begin
            Sum := 0;
            For iCount := 0 to ComponentCount-1 do
            begin
                    if Components[iCount] is TEdit then
                    begin
                            Sum := Sum + StrToInt(Trim(TEdit(Components[iCount]).Text));
                    end;
            end;
            Label1.Caption := IntToStr(Sum);
    end;看看这个,修改一下就可以实现你的要求
      

  3.   

    var i,iCount,iValue:integer;
    iCount=self.controlcount;
    for i:=0 to icount-1 do
    begin
      iValue:=iValue+strtoint((self.controls[i] as Tedit).Text);
    end;
      

  4.   

    对了,应该先判断控件的类型为Tedit才行
      

  5.   

    可以把findComponent写在Function中吗?