Создание справочной системы с помощью утилиты Help Workshop


          
          
           Delphi
          
          



Delphi

Качественное приложение обеспечивает пользователя справочной системой. Кроме того, приложение должно сопровождаться справочным файлом. Справочный файл имеет расширение HLP и автоматически вызывается при нажатии клавиши F1 или при выборе соответствующего пункта меню, например, с названием «Help» или «?».

Создание справочной системы состоит из четырех этапов:

1.        Определение номеров контекста справочной системы для управляющих элементов формы.

2.        Создание текстового файла с помощью текстового редактора.

3.        Создание справочного файла с помощью специального компилятора.

4.        Подключение справочных файлов к приложению.

Все четыре этапа выполняются в среде Delphi.

1. Каждый управляющий элемент (компонент) формы может иметь номер контекста для справочной системы. Контекст представляет собой число, задаваемое значением свойства HelpContext, по значению которого определяется раздел справочной системы, соответствующий данному элементу.

2. Текстовый файл справки создается как документ в формате RTF. Для его подготовки можно использовать любой редактор, позволяющий работать с документами этого формата, в том числе текстовый редактор MicroSoft Word. Документ может содержать графические изображения и таблицы, стилевое и шрифтовое оформление.

Текст справочной системы представляется в виде гипертекста — состоит из многих разделов, связанных между собой перекрестными ссылками. Каждый раздел обычно имеет заголовок, отображаемый в верхней части окна просмотра, идентификатор, набор ключевых слов, по которым можно найти раздел, а также ссылки на другие разделы.

Раздел справочного файла может иметь следующие атрибуты:

         контекст;  заголовок;  список ключевых слов;  номер в последовательности просмотра;  макрокоманда; тег компиляции.

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

Атрибуты назначаются разделу с помощью сносок. Для каждого атрибута справки используется свой знак в сноске. Например, для контекста используется символ #.

2.1. Ограничимся контекстной справкой и создадим справочную систему для нашего приложения.

На первом этапе необходимо создать файл документа справочной системы с расширением Rtf.

В меню «Пуск» выполните Программы | MicroSoft Word. В документ Word введите следующий текст:

Содержание

TРageControl

TStringGrid

TComboBox

«Содержание» — заголовок раздела справки. Выделите его жирным шрифтом. Установите курсор перед заголовком.

Заголовок раздела справки необходимо пометить сноской. Из меню «Вставка» выполните команду «Сноска». В диалоговом окне «Сноска» в группе «Вставить сноску» установите переключатель в положение «Обычная», а в группе «Нумерация» — в положение «Другая». В поле номера сноски введите символ # и нажмите Ok.

В нижней части окна появилось окно сноски. Запишите идентификатор IDH_001. Между символом сноски и текстом должен быть один пробел.

Текст каждого раздела справки должен находиться на отдельной странице документа. В конце раздела справки введите символ «разрыв страницы» (Ctrl – Enter).

Запишите текст следующего раздела:

TPageControl

Компонент TPageControl может содержать несколько перекрывающих друг друга панелей класса TTabSheet. Каждая панель выбирается связанной с ней закладкой и может содержать свой набор помещаемых на нее компонентов.

Чтобы на этапе конструирования добавить новую панель или выбрать ранее вставленную, щелкните по компоненту правой кнопкой мыши и выберите New page (новая панель), Next Page (следующая панель) или Previous page (предыдущая панель). Смена панелей идет циклически, т.е. после показа последней показывается первая и наоборот.

Выделите заголовок жирным шрифтом (выделите и измените шрифт с помощью пиктограммы Ж.)

Установите курсор перед заголовком. Выполните команду «Сноска» из меню «Вставка». Установите переключатель в положение «Обычная», а в группе «Нумерация» — в положение «Другая».

В поле номера сноски введите символ # и нажмите Ok. Запишите идентификатор раздела IDH_002

В конце текста раздела справки введите символ «разрыв страницы» (Ctrl – Enter).

Запишите текст следующего раздела:

TStringGrid

Компонент предназначен для создания таблиц, в ячейках которых располагаются произвольные текстовые строки. Характерные свойства:

Property Cells[ACol, ARow: Integer] — определяет содержимое ячейки с табличными координатами (ACol, ARow).

Property Cols[index: Integer] — содержит все строки колонки с индексом Index.

Property Objects[ACol, ARow: Integer] — обеспечивает доступ к объекту, связанному с ячейкой (ACol, ARow).

Property Rows[index: Integer] — содержит все столбцы ряда с индексом Index.

Установите курсор перед заголовком. Выполните команду «Сноска» из меню «Вставка». Установите переключатель в положение «Обычная», а в группе «Нумерация» — в положение «Другая».

В поле номера сноски введите символ # и нажмите Ok. Запишите идентификатор раздела IDH_003.

В конце раздела справки введите символ «разрыв страницы» (Ctrl – Enter).

Запишите текст следующего раздела:

TComboBox

Комбинированный список, представляющий собой комбинацию TListBox и редактора TEdit.

Установите курсор перед заголовком. Выполните команду «Сноска» из меню «Вставка». Установите переключатель в положение «Обычная», а в группе «Нумерация» — в положение «Другая». В поле номера сноски введите символ # и нажмите Ok. Запишите идентификатор раздела IDH_004. В конце раздела справки введите символ «разрыв страницы» (Ctrl – Enter).

2.2. Теперь организуем ссылки на раздел. При использовании ссылки вид курсора при наведении на ключевое слово изменяется. Он превращается во всем нам известную руку.

В первом разделе справки сделаем слово TPageControl ссылкой на второй раздел.

Подчеркнем это слово двойной линией и изменим цвет шрифта. Выделите слово TPageControl. Выполните команду «Формат» | «Шрифт». На вкладке «Шрифт» выберите в раскрывающемся списке «Подчеркивание» вариант «Двойное». Цвет шрифта сделайте синим.

Сразу же за словом TPageControl нужно поместить идентификатор раздела справки, к которому должен быть выполнен переход. За словом TPageControl сразу (без пробела) запишите IDH_002. Оформите вставленный идентификатор как скрытый текст.

Для того чтобы два следующих слова сделать ссылками на разделы 3 и 4, проделайте аналогичные действия со словами TStringGrid и TComboBox. IDH_004

Сохраните текстовый файл в каталоге Lab10 под именем Help1.rtf. Закройте окно Word.

3. Разверните окно Delphi. Приступим к созданию справочного файла.

Для использования в приложении текст справки должен быть преобразован из формата RTF в формат HLP. Процесс преобразования называется компиляцией справочного файла и выполняется с помощью специальных программ. Рассмотрим создание справочного файла с помощью программы Microsoft Help Workshop (компилятор справочных файлов). Исполняемый файл Hcrtf.exe находится в каталоге Help/Tools каталога Delphi. Эта утилита может быть включена в инструменты Delphi. В этом случае она может быть вызвана командой Tools/Help Workshop.

3.1. Основным файлом компилятора является файл проекта, который объединяет такие элементы, как текстовые файлы справки, опции, номера контекстов, и позволяет создать из них справочный файл. В начале работы над новым справочным файлом автоматически создается файл проекта типа HPJ.

Первоначально в проекте имеется только секция Options, в которую включены параметры окна справки и вывода отчета о компиляции проекта.

Вызовите программу Microsoft Help Workshop командой Tools/Help Workshop. В окне утилиты выполните команду File/New. В открывшемся диалоговом окне выберите пункт Help Project и щелкните по Ok. В окне Project File Name выберите папку, где находится файл справки и само приложение. Задайте имя файла проекта Help1 и сохраните.

В диалоговом окне проекта справочной системы вызовите окно опций щелчком по кнопке Options. На вкладке Sorting в раскрывающемся списке укажите язык справочной системы (русский). На вкладке Files в поле Help File задано имя файла справки Help1.Hlp по имени файла проекта справки, который мы только что начали. Для того чтобы в поле RTFFiles ввести имя файла с содержанием справки, необходимо нажать кнопку Change, затем в окне Topic Files (Topic — тема) кнопку Add. В диалоговом окне выбрать файл Help1.rtf. Закройте окно Options.

3.2. Обычно при вызове справки в процессе работы приложения автоматически вызывается раздел справки, соответствующий управляющему элементу, который находится в фокусе ввода. Для организации такого вызова справки нужно установить соответствие между номерами контекстов управляющих элементов приложения и разделами справочной системы. Пронумеруем контексты в соответствии с номерами сноски, а затем в приложении зададим эти номера (свойство HelpContext) нужным компонентам. Карта соответствия номеров контекстов и разделов справочной системы указывается в секции Map (карта, соответствие).

Вызовите окно Map щелчком на кнопке Map. Нажмите на Add. В поле Topic ID окна Add Map Entry введите идентификатор раздела справки IDH_001, а в поле Mapped numeric value — соответствующее идентификатору число, например 1. Нажмите на Ok. Трижды выполните команду Add для определения номеров разделов IDH_002 (номер 2), IDH_003 (номер 3) и IDH_004 (номер 4). Запишите файл проекта справочной системы в свой каталог Lab10.

3.3. Выполните компиляцию проекта справочной системы командой Compile из меню File. В диалоговом окне Compile a Help File установите флажок: Include .rtf filename and topic ID in Help file (включить имя файла RTF и номера разделов в файл справки). Нажмите на кнопку «Compile».

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

4. Для того чтобы подключить справку к приложению, нужно вызвать окно установки опций проекта Project/Options и на странице Application выбрать этот файл в поле Help file с помощью кнопки Browse.

Номер раздела справки каждого компонента, которое вызывается клавишей F1, вводят в свойство HelpContext. Перейдите в окно инспектора объектов. Раскройте список компонентов и, выделяя последовательно компоненты в списке, установите номер раздела справки в свойстве HelpContext.

Для компонента TPageControl введите 2, для TStringGrid — 3, для TComboBox — 4. Для всех остальных компонентов значение свойства задайте равным 1.

В списке компонентов выделите компонент Form1. На странице Properties найдите свойство HelpFile и введите имя файла справки — Help1.hlp.

5. В хранилище действий TActionList добавьте еще одно действие, в свойство Caption которого введите слово «Помощь». Создайте обработчик Execute этого действия. В этом обработчике событий обратимся к функции WinHelp, которая запускает программу Windows Help. Введите оператор WinHelp(Form1.Handle,'Help1.Hlp',HELP_CONTEXT,1);

6. Создайте новый пункт главного меню и назначьте ему соответственное свойство Action для вызова справки.

7. Запустите программу на выполнение и проверьте работоспособность справочной системы.

Если нужно дополнить справку, то: 1) файл текста справки дополняется; 2) справочная система компилируется заново.


Читать еще: Разработка приложений в Delphi



www.liex.ru -


LiveCLiX






Help Workshop в Delphi