Создание справочной системы. Описание возможностей HTML Help Workshop

18.09.2020 Новости

Пример



Кнопку можно задать также с помощью парного тега . Внутри элемента BUTTON можно размещать другие HTML-элементы, так что можно сделать кнопку с текстом и рисунком. Вот так:

Можно вместо рисунка вставить что угодно, хоть таблицу, если вам это необходимо.


Текстовое поле

Все атрибуты обязательны. Атрибут NAME определяет имя, под которым содержимое окна будет передано обработчику (в примере - address). Атрибут ROWS устанавливает высоту окна в строках (в примере - 5). Атрибут COLS устанавливает ширину окна в символах (в примере - 50).

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

Атрибут SUBMIT

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

Вместе с атрибутом SUBMIT можно использовать следующие атрибуты:

· NAME - наименование кнопки SUBMIT

· VALUE - значение переменной поля в вашей форме

С помощью HTML Help Workshop. можно создать справочную систему в виде скомпилированного файла или специального Web-узла. Файлы, составляющие разделы этой системы, содержат тексты, графику и другие элементы, которые могут появляться в разделах справки. Другие файлы, также являющиеся частью справочной системы, содержат информацию, необходимую для организации внешнего облика системы, организации поиска нужных разделов и других манипуляций с ней.

HTML Help Workshop позволяет создать оглавление, индексы и файл проекта, объединяющий все файлы справочной системы. В процессе компиляции файла проекта и всех файлов, связанных с ним, HTML Help Workshop создает единый файл справочной системы, выполняя одновременно операцию сжатия. Сжатие HTML-файлов и файлов других типов позволяет существенно экономить требуемое дисковое пространство.

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

· HTML-файлы, описывающие разделы справки.

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

· Файлы, описывающие содержание справочной системы

· Файлы индексов, необходимые для поиска разделов по индексам.

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

· Файл проекта справочной системы, объединяющий всю информацию.

Основой справочной системы являются разделы, описывающие те или иные темы. Как уже говорилось, каждый раздел оформляется в виде отдельного HTML-файла, представляя по существу отдельную Web-страницу. Следовательно, предоставляется большой простор при создании раздела справки, поскольку здесь можно применять весь дизайн Web-страниц. Заметьте, поскольку разделы являются Web-страницами, то всю справочную систему совершенно естественно рассматривать в виде Web-узла. Это особенно удобно в тех случаях, когда разрабатываемая система предназначена для коллективной работы пользователей и доступна для работы в корпоративных сетях интранет, сетях экстранет или сети Интернет. В случае, когда справочная система поставляется вместе с самой системой, естественно, приемлемой формой справочной системы является компилируемый файл.

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

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

В системе HTML Help Workshop технологически оглавление создается после того, как созданы разделы. При создании таблицы содержания используются два типа элементов оглавления - книги и страницы. В книгу наряду со страницами могут быть вложены другие книги, и потому каждая книга разворачивается в привычную для программистов структуру, называемую деревом. Поскольку содержание руководства на верхнем уровне может состоять из нескольких книг, то фактическая структура содержания является не отдельным деревом, а лесом - более сложной структурой, вполне достаточной для отображения сложной иерархии, связывающей разделы руководства.

Теперь, когда получено общее представление об инструменте HTML Help Workshop, давайте перейдем к рассмотрению примера создания справочной системы. Рассмотрим достаточно много интересных деталей, иллюстрирующих возможности этого инструмента. Но прежде скажем несколько слов о том, как можно получить нужный инструментарий, если он еще не инсталлирован на Вашем компьютере.

HTML Help Workshop это среда разработки справочных материалов на базе Microsoft Help. Приложение включает функциональный конструктор с интеграцией ActiveX компонентов. Поддерживается вставка html разметки, растровых файлов и скриптов на Visual Basic Scripting Edition и JScript языках создания сценариев. Позволяет генерировать интуитивные справочники с интерактивными разделами, активными ссылками, мультимедийными данными.

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

Конструктор используется при работе с новыми приложениями, может выступать в качестве дополнения в сторонних инструментах разработки.

Скачать бесплатно полную русскую версию HTML Help Workshop с официального сайта без регистрации и смс.

Системные требования

  • Поддерживаемые ОС: Windows 10, XP, Vista, 8.1, 7, 8
  • Разрядность: x86, 64 bit, 32 bit

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

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

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

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

  • Подготовка справочной информации (создание файла документа справочной информации).
  • Преобразование файла справочной информации в файл справочной системы.

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

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

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

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

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

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

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

В результате этих действий в окне проекта появится раздел , в котором будет указано имя файла справочной информации. Если справочная информация распределена по нескольким файлам, то операцию добавления файла нужно повторить. Для того чтобы задать характеристики главного окна справочной системы, надо в окне проекта нажать кнопку 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).

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

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

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

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

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

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

Процесс создания chm значительно облегчает такой инструмент как HTML Help Workshop, разработанный Microsoft. Качаем HTML Help Workshop с сайта Microsoft. Устанавливаем HTML Help Workshop на свой компьютер. Создаем на локальном диске D: папку и называем ее chm. Запускаем HTML Help Workshop, выбираем в контекстном меню «File» -> «New» -> «Project». Откроется окно мастера проекта.

Необходимо указать, где будет храниться проект файла chm. Я указал созданную нами папку.

Рис. 2. Окно выбора расположения проекта

На следующем шаге ничего не меняем, так как у нас нет никаких файлов, которые можно было бы уже добавить в проект HTML Help Workshop.

Рис. 3. Окно указания какие файлы, необходимые для создания справки уже есть у вас

Нажимаем «Готово». У нас получился пустой проект. Теперь нужно подготовить файлы, без которых невозможно создание chm. Главное – это сами страницы, содержащие справку. Для их создания необходимо выбрать в контекстном меню «File» -> «HTML File», в появившемся окне набрать название страницы, которую будем создавать. Я назвал ее «Intro».

Рис. 4. Создание первого файла HTML

После того как вы вбили свое название и нажали «OK», перед вами будет окно, в котором уже есть пустая html страница, если мы сохраним ее в таком виде, то это будет просто пустая html страница c заголовком «Intro». Наберите что-нибудь между тегами и сохраните страницу, нажав на изображение дискеты, в папке D:\CHM.

Рис. 5. Редактор HTML страниц

Также создайте еще пару страниц, чтоб можно было немного поэкспериментировать. Я создал страницы «FolderIntro.htm» и «Help In Folder.htm»

Рис. 6. Файлы в папке проекта

Теперь у нас есть 3 файла, которые необходимо скомпилировать в один файл chm. Но для того, чтобы созданный chm был полноценным важно наличие дерева каталогов и страниц справки, хранящихся внутри файла. Это дерево всегда располагается слева от текста справки. Для создания этого дерева нам нужно перейти на вкладку «Contents» в окне HTML Help Workshop. При нажатии на эту вкладку появится вопрос:

Рис. 7. Создание файла контента (в котором хранится древовидная структура справки)

Мы, конечно же, соглашаемся и создаем новый файл контента. Примем то имя файла, которое предложит нам HTML Help Workshop – «Table of Contents.hhc». С левой стороны обращаем внимание на вертикальный ряд кнопок, ими мы будем пользоваться при создании файла контента. Нажмем верхнюю из них – «Contents Properties».

Рис. 8. Окно в котором создается дерево контента

Появится такое вот окошко «Table of Contents Properties», можете в будущем поиграться с настройками стилей и видов, но сейчас мы не будем тут ничего менять, закроем окно. Рассмотрим кнопки немного ниже, чем кнока «Contents Properties», первая (с изображением папки) – создает каталог внутри файла chm, в который можно помещать страницы, вторая (с изображением исписанного листа бумаги) – создает страницу внутри файла chm, третья (карандаш) – редактирует страницу или каталог внутри файла chm, четвертая – удаляет страницу или каталог из списка страниц внутри файла chm. Еще ниже, расположены кнопки, которые позволяют перемещать страницы и каталоги вверх и вниз по списку, также передвигать правее и левее. Предпоследняя кнопка для просмотра HTML кода страницы и последняя, чтоб сохранить всю эту беду.

Итак, давайте приступим к созданию дерева каталогов. Нажмем на кнопку с изображением листика, перед нами появится окно, в котором заполняем поле «Entry title» (у меня набрано Intro). Нажимаем кнопку «Add…», появляется окно «Path or URL», набираем в поле «File or URL» название нашей первой созданной html страницы. Так как страница хранится в той же папке, что и сам проект – D:\CHM, то нет необходимости указывать полный путь к файлу.

Рис. 9. Добавление страницы в таблицу контента

Рис. 10. Добавление страницы в проект

Затем нажимаем «OK» в обоих окошках. Теперь нажимаем на кнопку с изображением папки. Появится окно, которое интересуется вставить ли каталог в начало таблицы контента. Мы согласимся, а потом, если надо, изменим.

Рис. 11. Указание расположения записи в дереве контента

Здесь появляется такое же окошко, как и при добавлении отдельной страницы, то есть надо дать название каталогу и указать, какой html файл будет отображаться при выделении этого каталога. После того, как каталог настроен, выделяем этот каталог и нажимаем на кнопку с изображением страницы. На вопрос о том вставить ли страницу в начало, мы отвечаем «Нет». И, таким образом, после настройки этой страницы она будет помещена внутрь только что созданного каталога. Теперь можно переместить каталог ниже, нажав на кнопку со стрелкой, направленной вниз.

Рис. 12. Что-то похожее на дерево контента

Сохраним таблицу контента.

Теперь создадим «Индекс» для файла chm. Для этого перейдем на вкладку «Index» и согласимся создать новый индексный файл «index.hhk». В появившемся окне нажимаем на кнопку с изображением ключа, набираем в поле «Keyword» ключевое слово, при поиске которого по индексу (когда файл справки будет уже создан) будет открываться определенная страница. После того, как указали ключевое слово, также как и при создании таблицы контента, нужно указать файл, который будет соответствовать этому ключевому слову.

Рис. 13. Окно создания индекса

После того как созданы таблица контента, индекс и сами html файлы можно приступить к непосредственно настройке файла chm. Для этого переходим на вкладку «Project», и тут нажимаем на самую верхнюю в вертикальном ряду кнопку. Настраиваем все как на скриншотах.

Рис. 14. Настройка проекта вкладка General

Рис. 15. Настройка проекта вкладка Files

На вкладке «Files» видно, что необходимо указать какие файлы мы используем как Contents file и Index file, а также Full text search stop list file. Первые два файла мы создали ранее, а последний создадим, нажав кнопку «Browse…» и указав имя «search». После этого нажимаем «OK».

Для создания поиска по файлу chm необходимо на вкладке «Compiler» поставить галку «Compile full-text search information».

Теперь жмем на кнопку с изображением папки (вторая сверху), в появившемся окне нажимаем кнопку «Add…», выделяем все html файлы, которые хотим добавить в справку и нажимаем «Открыть». Все файлы будут добавлены в файл справки. Теперь у нас должна быть такая картина.

Рис. 16. Добавления файлов HTML

Остается только скомпилировать файл chm. Нажимаем на самую нижнюю кнопку в вертикальном ряду кнопок.

Рис. 17. Компиляция

Появляется лог, того что проделано. Открываем папку D:\CHM, и видим там готовый файл «MyProject.chm». На этом создание chm завершено.

На лекции осваиваются приемы разработки справочной системы и подключения этой системы к проекту Lazarus.

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

Любой серьезный проект должен быть снабжен подробной справочной системой, позволяющей пользователю разобраться с тем, как работает ваша программа . Ведь если бы не "хэлпы", мы с вами вряд ли смогли самостоятельно освоить какую-нибудь сложную программу. И в этой лекции мы научимся создавать справочные системы и подключать их к проекту. Напомню, что хоть Lazarus и является кросс-платформенной средой разработки программ, мы осваиваем работу с ним под управлением ОС Windows . Если вы пользуетесь Lazarus в среде Linux, Unix или другой не Windows ОС, то рекомендации из этой лекции вам вряд ли подойдут. В этом случае, вам придется поискать данный материал самостоятельно.

Итак, справка может быть двух форматов: *.hlp и *.chm. Оба формата разработаны корпорацией Microsoft. Формат HLP является устаревшим, хотя и встречается до сих пор, но в настоящий момент наиболее распространенным форматом справки в среде Windows является CHM, его и рассмотрим.

CHM (Microsoft Compressed HTML Help , Microsoft Compiled HTML Help , CHM) - формат файлов контекстной справки, разработанной Microsoft в 1997 году в качестве замены формата WinHelp - HLP. Файл CHM является сжатым набором HTML -страниц, своего рода, электронной книгой, и может содержать весь набор Web-страниц: текст, таблицы, рисунки, ссылки, медиа-файлы, и прочее, что делает такую справочную систему мощным инструментом. Все входящие в CHM-справку файлы сжаты алгоритмом LZX, что делает справку более компактной.

В Интернете я нашел упоминание, что в состав Lazarus входит инструмент для создания CHM-файлов. И в самом деле, я нашел этот инструмент по адресу (папки установки Lazarus у меня создавались по умолчанию):

C:\lazarus\tools\chmmaker

По этому адресу я нашел проект, который по идее, нужно скомпилировать, и получить готовый инструмент. Впрочем, достаточно взглянуть на окно проекта, чтобы понять, насколько данный инструмент примитивен. Говорить серьезно о создании с его помощью справочной системы не приходится. А значит, нам нужно найти другой инструмент.

Этот инструмент должен быть:

  • бесплатным;
  • достаточно мощным для создания справок любой сложности.

И тут на ум сразу приходят две программы: HTM2CHM и Microsoft HTML Help Workshop . Первая написана русским программистом Ярославом Кирилловым, обладает русским и достаточно дружелюбным интерфейсом. Функционально она проигрывает Microsoft HTML Help Workshop . Кроме того, компилируемые программой CHM-файлы получаются несколько большего размера. Однако если требуется простая небольшая справка, то лучшего инструмента вам не найти. Мы не будем рассматривать программу HTM2CHM, поскольку она достаточно проста, вам нетрудно будет освоить её самостоятельно. Рассмотрим более сложный инструмент - Microsoft HTML Help Workshop . Как видно из названия, программа разработана корпорацией Microsoft, является бесплатным, свободно распространяемым продуктом. Скачать её можно с сайта производителя, я нашел её по адресу: http://www.microsoft.com/en-us/download/details.aspx?id=21138

Или же вы можете скачать этот инструмент с моего сайта, который задумывался для поддержки этого курса: http://lazarusprog.tk/files/htmlhelp.rar

Это HTML Help Workshop версии 4.74.8702 - программа для создания справочной системы.

HTML Help Workshop (hhw.exe) - программа , обладающая достаточно большими возможностями, хотя и непростая в эксплуатации, и не имеет русского интерфейса. Программа позволяет создавать все необходимые файлы справки, из которых затем компилируется единый проект.

Давайте вообще, разберемся, что представляет собой CHM-справка. По сути, это электронная интерактивная книга, позволяющая использовать содержание, индексы (тэги), полнотекстовый контекстный поиск , избранные статьи справки. И всё это создается на основе отдельных HTML -файлов. И вот теперь мы подходим к другому вопросу: что такое HTML ? HTML - Hyper Text Markup Language - Язык разметки гипертекста, основа, на которой строятся все Web-сайты, те самые веб-странички, которые мы загружаем в свои браузеры. Получается, чтобы создавать справочную систему, требуется изучить ещё какой то HTML ? В общем, да, если вы будете использовать только встроенные средства HTML Help Workshop . Веб-страничку можно написать в любом текстовом редакторе, хоть в Блокноте, если вы знаете разметку HTML . Однако конечно, есть и более простые пути.

Существует множество визуальных редакторов, которые позволяют сохранять содержимое в виде HTML -файлов. В первую очередь приходит на ум офисная программа MS Word . Да, она также позволяет создавать HTML -файлы, однако не советую её использовать: внутри таких файлов очень много лишних тегов - мусора. Кроме того, ссылки на изображения в HTML -файлах должны быть представлены тегом img , например:

а MS Word вставляет изображения в коллекцию Shapes .

Другим вариантом в Интернете нередко советуют программу из того же офиса MS FrontPage . Что ж, в первых версиях эта программа действительно, была хороша: достаточно простая, позволяла создавать веб-странички визуально, не требовала от пользователя знаний HTML . Однако со временем, FrontPage (как и другая продукция Microsoft) всё более усложнялась, в неё добавлялись всё новые, неизвестно кому нужные функции, и теперь MS FrontPage - неповоротливый монстр, для изучения которого потребуется достаточно увесистый учебник.

Есть и третий, более удачный вариант. На просторах Интернета существует много визуальных HTML -редакторов, не требующих знаний HTML . Есть и платные программы, и бесплатные. Есть довольно сложные системы, вроде Macromedia Dreamweaver, позволяющие строить целые сайты, есть программы попроще.

Для создания HTML -файлов я весьма рекомендую простой и бесплатный визуальный HTML -редактор с русским интерфейсом NVU. Этот редактор вы можете скачать с сайта разработчика: http://nvu.mozilla-russia.org/

Это NVU 1.0 - Визуальный HTML редактор (WYSIWYG -редактор, от англ. What You See Is What You Get , "что видишь, то и получишь"). Этот редактор не требует знаний HTML , достаточно прост в освоении и имеет подробную справку на русском языке:

Рассматривать создание веб-страниц в этом редакторе мы не будем, там всё достаточно просто и прозрачно, а лекция и без того получится большой. Замечу только, что имена HTML -файлам лучше давать латинскими символами и не использовать пробелы, то есть, вместо "Команды меню . html " файл будет лучше назвать "CommandsMenu. html ". Дело в том, что если вы будете размещать в каких то страницах руководства ссылки на другие страницы справочника, то HTML Help Workshop может дать неверные результаты с именами файлов на русском языке. Пробелы в имени файла тоже могут сослужить плохую службу.

Теперь вернемся к нашей справке. Надеюсь, вы сохранили проект Блокнота-шифровальщика из 18-й лекции? Для этого проекта мы и будем создавать справочную систему. Прежде всего, нам нужно разработать структуру будущей справки. Содержимое справки представляет собой древовидную структуру, в которой могут быть книги и страницы . Книга в HTML Help Workshop - это раздел, который имеет подразделы, такие книги могут быть вложенными. Страница - это конечный раздел, который не имеет подразделов. Наша программа не настолько сложная, поэтому и структура будет достаточно простой:

Назначение программы Команды меню Файл Правка Формат Кодирование Справка Обратная связь

Здесь мы имеем две страницы: "Назначение программы " и "Обратная связь ", а также книгу "Команды меню ", которая в свою очередь , содержит ещё 5 страниц: "Файл ", "Правка ", "Формат ", "Кодирование " и "Справка ".

Таким образом, нам придется сделать 8 HTML -файлов, отдельно на книгу и на каждую из страниц. Я не буду приводить полные листинги этих файлов - содержимое справки будет зависеть от вашей фантазии, но некоторые показательные теги я приведу. Вот, например, как я указывал ссылки на существующие страницы руководства:


Рис. 28.2.

Код я привёл в виде изображения, чтобы теги примера не конфликтовали с тегами самой лекции. Причем текст HTML -файла открыт в простом Блокноте, чтобы увидеть теги в NVU, нужно открыть вкладку "Код " в нижней части рабочего окна.

А так у меня вставляется изображение:


Рис. 28.3.

В результате должна получиться примерно такая страничка со вставленным изображением:

Надеюсь, смысл вы уловили, и правильно сделали все 8 html -файлов (у меня есть ещё 9-й файл - изображение MyText.jpg ).

Наш Блокнот-шифровальщик находится в папке 18-01 , если вы следовали моим рекомендациям. Создадим в этой папке еще одну папку Help , где будем собирать нашу справочную систему. У меня получился такой адрес :

C:\Education\18-01\Help

Я поместил туда 8 html -файлов:

  • Coder.html
  • CommandsMenu.html
  • File.html
  • Format.html
  • Naznachenie.html
  • ObratSvyaz.html
  • Pravka.html
  • Spravka.html

и картинку MyText. JPG , которую я вставлял в страничке Coder . html (см. рис. 28.4).

Теперь все приготовления сделаны, можно загружать программу HTML Help Workshop и заняться, наконец, созданием CHM-файла. Загрузив программу, выберите команду меню "File -> New ", или щелкните кнопку "New " на Панели управления . Перед вами появится следующее окошко:


Рис. 28.5.

Итак, здесь вы можете выбрать для создания следующие объекты:

  • Project - Проект в целом. Это нам выбирать еще рано, сначала нужно будет сделать Таблицу Содержания.
  • Text - Простой текстовый файл.
  • HTML File - Файл HTML, веб-страничка. Однако, как уже говорилось, возможности этого редактора весьма скромны, и чтобы им пользоваться, требуются знания гипертекстовой разметки.
  • Table of Contents - Таблица Содержания, файл формата HHC (Hyper Help Contents ). Здесь откроется редактор, в котором нужно будет ввести содержание контекстной справки, точно такое же, как разработанная нами ранее древовидная структура. И нужно будет связать каждую книгу и страницу со своим HTML-файлом.
  • Index - Создание индексного файла, или файла указателей. В этом файле собираются ключевые слова, фразы, по которым затем строится индекс. Сейчас в Интернете такие ключевые слова нередко называют тэгами. Файл имеет формат HHK (Hyper Help Keyword).

Создание Таблицы содержания

Как говорилось выше, вначале нужно будет сделать Таблицу содержания , поэтому выбирайте объект Table of Contents .

В окне HTML Help Workshop будет открыт объект TOC (Table Of Contents ):


Рис. 28.6.

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

Нажмите кнопку "Insert a page " (названия кнопок появляются, если некоторое время подержать над ними указатель мыши) для добавления страницы. В поле "Entry title " требуется указать то название раздела, которое будет отображаться в таблице. У нас это будет "Назначение программы " (без кавычек, конечно). Затем нужно нажать кнопку "Add/Edit ", чтобы указать соответствующий разделу HTML - файл . Откроется еще одно окно "Path or URL ", в котором требуется ввести имя HTML -файла или его Интернет - адрес . Можно воспользоваться кнопкой "Browse " для выбора файла, но тогда файл будет указан вместе с его относительным адресом, например, так:

..\..\Education\18-01\Help\Naznachenie.html

У нас с вами все файлы проекта справочника будут находиться в одной папке, поэтому относительный адрес тут не нужен. Удалите его, оставив в строке "File or URL " только имя соответствующего разделу HTML -файла, у меня это:

Naznachenie.html

Нажмите кнопку "ОК ", и тогда окно добавления раздела Таблицы содержания будет выглядеть так:


Рис. 28.7.

Нажмите "ОК ", и раздел будет добавлен в Таблицу содержания .

Теперь нажмите кнопку "Insert a heading ", потому что в этот раз нам нужно добавить не страницу, а книгу "Команды меню ". На запрос уверены ли вы, что желаете добавить книгу в таблицу содержания, ответьте утвердительно. Процесс добавления книги абсолютно такой же, как и страницы. Укажите название раздела "Команды меню " и укажите HTML - файл , соответствующий этому разделу. Не забудьте удалить относительный адрес , если вы воспользовались кнопкой "Browse " для выбора файла.

Когда вы укажите всё, что нужно, и подтвердите все запросы, книга будет добавлена в Таблицу содержания , но окажется ВЫШЕ предыдущей страницы! А в нашей древовидной структуре она должна быть во второй строчке. Тут на помощь приходят четыре кнопки со стрелками. Первые две позволяют перемещать объект выше и ниже, а вторые - влево и вправо. Таким образом, мы можем не только установить раздел на нужную строчку Таблицы , но и передвинуть его на нужную позицию древовидной структуры. Ведь в третьей строчке у нас должна быть страница "Файл ", которая будет вложенной в книгу "Команды меню ", а стало быть, должна быть сдвинута вправо.

Проделав эту операцию нужное количество раз, добавьте все остальные страницы в Таблицу содержания :


Рис. 28.8.

Не забывайте убирать относительный адрес HTML -страниц.

Когда закончите работу, нажмите нижнюю кнопку "Save file " на левой панели инструментов для сохранения Таблицы содержания . Имя таблицы можете оставить без изменения, "Table of Contents.hhc ", но убедитесь, что сохраняете его в ту же папку, где уже находятся HTML -файлы справки. Впрочем, эта самая папка уже должна быть указана в окне сохранения Таблицы , если вы добавляли HTML -страницы кнопкой "Browse ".

Создание файла проекта

Командой главного меню "File -> Close all " закройте созданную ранее Таблицу разделов . Затем выберите команду "File -> New " или нажмите кнопку "New " на Панели инструментов , чтобы начать создание нового объекта. В этот раз мы создаем Проект , поэтому в окне выбора объекта укажите Project .

Появится окно мастера создания проекта, и вначале вам будет предложено конвертировать существующий проект устаревшего формата WinHelp . Мы с вами создаём проект "с нуля", поэтому флажок "Convert WinHelp project " не устанавливаем, а сразу нажимаем "Далее ".

На следующем шаге вам будет предложено ввести имя файла проекта или выбрать существующий файл . Тут проще всего нажать кнопку "Browse ", убедиться, что открыта папка "Help ", в которой у нас хранятся все файлы проекта справки, в поле "Имя файла " указать имя файла проекта. Тут есть одно замечание: результирующая справка будет иметь такое же имя, как и файл проекта, а имена справочных файлов обычно совпадают с именами программы. Файл программы у нас называется CodeBook.exe , значит, вписываем имя CodeBook и нажимаем "Открыть ". Вы вернетесь в окно с именем файла, это имя будет указано вместе с адресом, а имя файла проекта автоматически получит расширение HHP (Hyper Help Project) . У меня получилось так:

C:\Education\18-01\Help\CodeBook.hhp

Нажимаем "Далее ", и откроется следующее окно мастера. Тут нам будет предложено указать, какими файлами проекта мы уже располагаем. У нас с вами есть HTML -файлы с разделами и файл Таблицы содержания , устанавливаем соответствующие флажки:


Рис. 28.9.

Нажимаем "Далее ". На следующем шаге будет предложено указать файл Таблицы содержания . Нажмите "Browse " и выберите файл таблицы (Table of Contents.hhc ). Нажимаем "Открыть ", адрес и имя файла Таблицы попадет в поле мастера. Нажимаем "Далее ".

На следующем шаге нам предлагается ввести все HTML -файлы проекта. Можно добавлять их по очереди, а лучше все файлы разом. Нажмите кнопку "Add ", откроется окно открытия файлов. По умолчанию, должна быть открыта папка "Help ". В окне вы увидите 8 HTML -файлов. Выделите первый из них, затем, удерживая кнопку , щелкните по последнему. Все 8 файлов окажутся выделенными. Нажмите "Открыть ", и все эти файлы попадут в окно мастера:


Рис. 28.10.

Создание индексов

Наша справка почти готова, мы уже можем скомпилировать результирующий файл справки, однако не мешает добавить в неё некоторые дополнительные функции. Индекса то у нас еще нет!

Индекс - это файл с расширением HHK (Hyper Help Keyword), содержащий ключевые слова и фразы, и ссылки на страницы справки, к которым они относятся.

Сейчас в Интернете много сайтов - библиотек, блогов, новостных сайтов и т.п. - где вы можете найти информацию по так называемым тегам. Вы же видели поле , куда вводят искомые слова и фразы, и кнопку "Найти " рядом? Те ключевые слова, которые вы туда вводите, в сфере Интернета называются тегами, а в проекте справки - индексами.

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

В окне HTML Help Workshop открыт файл проекта, в левой части окна вы видите три вкладки: "Project ", "Contents " и "Index ". Чтобы начать создание индексов, нужно перейти на вкладку "Index ". Поскольку индексный файл в проекте еще не указан, то будет выведен запрос - создаем ли мы новый индексный файл , или подключаем существующий? Мы создаем новый файл , поэтому оставьте выделенной радиокнопку "Create a new index file " и нажмите "ОК ". Вам будет предложено ввести имя индексного файла, причем по умолчанию будет предложено имя Index.hhk . Не вижу особого смысла менять это имя. Убедитесь только, что в поле "Папка " по -прежнему открыта наша папка "Help ", индексный файл нам нужно сохранять тоже в неё. Нажмите "Сохранить ", и индексный файл будет создан.

Пока еще он пустой - индексов нет. Займемся их созданием. Вообще, следует продумать заранее, какие ключевые слова к какому разделу справки привязать. У меня получилось так:

Таблица 28.1. Примерный список ключевых слов и фраз для индексного файла
Файл и название раздела Ключевые слова
Coder.html

Команды меню "Кодирование "

кодирование, декодирование, шифровать, дешифровать, расшифровать, текст
CommandsMenu.html

Команды меню

пункты меню, файл, правка, формат, кодирование, справка
File.html

Команды меню "Файл "

файл, работа с файлом, создать, открыть, сохранить, статистика, выход
Format.html

Команды меню "Формат "

формат, шрифт, цвет, перенос по словам, автоматический перенос текста
Naznachenie.html

Назначение программы

CodeBook, блокнот-шифровальщик, блокнот, пароль, ключевое слово, версия
ObratSvyaz.html

Обратная связь

обратная связь, сайт, e-mail, электронный ящик, автор
Pravka.html

Команды меню "Правка "

правка, отменить, вырезать, копировать, вставить, удалить, выделить всё, буфер обмена

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

Со списком разобрались, приступаем к созданию индексов. В окне HTML Help Workshop должна быть открыта вкладка "Index ". Обратите внимание на кнопки левой боковой панели инструментов, они почти такие же, как у Таблицы содержания . Нас интересует вторая кнопка "Insert a keyword ", на ней изображен ключ .

Нажмите на неё. Откроется окно добавления индекса. Ключевое слово или фразу нужно вписать в поле "Keyword ", затем нажать кнопку "Add ". Будет открыто окно, в котором нужно выбрать раздел, на который будет ссылаться данное ключевое слово . Если это слово встречается в разных разделах, то придется создавать несколько индексов: с одним ключевым словом, но разными ссылками на разделы . Для больших справочных систем та ещё работа!

Итак, ключевое слово указали, раздел справки в поле "HTML titles " выбрали - поля "File or URL " и "Title " должны заполниться автоматически. Нажмите "ОК ", и новый индекс появится в окне добавления индекса:


Рис. 28.11.

Ещё раз нажмите "ОК ", и на вкладке "Index " появится ключевое слово "кодирование ". Ничего сложного, кроме того, что подобную операцию придется повторять многократно, для каждой пары "Ключевое слово - Ссылка на раздел ". Так что запаситесь терпением, и введите все ваши ключевые слова и фразы.

Каждый раз вам будет выводиться запрос - следует ли создавать новый индекс на верху списка - отвечайте утвердительно, мы этот список отсортируем потом. Если вы случайно ошиблись, можете нажать третью сверху кнопку с изображением карандаша для редактирования индекса, или четвертую - для удаления, только этот ошибочный индекс должен быть выделен.

Не знаю, как у вас, а у меня получилось 46 ключевых слов и фраз! Не мешало бы рассортировать их в алфавитном порядке. Для этого служит третья снизу кнопка "Sort keywords alphabetically " с буквами A и Z и стрелкой вниз - нажмите её, и список будет отсортирован. Если вам доведется работать с большой справкой, индексы можно создавать не за один подход, а добавлять их время от времени. Но потом всё же не забывайте их снова сортировать, иначе индексы будут выглядеть неряшливо.

Всё, работу с индексами закончили, нажмите нижнюю кнопку "Save file " для сохранения индексного файла.

Создание полнотекстового поиска

Индексы могут существенно облегчить пользователю поиск нужной справки, однако всё же полнотекстовый поиск для этого используют чаще. Полнотекстовый поиск - это когда пользователь вписывает искомое слово /фразу, а