Где – символ «+» означает использование функции столбца.
Целью данной работы является изучение простейших приемов поиска и визуализации полезной информации на примере текстового документа, а также закрепление навыков программирования в интегрированной среде Borland C++ Builder для операционных систем Windows 98, 2000, XP и NT.
Порядок выполнения лабораторной работы №6:
1. Выполнить запуск основного приложения Borland C++ Builder. Открыть новый проект для разработки, используя команду File|New Application. Сохранить новый проект в папке D:/VMSS/U41(U42)/<user>, используя команду File|Project As. Имена папки <user>, проекта и файла присваиваются самостоятельно.
2. С использованием Палитры компонентов и Инспектора объектов создать первоначальный образ окна разрабатываемого приложения. Примерный вид окна приложения приведен на Рисунок 6.1. Дизайн окна определяется самостоятельно. В процессе работы окно может дополняться другими компонентами.
Рисунок 6.1 - Вид окна приложения |
3. Разработать процедуру открытия текстового файла. Данная процедура должна вызываться по нажатию кнопки «Открыть…». Для реализации процедуры необходимо использовать стандартный диалоговый компонент «OpenDialog». Установить свойства Filter и FilterIndex для выбора текстовых файлов в списке файлов. По желанию можно установить первоначальный директорий для выбора файла. Метод Execute активизирует окно диалога во время выполнения программы. После нажатия кнопки «ОК» имя выбранного файла заносится в свойство FileName. Чтение файла в поле RichEdit производится методом RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName).
4. В окно приложения вывести имя файла FileName и размер текстового документа RichEdit1->Lines->Text.Length().
5. Отладить процедуру открытия файла.
6. При открытии текстового файла, подготовленного в редакторах DOS, русские символы не отображаются в поле RichEdit. Поэтому требуется перекодировка из OEM в Ansi, которая выполняется при помощи функции API OemToChar(txt,txt). Требуется написать процедуру перекодировки, которая должна выполнять три действия: запись содержимого поля RichEdit в промежуточный буфер txt с использованием функции strcpy(); вызов функции API OemToChar(txt,txt); перезапись содержимого буфера в поле RichEdit.
7. Отладить процедуру перекодировки.
8. Разработать процедуру поиска заданного в поле Edit1 ключевого слова и визуализации найденных слов в поле RichEdit. Для визуализации необходимо использовать RTF-формат, который позволяет выделять отдельные участки текста определенным цветом. RTF-формат содержит набор служебных последовательностей, которые называются команды управления настройки программы чтения файлов в RTF-формате. Для решения задачи визуализации потребуются следующие последовательности:
// константы RTF формата
#define TXTCOLOR "\\plain\\fs20\\cf1 " // начало подсветки
#define TXTNOCOLOR "\\plain\\fs20 " // конец подсветки
#define TXTSTART "{\\rtf1\\ansi\\deff0\\deftab720 {\\fonttbl {\\f0\\fmodern Courier} } \r\n {\\colortbl\\red0\\green0\\blue0;\\red255\\green0\\blue0;}\r\n" // начало текста
#define TXTEND "}\\par" // конец текста
#define TXTPAR "\\par " // конец абзаца
#define TXTCR "\r\n" // перевод строки.
9. Процедура поиска должна разрабатываться в несколько этапов:
1 этап - преобразование текстового файла в RTF-формат (установка констант начала и конца текста);
2 этап – замена символов перевода строки «\r\n» на конец абзаца «\par»;
3 этап – поиск ключевого слова и фиксация начала и конца слова константами TXTCOLOR и TXTNOCOLOR;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.