![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. |