Реализация функций контроля и управления на базе Win32 API: Методические указания по выполнению лабораторного практикума, страница 20

18. Выполнить 4 этап разработки процедуры поиска и визуализации. Для этого в тексте процедуры в цикле поиска необходимо организовать счетчик. По окончанию поиска содержимое счетчика необходимо ввести в окно приложения

Edit2->Text=IntToStr(count); // вывод результата поиска

19. Отладить и проверить правильность работы всего приложения. На Рисунке 6.2 приведен пример окна после выполнения процедуры поиска.

Рисунок 6.2 - Вид окна приложения после выполнения процедуры поиска

Контрольные задания и вопросы:

1. Каким образом можно изменить цвет выделяемого текста?

2. В процедурах RtfIns() и RtfDel() используется статический внутренний буфер char buff[0xffff]. Требуется изменить этот буфер на динамический, отладить процедуры (при выполнении программы необходимо многократно вызывать процедуры поиска) и привести листинги данных процедур.

3. Запись текста RTF-формата в поле RichEdit производится через файл. Предложить свой вариант решения, в котором перезапись выполнялась бы через память.

4. Предусмотреть активизацию кнопки «Преобразовать в Ansi» только в том случае, если русский текст не читаем.

5. Предусмотреть блокировки кнопок управления программой от неправильных действий оператора (защита от «дурака»).

Требования к отчету:

Отчет должен содержать:

титульный лист;

задание;

листинги основных процедур;

структуру приложения;

ответы на контрольные задания и вопросы.

Отчет должен быть выполнен чисто и аккуратно. При оформлении отчета рекомендуется использовать различные текстовые и графические редакторы. Студент, допустивший отклонения от требований, к защите работы не допускается.


7 ЛАБОРАТОРНАЯ РАБОТА №7. СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ WIN32 DLL-МОДУЛЕЙ В ПРИЛОЖЕНИЯХ

Целью данной работы является изучение методики создания DLL-модулей (dynamic-link libraries) и приемов программирования с использованием DLL, а также закрепление навыков программирования в интегрированной среде Borland C++ Builder для операционных систем Windows 98, 2000 XP и NT.

Задание

Разработать приложение, выполняющее поиск и визуализацию ключевых слов в текстовом документе. За основу приложения предлагается взять проект из первой лабораторной работы.

Функция преобразования текста в формат ANSI должна вызываться из DLL-модуля, который проецируется на адресное пространство приложения неявной компоновкой (статический метод).

Функция поиска ключевых слов и преобразования в RTF-формат с подсветкой найденных ключевых слов должна вызываться из другого DLL-модуля, который проецируется на адресное пространство приложения явной загрузкой DLL (динамический метод).

Порядок выполнения лабораторной работы №7:

Лабораторная работа должна выполняться в следующей последовательности:

1.  Выполнить запуск основного приложения Borland C++ Builder. Открыть новый проект для разработки DLL, используя команду File|New…. В окне New выбрать приложение с иконкой DLL. Сохранить новый проект в папке D:/VMSS/U41(U42)/<user_s>, используя команду File|Save Project As. Имена папки, проекта <user_s> и файла присваиваются самостоятельно.

2.  Открыть новый модуль, используя команду File|New Unit. Сохранить новый модуль в папке D:/VMSS/U41(U42)/<unit_s>, используя команду File|Save As. Имя файла модуля <unit_s> присваивается самостоятельно.

3.  В файле <unit_s> ввести функцию преобразования текста в формат ANSI. Пример функции приведен ниже.

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "MainLab2s.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

//---------------------------------------------------------------------------

extern "C" __declspec(dllexport) void ConvertTxt(char *buf)

// преобразование в ANSI