Статья
Версия для печати
Обсудить на форуме
Создание справочной системы в Microsoft Help Workshop


Справочная система


Желательно, чтобы каждая программа имела справочную систему, при помощи которой пользователь мог получить исчерпывающую информацию о программе, о том, как с ней работать. Справочная система представляет собой набор файлов определенной структуры, использую которые программа Winhelp, являющаяся составной частью Windows, выводит справочную информацию, которая находится в hlp-файле.



Окно справки имеет меню и панель инструментов, позволяющие работать со справочными файлами. В зависимости от ситуации отдельные кнопки могут быть неактивны. Кроме того, разработчик справочной системы с помощью макрокоманд может изменить состав меню и панели инструментов. Создать hlp-файл можно при помощи программы Microsoft Help Workshop, исходными данными для которой является текст справки, представленный в виде rtf-файла.
Процесс создания справочной системы (hlp-файла) можно представить как последовательность следующих двух шагов:
  • Подготовка справочной информации (создание файла документа справочной информации).
  • Преобразование файла справочной информации в файл справочной системы.


Файл документа справочной информации


Файл документа справочной системы представляет собой rtf-файл определенной структуры. Создать rtf-файл справочной информации можно при помощи любого редактора, позволяющего работать с документами формата RTF, в том числе с помощью Microsoft Word. Документ может содержать графические изображения и таблицы, стилевое и шрифтовое оформление. Кроме собственно справочной информации, в него включаются управляющие данные, например, определяющие взаимосвязи между разделами документа. Сначала нужно набрать текст заголовков справки, оформив заголовки одним из стилей "Заголовок", например Заголовок 1. При этом текст каждого раздела должен находиться на определенной странице документа (заканчиваться символом "разрыв станицы"). Раздел представляет собой фрагмент справочной системы, отображаемой в окне Winhelp. Если размер окна недостаточен для отображения раздела целиком, у окна появляется горизонтальная или вертикальная полосы прокрутки. Каждый раздел справки оформляется отдельным разделом документа. Справочный файл имеет оглавление, или начальный раздел, который при иерархической организации справки выполняет роль корневого раздела. После того как текст разделов будет набран, нужно, используя сноски, пометить заголовки разделов справочной информации (сноски используются компилятором справочной системы в процессе преобразования rtf-файла в hlp-файл, файл справки). Для того чтобы пометить заголовок раздела сноской, нужно установить курсор перед первой буквой заголовка раздела и из меню Вставка выбрать команду Сноска. В открывшемся диалоговом окне Сноски в группе Вставит сноску нужно установить переключатель в положение обычную, а в группе Нумерация - в положение другая. В поле ввода номера сноски следует ввести символ # и нажать кнопку ОК.



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

СноскаНазначение
#Задает идентификатор раздела справки, который может использоваться в других разделах для перехода к помеченному этой сноской разделу.
$Задает имя раздела, которое будет применятся для идентификации раздела справки в списке поиска  и в списке просмотренных тем во время использования справочной системы.
KЗадает список ключевых слов, при выборе которых из списка диалога поиска осуществляется переход к разделу справки, заголовок которой помечен этой сноской.

Примечание: Лучше, чтобы идентификатор раздела справки начинался с префикса IDH_. В этом случае во время компиляции rtf-файла будет проверена корректность ссылок на разделы справки. Компилятор выведет список идентификаторов, которые перечислены в разделе [MAP] файла проекта (см. ниже), но которых нет в rtf-файле.



Как правило, разделы справки содержат ссылки на другие разделы. В окне справочной системы понятия (слова), выбор которых вызывает переход к другому разделу справки, выделяются отличным от основного текста справки цветом и подчеркиваются. Во время подготовки текста справочной информации, слово-ссылку, при выборе которой происходит переход к другому разделу справки, следует подчеркнуть двойной линией. Сразу за ссылкой, без пробела, поместить идентификатор раздела справки, к которому должен быть выполнен переход. Вставленный идентификатор необходимо оформить как скрытый текст. При этом рисунки, как и текст, можно использовать для ссылки на другой раздел. Для этого рисунок соответствующим образом подчеркивается, а контекст раздела помещается сразу после рисунка. На предыдущим рисунке приведен вид окна редактора текста во время подготовки файла справочной информации. Слово "Заказчика" помечено как ссылка на другой раздел справки (здесь предполагается, что раздел справки, в котором находятся сведенья о заказчике, помечен сноской #, имеющий идентификатор IDH_1).


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


После того как создан файл справочной информации системы (rtf-файл), можно приступить к созданию справочной системы (hlp-файла). Для этого удобно воспользоваться программой Microsoft Help Workshop, которая находится в файле Hcw.exe; который поставляется отдельно или вместе с Delphi (или в C++ Builder) Запускается Microsoft Help Workshop через файл Hcw.exe.



После запуска программы Microsoft Help Workshop на экране появляется главное окно программы. Основным файлом компилятора является файл проекта, который объединяет такие элементы, как текстовые файлы справок, опции, номера контекстов, и позволяет создать из них справочный файл. Для того чтобы приступить к созданию справочной системы, нужно из меню File выбрать команду New, затем в открывшемся  диалоговом окне Project File Name указать тип создаваемого файла -  Help Project. Далее следует выбрать папку, где находится программа, для которой создается справочная система, и где уже должен находится файл документа справочной системы (rtf-файл). Затем в поле Имя файла нужно ввести имя файла проекта справочной системы. Файлу проекта присваивается расширение HPJ.



После нажатия кнопки Сохранить открывается окно проекта справочной системы. Элементы проекта представляют собой отдельные секции, имена которых отображаются заглавными буквами и заключены в квадратные скобки. Первоначально в проекте имеется только секция [OPTIONS], в которую включены параметры окна справки и вывода отчета о компиляции проекта.



Используя окно проекта справочной системы, можно добавить необходимые компоненты в проект, задать характеристики окна справочной системы, выполнить компиляцию проекта и пробный запуск созданной справочной системы. Для того чтобы добавить в проект файл справочной информации, нужно нажать на кнопку Files и в открывшемся диалоговом окне Topic Files - кнопку Add. В итоге открывается стандартное окно Открытие файла, позволяющее выбрать нужный rtf-файл.



В результате этих действий в окне проекта появится раздел [FILES], в котором будет указано имя файла справочной информации. Если справочная информация распределена по нескольким файлам, то операцию добавления файла нужно повторить. Для того чтобы задать характеристики главного окна справочной системы, надо в окне проекта нажать кнопку Windows. Появится окно Create a window. В поле Create a window named надо ввести main.



В результате нажатия на кнопку ОК появляется окно Window Properties, в поле Title bar text вкладки General которого нужно ввести заголовок главного окна создаваемой справочной системы.



Используя вкладку Position диалогового окна Window Properties, можно задать положение и размер окна справочной системы.



На вкладке Position находится кнопка Auto-Sizer, при нажатии которой открывается окно Help Window Auto-Sizer, размер и положение которого определяется содержимом полей вкладки Position. При помощи мыши можно менять размер и положение этого окна. После нажатия кнопки ОК координаты и размер окна Help Window Auto-Sizer будут записаны в поля вкладки Position.



Используя вкладку Color, можно задать цвет фона области заголовка раздела справки и области текста справки. Для этого надо нажать соответствующую кнопку Change и в стандартном окне Цвет выбрать нужный цвет.



Чтобы программа, использующая справочную систему, могла получить доступ к конкретному разделу справочной информации, нужно определить числовые значения для идентификаторов разделов, т.е. установить соответствия между номерами контекстов управляющих элементов приложения и разделами справочной системы. Что бы это сделать, надо в окне проекта справочной системы нажать кнопку Map, в результате чего откроется  диалоговое окно Map. В этом окне разработчик может выполнять такие операции, как добавление нового соответствия или удаление существующего. Соответствия отображаются построчно в виде пар значений, разделенных знаком равенства. Слева находится контекст раздела справочного файла(сноска, обозначенная символом #), а справа - номер контекста управляющего элемента приложения.



В этом окне нужно нажать кнопку Add и в поле Topic ID, открывшегося диалогового окна Add Map Entry, ввести идентификатор раздела справки, а в поле Mapped numeric value - соответствующее идентификатору числовое значение. В поле Comment модно ввести комментарий - название раздела справочной системы, которому соответствует идентификатор. Далее приведено окно проекта справочной системы после добавления rtf-файла, установки характеристик главного окна справочной системы и назначения числовых значений идентификаторов разделов.



После того как будет подготовлен файл проекта, можно выполнит компиляцию, щелкнув на находящейся в окне проекта кнопке Save and Compile. Однако первый раз компиляцию проекта справочной системы лучше выполнить выбором из меню File команды Compile, в результате выполнения которой открывается диалоговое окно Compile a Help File.



В этом окне следует установить флажок Automatically display help file in WinHelp when done (Автоматически показывать созданную справочную систему по завершении компиляции), а затем нажать кнопку Compile. По завершении компиляции на экране появится окно с  информационным сообщение о результатах компиляции и, если компиляция выполнена успешно, окно созданной справочной системы. Созданный компилятором файл справочной системы (hlp-файл) будет помещен в ту папку, в которой находится файл проекта. Если сообщений об ошибках не было, то справочный файл содержит корректную информацию и готов к использованию. Однако если при компиляции были выявлены ошибки, то справочный файл все равно создается и может быть использован, однако отдельные его элементы, например ссылки, могут не работать или работать не правильно. Компилятор справочных файлов является MDI-приложением и может иметь несколько одновременно открытых дочерних окон. После выполнения компиляции такими окнами являются окно проекта т окно результатов компиляции, причем последнее располагается поверх окна проекта. Для продолжения работы над проектом необходимо закрыть окно результатов или переключится в окно проекта командой Window/Project Name, где Project Name - имя файла проекта.


Создание содержания


Для создания полноценной справочной системы необходимо создать cnt-файл, в котором будут храниться названия тем и разделов справочной системы. В программе Help Workshop нужно создать новый проект File->New, в открывшемся диалоговом окне выберите тип создаваемого файла - Help Contents. Откроется окно проекта, в котором нужно заполнить поле Default filename - имя файла справки (RS.hlp) и Default title - заголовок окна справочной системы.



Для добавления темы нужно нажать кнопку Add Below - откроется диалоговое окно добавления тем и разделов. Под темой понимается то, что в справочной системе отображается как иконка закрытой книжки, щелчок на которой приведет к раскрытию выпадающего списка разделов справочной системы, а раздел в справочной системе отображается как иконка листа со знаком вопроса, щелчок на которой приведет к открытию соответствующего раздела. Добавить тему можно и с помощью кнопки Add Above - эти кнопки различаются тем, что при добавлении Add Above - раздел располагается выше выделенного раздела, а Add Below - ниже. Для добавления темы необходимо установить переключатель на Heading и заполнить поле Title - название темы.



При добавлении раздела, переключатель следует установить на Topic и заполнить поля Title - название раздела (Журнал оплаты); Topic ID - идентификатор раздела (IDH_5); Help file - имя файла помощи (RS.hlp); Window type - тип окна, в котором будет отображаться раздел (main).



После создания cnt-файла его нужно добавить в проект справки. Для этого надо открыть ранее созданный проект справочной системы, нажать кнопку Options и в открывшемся окне на вкладке Files в поле Contents file ввестиите имя cnt-файла.




Создание указателя и поиска по разделам


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



Используя сноску $ можно задать названия разделов, которые будут отображаться на вкладке Поиск.



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


Использование справочной системы


Для того, что бы во время работы программы пользователь, нажав клавишу F1, мог получить справочную информацию, надо чтобы свойство Файл справки формы содержало имя файла справочной системы, а свойство Идентификатор справки - числовой идентификатор раздела справочной информации, который должен быть выведен.



Файл справочной системы приложения лучше поместить в ту папку, в которой находится файл исполняемой программы. Это позволит использовать одно и то же значение свойства Файл справки  во всех экземплярах приложения и не помешает установке приложения в любую папку пользователя. Если в значении этого свойства не указан путь, Microsoft Access будет искать файл справочной системы в каталоге приложения. Если в момент нажатия клавиши F1 фокус находится на элементе управления, для которого не был создан пользовательский раздел справочной системы, то будет выведен раздел пользовательской справки для формы. Если раздел пользовательской справки для формы также отсутствует, открывается окно помощника по Office. Раздел пользовательской справки не может быть выведен на экран с помощью помощника.
Для создания файла справки можно использовать также Microsoft HTML Help Workshop- для создания файлов справочной системы в гипертекстовом формате.


Немного из теории справочных систем


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

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

Справочная система программного продукта пишется всей группой разработчиков проекта. Люди, отвечающие за информационное наполнение программы, пишут материалы о назначении программного продукта, дают описание информационного наполнения и рекомендации по использованию программы. Разработчики программного кода, дают описание функций программы, назначения элементов интерфейса и методов непосредственной работы. Также, программисты, производят сборку справочной системы и ее интеграцию в программу. Справочная система программы, проходит первичное тестирование. Целью первичного тестирования, является выявление недостатков, к которым относятся мертвые гиперпереходы в справочной системе, несоответствия описания - реальным программным интерфейсам и недостаточность предложенной информации, для работы с программой неподготовленного пользователя. Первичное тестирование, производится всей группой разработчиков программного продукта. Производится совместное чтение материалов собранной справочной системы. Все вопросы, предложения и замечания документируются. Затем следует общее обсуждение выявленных проблемных мест. Целью данного обсуждения, является определение списка необходимых исправлений в справочной системе.

Автор: Алена
Версия для печати
Обсудить на форуме