下面是将当前表单的1-14的DBEDIT的ReadOnly属性定义为False是可以通过的。
for i:= 1 to 14 do
 (FindComponent('DBEdit'+inttostr(i)) as TDBEdit).ReadOnly :=False;
而我需要在当前表单中去控制czb1repo(报表)中的19-58的TQRDBtext的mask(小数位数),如果一句一句写需要写好几十句,能否使用上面的语句一次可以定义多个呢?
 这行单独使用是可以的:czb1repo.QRDBText19.mask:='#0.0';
而下面怎么就是不行呢,请各位高手指教!!
  for i:= 19 to 58 do
  (FindComponent('czb1repo.QRDBText'+inttostr(i)) as TQRDBtext).mask :='#0.0';
出错的地方是:说未定义TQRDBtext

解决方案 »

  1.   

    uses
      QRCtrls;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    加入后是不出错了,但运行后,执行时还是有错,错就错在下面这句话
    (FindComponent('czb1repo.QRDBText'+inttostr(i)) as TQRDBtext).mask :='#0.0';
      

  3.   

    报表的数据是从一个数据集里读吗?
    设置数据集的displayformat := '#0.0';
    try!
      

  4.   

    我使用query1['a1'].displayformat := '#0.0';语句后,运行时还是出错,请教我应该怎么定义呢?具体语句怎么写呢?谢谢!
      

  5.   

    不用这么麻烦,直接设定textfield的dataformat属性就OK了
      

  6.   

    该成这样试试
    (FindComponent('QRDBText'+inttostr(i)) as TQRDBtext).mask :='#0.0';