对于Loop Pascal脚本

时间:2016-09-19 16:10:33

标签: loops pascal

我试图减少代码,但我似乎无法做到。我有35" TfrxEdiTControl" (泰迪?)所以我想减少它。缺点是我不确定语言是什么,但我认为是Pascal Script。

现在我有这个:

if EPRD1.text <> '' then
  begin
      Tab.SQL.Add(','+EPRD1.text);
      TabD.SQL.Add(','+EPRD1.text);              
  end;         
  if EPRD2.text <> '' then
      begin
          Tab.SQL.Add(','+EPRD2.text);
          TabD.SQL.Add(','+EPRD2.text);              
      end; 

直到EPRD35,所以我想在For循环中进行。

我尝试以下方法:

  for i := 1 to (35) do
  begin
      erpdConcat := FindComponent('EPRD'+IntToStr(i));
      if erpdConcat is TEdit then
          begin
               if TEdit(erpdConcat).text <> '' then
                   begin
                       Tab.SQL.Add(','+TEdit(erpdConcat).text);
                       TabD.SQL.Add(','+TEdit(erpdConcat).text);              
                   end;                                                                            
          end;                                                  
  end;

但我收到一条消息说&#34; 标识符未声明&#34;查找组件&#34; &#34;

1 个答案:

答案 0 :(得分:0)

看起来像帕斯卡尔。

FindComponent是TComponent的一种方法。

我相信TComponent在&#34;类&#34;德尔福和拉撒路的单位。所以课程当然必须在&#34;使用&#34;子句。

由于FindComponent是一个类的方法,因此它不是一个独立的函数,必须从一个Component调用它。

因此,如果您的&#34; TEdit&#34;在一个名为Panel1的面板上,那么您需要将其称为Panel1.FindComponent(等)。

HTH

相关问题