Каждая, даже самая маленькая программа, должна содержать справку. Help всегда поможет пользователю разобраться с принципом работы программы. Для этого приложение должно включать в свой состав файл помощи, с расширением .hlp. Запуск справки происходит при нажатии на клавишу F1 или при выборе соответствующего пункта меню. При запуске файла помощи автоматически запускается программа winhelp.exe или winhlp32.exe, именно в окно этой программы и загружается содержимое справки. Создание справочной системы начинается с создания текстового файла справки. Для этого нужно создать обычный документ MS Word и сохранить его в формате RTF. Для таких целей так же может подойти любой текстовый редактор, поддерживающий работу с такого рода форматом. Нужно отметить, что при написании текста справки используется принцип WYSIWYG, то есть что видишь, то и получаешь. Файл справки может содержать графические объекты (рисунки, скриншоты), таблицы, а так же всевозможные стилевые и шрифтовые оформления. Сам текст справки представляет собой гипертекст и может содержать неограниченное количество ссылок в документе. Таким образом, файл справки состоит из некоторого числа разделов (страниц), до которых можно "добраться" при помощи перекрестных ссылок. Раздел справки обязательно должен содержать контекст. Контекстом является текстовая строка, однозначно определяющая раздел, то есть конечная метка при переходе по ссылке. Отсюда и получается название "контекстно-зависимая помощь".
Для создания контекста используются простые сноски. Для вставки сноски нужно выбрать пункт
"Вставка" - "Сноска" текстового редактора MS Word. После этого на экране появиться
специальное окно. В группе "Нумерация" необходимо выбрать "Другая" и соответствующее
поле ввода внести символ # (сетка) для определения текущего контекста.
Вот список возможных значений: После этого документ будет разделен на две части - сам документ и область для сносок. После сносок нужно указать некоторый текст, особенно это требуется для контекста и заголовка. Между сноской и текстом должен быть хотя бы один пробел.
После того как были созданы сноски, нужно организовать переход к этим сноскам. Для этого как раз
служат перекрестные ссылки. Существует возможность создать ссылку на:
Внешне ссылки представляют собой некоторую строку текста, обычно, выделенную цветом и подчеркиванием. При наведении указателя мыши на ссылку, указатель автоматически меняется вид на "указательный палец". Сама ссылка состоит из двух частей - текст, которых виден пользователю, выделен подчеркиванием и цветом, и невидимая часть, которая представляет собой контекст раздела, на который происходит переход. Для перехода на раздел внешного файла, нужно указать символ @ и имя внешнего файла. Для оформления подчеркивания и скрытия текста нужно использовать стандартные средства текстового редактора MS Word. Для этого нужно выбрать пункт меню "Формат" - "Шрифт". А теперь от теории перейдем к практике и приступим к созданию небольшой справочной системы. Для начала создадим файл Help.rtf состоящий из трех станиц. В начале каждой страницы внесем текст Страница № 1, Страница № 2, Страница № 3. Страница № 1 будет главной и отображаться в файле помощи самой первой. Как раз на этой первой странице расположим две будущие ссылки на вторую и третью страницы. Так и назовем их Ссылка на страницу № 2 и Ссылка на страницу № 3. И соответсвенно на Странице № 2 и на Странице № 3 расположим по одной будущей ссылке Вернуться на начало.
Теперь нам нужно эти ссылки оформить по всем правилам. Выделим текст будущей ссылки и в пункте меню
"Формат" - "Шрифт" выберем Зачеркнутый. После этого мы получим следующее:
Дальше нужно вставить сноски. Для этого нужно выбрать пункт меню "Вставка" - "Сноска" и в
группе Нумерация нужно выбрать Другая и в поле ввода внести символ #, как
было описано выше. В разделе сносок, находящихся в нижней части каждой страницы, у каждого символа
# нужно внести соответственно для каждой страницы значения Page_1, Page_2 и
Page_3. Теперь все страницы имеют имеют свой контекст. Для навигации между страницами нужно
в конце ссылок необходимо вставить названия контекстов. И вот что должно получиться:
И последним этапом создания текстового файла справки будет скрытие названий Page_1, Page_2 и Page_3. Это делается аналогично зачеркиванию текста, то есть при помощи пункта меню "Формат" - "Шрифт". Только здесь нужно будет указать только атрибут Скрытый. На этом создание текстового файла справки заканчивается.
Теперь необходимо откомпилировать текстовый файл справки при помощи программы Microsoft
Help WorkShop. Эта программа находиться в каталоге Delphi, а именно в Help\Tools\hcrtf.exe.
После запуска программы нужно выбрать пункт меню "File" - "New", при этом на экране
появиться окно, в котором нужно выбрать Help Project.
После этого на экране появиться диалог для сохранения файла проекта справки. Здесь необходимо
задат имя с указанием расширения .hpj. Условно назовем проект help.hpj.
Далее нужно нажать на кнопку "Files..." и выбрать уже созданый текстовый файл справки. В
результате должно получиться следующее.
Для того чтобы в программе можно было запускать определенную страницу справки для отдельных
компонентов нужно организовать связь контекстов с этими компонентами. Для этого нужно нажать на
кнопку "Map". После нажатия появиться специальное окно. Для добавления новой связи контекста
нужно нажать на кнопку "Add...". В результате на экране появится новое окно. В данном окне,
в редакторе "Topic ID", небходимо ввести имя контекста, например, контекст первой страницы
Page_1. В поле "Mapped numeric value", необходимо задать некоторое уникальное
числовое значение. Это уникальное числовое значение будет, в дальнейшем, использовано для
указания номера контекста для отдельного элемента в программе.
Далее следует повторить весь алгоритм для остальных страниц. В результате должно получиться
примерно так:
И на данном этапе можно компилировать файл справки путем нажатия на кнопку "Save and Compile". После компиляции файл помощи будет находиться в том каталоге, где находиться файл проекта. В настройках можно задать цветовую палитру файла справки, размеры окна при запуске и т.д. Вот нам и удалось создать свой help. Для того чтобы в программе вызывался файл помощи, нужно в опциях проекта указать расположение файла помощи, обычно это текущая директоия. Далее нужно выбрать некоторый компонент программы и через Инспектор объектов задать свойству HelpContext, то уникальное числовое значение, которое было указано в окне "Map". Вот таким образом и организуется работа контекстно-зависимой помощи. |