Методические указания для лабораторных работ по дисциплине: «Проектирование информационных систем», страница 10

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… и выбираем исходный файл Формы 1Unit3. Нажимаем ОК.

Программа завершена. Стандартным каталогом  программы является каталог Data в месте нахождения программы. Нужно создать его для удобства расположения документов и правильной работы программы.

Готовая программа

Рис. 5 Элементы главного окна(Form 1).

В данной программе находятся следующие составные элементы:

1.  «Директория» - этот компонент является стандартным компонентом C++ Builder и имеет стандартное название DirectoryListBox и находится в разделе Win 3.1. Он позволяет выбрать каталог, в котором будет производиться поиск. Для выбора другого каталога необходимо щелкнуть дважды по левой кнопке мыши на нужном каталоге. Этот элемент напрямую связан с элементом 2.