Здравствуйте помогите пожалуйста разобраться. 
 Есть дерево: 
 Слово1 
 .Синоним1 
 .Синоним2 
 .Синоним3 
 Слово2 
 .Синоним1 
 .Синоним2 
 .Синоним3 
 ...... 
 Загружаемое в treeview из txt файла. Есть поле memo в котором при написании Слово1(2,3,4....) оно заменялось на один из СВОИХ синонимов. Слов может быть неограниченное количество. Вопрос: Как одному элементу обратится ко всем ЕГО дочерним элементам. 
 Вот код который на данный момент существует. 
 Код
 unit Unit1; 
 interface 
 uses 
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
   Dialogs, StdCtrls, ComCtrls; 
 type 
   TForm1 = class(TForm) 
     mmo1: TMemo; 
     tv1: TTreeView; 
     lbl1: TLabel; 
     lbl2: TLabel; 
     button2: TButton; 
     button3: TButton; 
     procedure FormCreate(Sender: TObject); 
     procedure mmo1Change(Sender: TObject); 
     procedure button3Click(Sender: TObject); 
   private 
     { Private declarations } 
   public 
     { Public declarations } 
   end; 
 var 
   Form1: TForm1; 
    h,n,l:integer; 
    t: TTreeNode; 
 implementation 
 {$R *.dfm} 
 procedure TForm1.FormCreate(Sender: TObject); 
 begin 
  tv1.LoadFromFile('slovar.txt'); 
  Randomize; 
 end; 
 procedure TForm1.mmo1Change(Sender: TObject); 
 var i,s: Integer; 
     CurPos: TPoint; 
 begin 
   CurPos := mmo1.CaretPos; 
   for i:=0 to mmo1.Lines.Count do 
   for s:=0 to 19 do 
       if AnsiPos(tv1.Items.Item[s].Text , mmo1.Lines[i])<>0 then 
         begin 
             mmo1.lines.text:=StringReplace(mmo1.lines.text , tv1.Items.Item[3].Text , tv1.Items.Item[Random(5)].Text ,[rfreplaceall]); 
             break; 
         end; 
    mmo1.CaretPos := CurPos; 
 end; 
 procedure TForm1.button3Click(Sender: TObject); 
 begin 
 mmo1.Lines.SaveToFile('TEXT.txt'); 
 end; 
 end.