for (int i=0;i<this->ComponentCount;i++)
   {
      if (dynamic_cast<TdxEdit*>(Components[i]))
         ((TdxEdit*)Components[i])->Clear();
   }怎么将这段BCB代码用DELPHI实现?

解决方案 »

  1.   

    i:integer;for i:=0 to [objectname].ComponentCount do
        if ((dynamic_cast<^TdxEdit) and (^TdxEdit>Components[i]))
             (TdxEdit.Components[i]).Clear;
      

  2.   

    var
      i:Integer;
    begin
      for i:= 0 to Self.CoponentCount - 1 do
      begin
        if TdxEdit(Components[i]) then
        begin
          TdxEdit(Components[i]).Clear();
        end;
      end;
    end;
      

  3.   

    看了楼上的翻译觉得奇怪,delphi也有dynamic_cast???
      

  4.   

    objectname 这个是TEDITi:integer;for i:=0 to TEDIT.ComponentCount do
        if ((dynamic_cast<^TEdit) and (^TEdit>Components[i]))
             (TEdit.Components[i]).Clear; 
         **** 报错****
      

  5.   

    var
      i:Integer;
    begin
      for i:= 0 to Self.CoponentCount - 1 do
      begin
        if Self.Components[i].ClassName = 'TdxEdit' then
        begin
          TdxEdit(Self.Components[i])).Clear();
        end;
      end;
    end;
      

  6.   

    var
      i:Integer;
    begin
      for i:= 0 to Self.ComponentCount-1 do
        if TdxEdit(Components[i]) then
          TdxEdit(Components[i]).Clear();
    end;我也来试试