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

if(E1->Text!="") // если компонента "Условие поиска" не пустое

    {

     if(RE1->Text!="") // если компонента вывода текста не пустая

       {

        tLen=RE1->Text.Length();// присваивание перем-ой знач-ия длины текста

        sLen=E1->Text.Length();//присв-ие перем-ой знач-ия длины условия

        CG1->MaxValue=tLen; // установка макс-го значения прогресса

FA=RE1->FindText(E1->Text,StPos,tLen,Options); // опер-орпоиска

if(FA!=-1) // если перем-ая поиска не равна -1(т.е. найдено)

          {

           RE1->SetFocus();  // акти-ие компон-ты вывода текста

           RE1->SelStart=FA; // выбор нач-ой позиции выделения

           RE1->SelLength=sLen; // выбор длины выделения от нач. поз. выд-ия

           StPos=FA+sLen; // изменение стартовой позиции для поиска след-го

           E2->Text="Найдено"; // вывод "Найдено" в поле "Результат"

           CG1->Progress=StPos; // отображение изменения прогресса

          }

        else // если перем-ая поиска равна -1(т.е. не найдено)

          {

           E2->Text="Не найдено"; // вывод "Не найдено" в поле "Результат"

           StPos=0; // обнуление стартовой позиции

           CG1->Progress=CG1->MaxValue; // полный прогресс

          } } }

  else

    {

     E2->Text="Не задано условие"; // В поле "Результат" выводится строка

     E1->SetFocus();  // активируется поле ввода "Условие поиска"

    }

}

8. После ввода кода в событие OnClick компонента B2 совершаем аналогичные действия для создания события OnClick для компоненты B3. Для B3 вводим следующий код:

void __fastcallTForm1::B3Click(TObject *Sender) //<- вводить не нужно!!!

{ // событие - клик по кнопке "Закрыть"

if(RE1->Visible==1) // если компонента вывода текста не скрыта

   resi(0);         // вызывается функция скрытия текста

}

9. После ввода кода в событие OnClick компонента B3 совершаем аналогичные действия для создания события OnClick для компоненты B4. Этот компонент вызывает Форму 2, которая еще не создана и может показать ошибку, если запустить программу. Для B4 вводим код, который открывает форму 2. Для B4 вводим следующий код:

void __fastcall TForm1::B4Click(TObject *Sender) <- вводитьненужно!!!

{  // событие - клик по кнопке Открыть в новом окне

Form2->Show(); // открыть форму 2

10. Следующим действием является создание события OnDblClick для компонента SG1. Для этого нужно выделить компонент SG1 щелчком мыши и в Инспекторе объектов дважды щелкнуть по событию OnDblClick. Открывается редактор кода с созданным событием OnDblClick. Вводим следующий код:

void __fastcall TForm1::FLBox1DblClick(TObject *Sender) //<- вводитьненужно!

{ // событие - двойной щелчок по компоненте "Документы"

AnsiString fiName=""; stPos=0; StPos=0; // иниц-ияиобнул-иеперем-ых

fiName=FLBox1->FileName;  // присвоение переменной имени активного файла

if(fiName!="") // если переменная имени файла не пуста

  {

   resi(1);  // вызов функции отображения компоненты вывода текста

   RE1->Lines->LoadFromFile(fiName);  // загрузка текста из файла

  }

}

11. Далее создаем событие OnClick для компонента CB1. Для этого нужно выделить компонент CB1 щелчком мыши и в Инспекторе объектов дважды щелкнуть по событию OnClick. Вводим следующий код:

void __fastcallTForm1::CB1Click(TObject *Sender) //<- вводить не нужно!!!

{ // событие - клик мышью по комоненте "Использовать маску"

if(CB1->Checked==0) // если компонента "Использовать маску" не выделена

  FLBox1->Mask = "*";  // маска файлов не будет учитываться

else  // иначе

   FLBox1->Mask = E3->Text; // маска файлов будет взята из поля ввода маски

}