Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование для начинающих и не только


Информационный Канал Subscribe.Ru

©Gigabyte 2005

Сервис LinkInspector - Быстрая проверка Ваших ссылок
Здесь могла быть ваша реклама. Контакт

Создание файлов помощи

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

Технологии создания справки

Microsoft Help Workshop - пакет предназначенный для создания файлов справки основанный на старом добром .rtf формате. Он преобразовывает специально оформленный rtf-документ или набор rtf-документов включая рисунки и другие дополнения в файл справки формата HLP.

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

Microsoft Help Workshop

Пакет разработанный Microsoft еще в далекие времена Windows 3.11- Windows 95. Основанный на преобразовании rtf-документов на выходе дает уже знакомый нам HLP-файл. Большим плюсом этого пакета есть то, что он поставляется вместе со всеми солидными средами программирования включая Delphi и C++ Builder.

Сейчас на примере этой статьи мы постараемся разобраться с техникой оформления rtf-шаблонов для создания HLP-помощи.

Итак, для создания файла при помощи Help Workshop мы должны запомнить некоторый правила оформления rtf-документов.

В начале каждого раздела должна быть сноска, которая будет использована компилятором справочной системы. Для ее вставки в редакторе Microsoft Word надо выбрать пункт меню Вставка->Сноска. Далее в диалоге свойств сноски надо выбрать тип нумерации <Другая> и в поле для ввода ввести один из символов:

  • # - задает идентификатор раздела справки который будет использован для перехода к помеченному этой сноской разделу справочной системы (см.рис.1)
  • $ - задает имя раздела, которое будет применяться для идентификации раздела в списке поиска
  • K - идентификатор задающий список ключевых слов, при выборе которых будет осуществлен переход на указанный раздел справки.

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

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

Конец каждого раздела должен быть оформлен в виде <Разрыва страницы> через пункт меню <Вставка->Разрыв:> или через нажатие Ctrl+Enter.

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

Для того чтобы добавить наш файл в проект мы жмем на кнопку Files потом Add и выбираем из списка созданный нами ранее файл. Теперь, нажатием на кнопку Options в главном окне нашего проекта мы вызываем окно настроек нашей справки, где в первую очередь нам следует заполнить поле Default Topic записав туда название ссылки на раздел который будет отображаться по умолчанию при открытии справки. В нашем случае это будет слово - название ссылки на наш первый раздел.(см.рис.3). Тут же можно настроить и компрессию, указать язык, параметры полнотекстового поиска и т.д.

Третьим пунктом настройки проекта, который мы посетим будет пункт <Windows>. Здесь можно настроить, размер, позицию, цвет и прочие атрибуты окна будущей справки.(см.рис.4).

Следующая важная для нас кнопка <Map> вызывает окно настройки карты справки. Здесь мы проставляем числовые идентификаторы наших разделов.(см.рис.5) С их помощью приложение будет вызывать тот или иной раздел справки в зависимости от настроек и состояния. В этом окне мы присваиваем идентификаторы всем разделам нашей справки заполняя названием ссылки и порядковым номером соответственно поля Topic ID и Mapped numeric value.

Теперь нажав на <Save and Compile> мы сможем просмотреть справку в характерном <справочном виде> (см.рис.6)

Нам остается только заполнить соответствующими данными раздел содержание нашей справки. Это мы делаем при помощи главного меню Workshop-a выбрав пункт <New->Help Contents>. Эта команда создает cnt-файл где мы добавим все разделы нашей справки используя для этого кнопки <Add Above:> и <Add Below:> которые добавляют пункт соответственно выше и ниже текущей позиции курсора. (см.рис.7). Для создания заголовков нашей справки (отображаются в виде книжек) мы в диалоговом окне Add Below/Add Above выбираем пункт Heading и заполняем поле Title а при добавлении пунктов справки, выбираем пункт Topic, и вносим название пункта и название ссылки в поля Title и Topic ID соответственно.

После того, как все пункты содержания заполнены мы смело можем сохранять и компилировать нашу справку.

Microsoft HTML Help Workshop

В связи с бурным развитием Internet в нашу повседневную жизнь большими шагами стал пробираться гипертекстовый формат описания документов. Среди основных его плюсов можно назвать простоту, для создания HTML документа подойдет любой текстовый редактор, даже без RTF-возможностей, возможность поддержки разных новых технологий включая Java, JS, VBS и т.д. А также компактность HTML кода. Так исходный файл справки описанный в предыдущей главе сохраненный в HTML формате занимает в 1.5 раза меньше места чем тот же файл справки но в rtf формате.

Загрузить инсталляционный пакет можно бесплатно с сайта Microsoft. (размер 3.5Мб).После запуска HHW появляется окно очень напоминающее уже знакомый нам Workshop. Теперь мы выбираем пункт меню File->New и в появившемся окне выбираем пункт Project (см.рис.8). В появившемся волшебнике мы можем привести уже старый файл справки к новому формату выбрав пункт "Convert WinHelp Project", но поскольку у нас готового проекта справки старого образца якобы нет, то мы сразу перейдем к следующему пункту в следующем окне мы выберем директорию и название файла проекта который мы хотим создать, а в следующем окне - укажем те пункты, проекта которые мы уже подготовили: содержание, список разделов, или HTML-заготовки с содержанием нашей справки. В данном случае мы ничего из этого не делали и можем смело жать на "Далее", а затем "Готово".

Теперь нам следует заняться подготовкой HTML файлов с содержанием нашей справки. Для этого мы сперва сохраним наше содержание в отличном от Вордовского HTML формате т.к. он расставляет неоправданно много лишних тэгов в текст документа. Я рекомендую вам сохранить только текст (через меню Файл->Сохранить как...) а потом вручную расставить все необходимые тэги. Следует также заметить что в HHW отдельный разделы содержаться в отдельный HTML файлах.

После того, как мы оформили все разделы нашей будущей справки в отдельных файлах, нам необходимо добавить их в проект нажав на соответствующую кнопку (см.рис.9)

Дальше нам следует создать файл содержания. Это можно сделать на закладке Contents. При переходе на эту закладку появляется окно предлагающее либо создать новый файл содержания либо открыть уже существующий. Мы выберем первый пункт и используя кнопки Insert a heading () и Insert a page () мы добавляем все разделы справки в наше содержание. При этом в диалоговом окне добавления (см.рис.10) Вам предоставляется возможность заполнить поле названия будущего раздела справки и выбрать HTML файл содержащий сам текст справки.

Когда мы привели наш проект к нормальному виду, можно смело его компилировать () и запускать на просмотр ().

Присвоения идентификаторов разделам справки, аналога функции Map в Microsoft Help Workshop, как такового в этом пакете нет. Все манипуляции здесь надо делать вручную. Так для назначения идентификаторов разделов в HHW необходимо:

  • Создать файл создать текстовый файл в котором определить соответствия между идентификаторами и разделами справки в виде ссылок на отдельные html-файлы.(см. файл help.map)
  • Создать заголовочный С - файл в котором определить числовые значения идентификаторов. (см. файл source.h)
  • В файле проекта вручную задать директиву #include со ссылками на эти файлы как показано ниже.(см. файл Source.hhp)

Файл help.map:


IDH_HEADER = header.html
IDH_TOPIC1 = topic1.html
IDH_TOPIC2 = topic2.html
Файл source.h

#define IDH_HEADER 1
#define IDH_TOPIC1 2
#define IDH_TOPIC2 3
Файл Source.hhp (разделы MAP и ALIAS):

[MAP]
#include source.h
 
[ALIAS]
#include help.map

Внедрение справки в приложения

Внедрение файла справки в приложения написанные в современных средах программирования не составляет особого труда. Так для подключения файла справки к приложениям написанным в IDE Delphi или C++ Builder Вам достаточно указать в свойствах главной и вспомогательных форм название файла справки (см.рис.11). После этого к любому элементу справки можно подключить раздел справки заполнив соответствующим значением поле HelpContext или HelpKeyword. Но таким образом мы сможем подключать только старые HLP файлы.

Для подключения файлов нового образца вам необходимо вручную вызывать файл справки при помощи функции WinAPI : HtmlHelp размещенной в файле hhctrl.ocx. Delphi-адаптацию этого модуля вы можете найти на сайте www.delphi-jedi.org или же на К+П диске.

Для вызова справки нового образца вам необходимо разместить в вашем приложении компонент ApplicationEvents (размещенный на палитре Additional) потом перезаписать его событие OnHelp таким образом:


function TForm1.ApplicationEvents1Help(Command: Word; Data: Integer;
  var CallHelp: Boolean): Boolean;
begin
CallHelp:=False;
HtmlHelp(Handle,'source.chm',HH_DISPLAY_TOPIC,0);
Result:=True;
end;

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

Если же вы пользуетесь продуктами самой Microsoft то у Вас не должно возникнуть проблем с файлом нового формата. По крайней мере у меня на Visual Studio 6.0 не было трудностей с подключением как стандартного HLP, так и CHM файла. Привязывание конкретного раздела справки и здесь не требует от Вас написания лишних строк кода. Все делается несколькими щелчками мыши и заполнением свойства HelpContext.

Эпилог

Выбор технологии по которой строить свою справку в конечном счете остается за вами. Если вы не очень хорошо знаете HTML или не хотите возится с настройкой вашего приложения, то лучше выбрать простой HLP формат т.к. он полностью поддерживается всеми средами программирования. Если же вы пишете справку в виде отдельного продукта (как это сделано с многими самоучителями по языками программирования), то лучше воспользоваться CHM форматом. Но в любом случае главное в справке это не формат, а содержание.

Скачать примеры
©Gigabyte 2005

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.programmershelp
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное