请教delphi问题(动态创建TMemo 后,如何按名称引用)
.........var 
tsNew: TTabSheet;
memoText: TMemo;
i : int;   //  i =  1,2,3,4,5....下面动态创建一些   memoText  (命名分别为:memo1,memo2,memo3 ...... ) begin
           
               memoText := TMemo.Create(tsNew);
               memoText.Parent := tsNew;
               memoText.Height := tsNew.Height;
               memoText.Width := tsNew.Width;
               memoText.Name := 'memo'+ inttostr(i);
end
请问程序后面 要保存  memo2 中的信息,  怎么引用这个 memo2 啊????memo1.Text ???? memo2.Text ????  怎么引用啊   谢谢               

解决方案 »

  1.   


    memoText : array [0..10] of  TMemobegin
      for i := 0 to 10 do
      begin
        memoText[i] := TMemo.Create(tsNew);
        memoText[i].Parent := tsNew;
        memoText[i].Height := tsNew.Height;
        memoText[i].Width := tsNew.Width;
      end;
    end;
    后面就  memoText[i].text
      

  2.   


    var
      list:TStringList;
      memoText:TMemo;
    begin
      list := TStringList.Create;
      memoText := TMemo.Create(Self);
      memoText.Name := 'memo1';
      memoText.Text := 'aaaaaaaaaaaa';  list.AddObject(memoText.Name,memoText);
      //下面是获取
      memoText := TMemo(list.Objects[list.IndexOf('memo1')]);
      ShowMessage(memoText.Text);end;
      

  3.   

    不过,用这个方法能用吗,   FindComponent  
      

  4.   

    LZ这样是分别创建的,直接用你创建的时候规定的name就行了就是你的memo1.Text,Memo2.text......
      

  5.   


    我试过了,不行的,下面是我的场景::
    begin
       
      memoText := TMemo.Create(tsNew);
      memoText.Parent := tsNew;
      memoText.Height := tsNew.Height;
      memoText.Width := tsNew.Width;
      memoText.Name := 'memo'+ inttostr(i);
    end
    创建后,我在memo1,memo3,里面分别写了内容,保存某一下 memo 内容时,var sName : string;通过算法  求出的 sName = 'memo3'现在要将 memo3的内容以下的方式 存入  memo3.Lines.SaveToFile(C:\temp\aa.Txt);怎么写啊  怎么引用啊   
      

  6.   

    解决了,  memoText := TMemo(list.Objects[list.IndexOf('memo1')]);
      ShowMessage(memoText.Text);谢谢几位大侠