У меня есть Форма на ней следующие компоненты:
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.