![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте помогите пожалуйста разобраться.
Есть дерево: Слово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. |