18. Выполнить 4 этап разработки процедуры поиска и визуализации. Для этого в тексте процедуры в цикле поиска необходимо организовать счетчик. По окончанию поиска содержимое счетчика необходимо ввести в окно приложения
Edit2->Text=IntToStr(count); // вывод результата поиска
19. Отладить и проверить правильность работы всего приложения. На Рисунке 6.2 приведен пример окна после выполнения процедуры поиска.
Рисунок 6.2 - Вид окна приложения после выполнения процедуры поиска |
Контрольные задания и вопросы:
1. Каким образом можно изменить цвет выделяемого текста?
2. В процедурах RtfIns() и RtfDel() используется статический внутренний буфер char buff[0xffff]. Требуется изменить этот буфер на динамический, отладить процедуры (при выполнении программы необходимо многократно вызывать процедуры поиска) и привести листинги данных процедур.
3. Запись текста RTF-формата в поле RichEdit производится через файл. Предложить свой вариант решения, в котором перезапись выполнялась бы через память.
4. Предусмотреть активизацию кнопки «Преобразовать в Ansi» только в том случае, если русский текст не читаем.
5. Предусмотреть блокировки кнопок управления программой от неправильных действий оператора (защита от «дурака»).
Требования к отчету:
Отчет должен содержать:
титульный лист;
задание;
листинги основных процедур;
структуру приложения;
ответы на контрольные задания и вопросы.
Отчет должен быть выполнен чисто и аккуратно. При оформлении отчета рекомендуется использовать различные текстовые и графические редакторы. Студент, допустивший отклонения от требований, к защите работы не допускается.
Целью данной работы является изучение методики создания 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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.