第一个问题:
我动态建了10个edit,我如何才能赋值给它们呢?,我的程序如下  。
  。
for i:=1 to 10 do
begin
myedit:=tedit.create(self);
myedit.name:='w'+inttostr(i);
myedit.top:=40*i;
end;
.
.
我如何才能把值赋给我创建的w1,w2,w3,...w10呢?我又如何取出它们的值呢?第二个问题:
就是dbgrid能不能当作输入框来,就是把它当作一个表给用户输入
再把值填到数据库表中。这样可不用多个edit或dbedit.
谢谢

解决方案 »

  1.   

    var
      C: TComponent;
    begin
    for I := 0 to 10 do begin
      C := Nil;
      C := FindComponent('w'+IntToStr(I));
      if Assigned(C) then 
        (C as TEdit).Text := IntToStr(I);
      //相反取出值
    end;
      

  2.   

    1.做数据库其实有很多强有力的控件可以使用,事半功倍,建议你用InfoPower控件组,非常好用
      

  3.   

    uses a stringlist to store you new Edit contorl name on create time, and then type below source:var
      I : integer;
      s : string;
    begin
      For I := 0 to ControlCount -1 do
      begin
        if controls[i] is TEdit then
        begin
          if sl.Find( controls[i].name) then  // Sl is your control name stringlist.
             TEdit(controls[i]).text := 'hello';
        end;
      end;
      

  4.   

    最好定义一个TEdit数组,这样访问就简单多了。
      

  5.   

    to  blazingfire(烈焰) 
    那什么作呢可以说说吗??
      

  6.   

    1.同意Wnyu(能) (  ) 的。
    2.你可以用stringgrid呀,这方面的编程很多,请查一下从前的贴子。
      也可以把dataset设置为缓存更新模式(如adoquery就可以),让用户在dbgrid中任意添加、删除、修改,确定保存了再用提交代码,若不想保存,还可“取消”,都是用一句代码来实现。很简单的。这就是你要的效果吧?
      

  7.   

    循环定义数组取数
    DBGRID可以输入输出数据
    但需要设置属性!
      

  8.   

    to ddvboy(ddv) 可能详细点吗