12. После этого создаем событие OnChange для компоненты E3. Вводим следующий код.
void __fastcallTForm1::E3Change(TObject *Sender) //<- вводить не нужно!!!
{ // событие - изменение поля ввода "Маска"
FLBox1->Mask = E3->Text; // взять значение маски из поля ввода маски файлов
}
Главная форма готова. Далее создаем Форму 2 для более удобного просмотра файлов.
13. Для создания новой формы выбираем File – New – Form. Открывается новая пустая форма. размер формы: 870 на 640 пикселей. Переносим на форму компоненты:
1. Button (Кнопка) из раздела Standard;
2. RichEdit из раздела Win32; Размер 841 на 537 пикселей;
Переименовываем эти компоненты
1. Button изменяем на B1;
2. RichEdit1 изменяем на RE2;
Располагаем компоненты соответственно рисунку 4.
Рис 4. Форма Просмотра.
14. Далее создаем событие OnShow для данной формы (Form 2). Для этого нужно выделить форму щелчком мыши по свободному месту формы и в Инспекторе объектов дважды щелкнуть по событию OnShow. Открывается редактор кода с созданным событием OnShow и вводим соответствующий код. Вводим следующий код:
void __fastcallTForm2::FormShow(TObject *Sender)//<- вводить не нужно!
{
Form2->Caption="Просмотр";
B1->Caption="Поиск";
B1->Default=1;
RE2->Clear();
RE2->Font->Name="Times New Roman";
RE2->Font->Size=14;
AnsiString fiName="";
fiName=Form1->FLBox1->FileName;
if(fiName!="")
{
RE2->Lines->LoadFromFile(fiName);
}
}
Далее в редакторе кода заносим следующие глобальные переменные (без события):
TSearchTypes Options;
int StPos=0;
15. Следующим действием является создание события OnClick для компонента B1. Для этого нужно выделить компонент B1 щелчком мыши и в Инспекторе объектов дважды щелкнуть по событию OnClick. Открывается редактор кода с созданным событием OnClick. Вводим следующий код:
void __fastcall TForm2::B1Click(TObject *Sender) //<- вводитьненужно!
{
int tLen=0, FA=0, sLen=0;
if(RE2->Text!="")
{
tLen=RE2->Text.Length();
sLen=Form1->E1->Text.Length();
FA=RE2->FindText(Form1->E1->Text,StPos,tLen,Options);
if(FA!=-1)
{
RE2->SetFocus();
RE2->SelStart=FA;
RE2->SelLength=sLen;
StPos=FA+sLen;
}
else
{
StPos=0;
} }
}
16. Далее создаем событие OnResize для формы 2. Для этого нужно выделить форму щелчком мыши по свободному месту формы и в Инспекторе объектов дважды щелкнуть по событию OnResize. Вводим следующий код:
void __fastcall TForm2::FormResize(TObject *Sender)//<- вводитьненужно!
{
RE2->Left = 10;
RE2->Top = 40;
RE2->Width = Form2->Width-30;
RE2->Height = Form2->Height-90;
RE2->Refresh();
}
17. Для связывания Формы 1 и Формы 2 нужно перейти на форму 1 и выбрать File – Include Unit Hdr… (Atl – F11). Откроется окно в котором выбираем исходный файл Формы 2 - Unit2 и нажимаем OK. Переходим на Форму 2. Вызываем File – Include Unit Hdr… и выбираем исходный файл Формы 1 – Unit3. Нажимаем ОК.
Программа завершена. Стандартным каталогом программы является каталог Data в месте нахождения программы. Нужно создать его для удобства расположения документов и правильной работы программы.
Готовая программа
Рис. 5 Элементы главного окна(Form 1).
В данной программе находятся следующие составные элементы:
1. «Директория» - этот компонент является стандартным компонентом C++ Builder и имеет стандартное название DirectoryListBox и находится в разделе Win 3.1. Он позволяет выбрать каталог, в котором будет производиться поиск. Для выбора другого каталога необходимо щелкнуть дважды по левой кнопке мыши на нужном каталоге. Этот элемент напрямую связан с элементом 2.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.