怎样实现显示N个控件,窗口的功能不同,控件的个数不同。该怎么处理

怎样实现显示N个控件,窗口的功能不同,控件的个数不同。
这里的N个指不确定个控件,比如说是Edit控件,当程序调用一个窗口时,分不同的功能(比如可能是销售单,进货单)出现的Edit控件的个数也可能不同,怎样实现。
------解决方案--------------------
简单的办法,同一窗口把需要用到的控件放好,根据业务的不同动态控制所用到的控件的显示就可以了,再代码控件相应业务模块的使用;
复杂的办法嘛,就是动态创建所用到的控件及控件所用的事件。
------解决方案--------------------
引用:
我的意思你们理解错了!就是一个窗体显示时!我不知道窗体里面有多少EDIT控件,如何把每个edit控件的VISIDLE都赋值为TRUE啊!

var
  i: integer;
begin
  for i:=0 to Form1.ComponentCount - 1 do
  begin
    if Components[I] is TEdit then
    begin
      TEdit(Components[I]).Visible := True;
    end;
  end;
end;