Поиск по всему деруву Treeview

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Dron16
Сообщения: 1
Зарегистрирован: 07 янв 2016, 21:57

07 янв 2016, 22:04

Доброе время суток. Возник вопрос с поиском.
У меня есть Форма на ней следующие компоненты:
1. TreeView
2. RichEdit
3. Edit
4. Button
Так вот, RichEdit у меня отображает информацию из текстового документа .rtf которые находятся в папке с проектом. Т.е. я кликою на узел TreeView и информация отображается в RichEdit.
Не могу сделать поиск по всему дереву. Мне необходимо ввести слово в edit и сделать так, что бы он искал это слово во всех документах.

Мой код

Код: Выделить всё

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    RichEdit1: TRichEdit;
    TreeView1: TTreeView;
    procedure FormCreate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure Edit1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
    dir:string; // рабочая деректория

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
dir:=extractfilepath(application.ExeName);
end;

procedure TForm1.TreeView1Click(Sender: TObject);

 var FName:string;
begin
FName := TreeView1.Selected.Text;
  If FileExists(dir+'resourses\'+FName+'.rtf') then
   begin RichEdit1.Clear;
     RichEdit1.Lines.LoadFromFile(dir+'resourses\'+FName+'.rtf');
   end else  RichEdit1.Clear;
end;



procedure TForm1.Edit1Click(Sender: TObject);
begin
Button1.Enabled:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);

begin
RichEdit1.Clear;
if FileExists('resourses\'+Edit1.Text+'.rtf') then
  RichEdit1.Lines.LoadFromFile('resourses\'+Edit1.Text+'.rtf')
else
  RichEdit1.Lines.Add('По вашему запросу ничего не найдено.');
end;



procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
  RichEdit1.Clear;
  if FileExists('resourses\' + Edit1.Text + '.rtf') then
  RichEdit1.Lines.LoadFromFile('resourses\' + Edit1.Text + '.rtf')
  else
  RichEdit1.Lines.Add('По вашему запросу ничего не найдено.');
  end;
end;

end.
Ответить