главная продукты downloads форум тех. поддержка

 

Главная страница
 

  www.bousoft.com

   главная страница
   новости СМИ
   ссылки
   о проекте
   добавить в Избранное
   сделать стартовой
 

   наши разработки

   shareware
   freeware
   регистрация
 

справка и FAQ   

   статьи
   книги
   FAQ: WinForms
   FAQ: GDI+
   MS Office
   web-технологии
   wap-технологии
 

   программирование

   visual basic: ActiveX
   visual basic: примеры
   .net framework
   c++
   delphi
   rapidQ
 

   наши компакт-диски

   диск BouSoft #3
   диск Windows PE

Создание справочных систем в формате CHM. Часть 1.

 

В последнее время формат CHM завоевывает все большую популярность. Это связано с "продвижением" этого формата самой Microsoft, а также с удобством и совершенством этого формата по сравнению с традиционным HLP. Однако повсеместное распространение этого формата несколько сдерживает отсутствие хороших бесплатных средств для создания такой справки. Конечно, имеется бесплатная утилита Microsoft HTML Help Workshop, однако эта программа отличается оригинальностью и для работы с ней требуется много времени и сил. Поэтому в этой статье мы рассмотрим создание файлов справки CHM в ручном режиме, с последующей компиляцией с помощью консольной утилиты HHC.EXE.

 

Утилита HHC.EXE требует для успешной компиляции (как минимум) файлы с расширением HHP и HHC. Если требуется создать индекс, то также необходим файл HHK.

 

Файл HHP - основной файл проекта справки. В нем указываются основные параметры окна справки, а также перечисляются все HTML-страницы, входящие в справку. Типичное содержимое файла HHP приведено ниже:

 

[OPTIONS]
Compatibility=1.1 or later
Compiled file=help.chm
Contents file=help.hhc
Default window=main
Default topic=index.php
Error log file=Errlog.txt

Full-text search=Yes

Index file=help.hhk

Language=0x419 Russian

[WINDOWS]
main="Title","help.hhc","help.hhk","index.php","home.php",,,,,131104,200,8198,[119,78,769,534],0,0,,,,1,0

[FILES]
C:\page1.php
C:\page2.php
 

Compatibility=... - определяет совместимость полученного файла справки с программой просмотра (HH.EXE). Если Вы не хотите получить лишние проблемы, указывайте именно версию 1.1.

Compiled file=... - имя итогового файла формата chm.

Contents file=... - имя файла содержания (формат рассматривается ниже).

Default window=... -  название окна, в котором откроется справка во время просмотра. Желательно задать имя "main".

Default topic=... - страница справки, которая будет открываться сразу после открытия.

Error log file=... - имя файла, в который будут сохраняться сообщения, выдаваемые программой при компиляции проекта. Если этот файл не нужен, просто удалите данную строку.

Full-text search=Yes - параметр, определяющий отображение вкладки "Поиск" и, соответственно, возможность полнотекстового поиска по файлу справки.

Index file=... - параметр определяет имя файла Индекса. Параметр указывается в случае наличия вкладки Индекс и/или Поиск.

Language=... - язык компиляции. Для проектов, содержащих русские названия страниц, НЕОБХОДИМО указывать Русский.

 

main=... - это самый важный параметр файла HHP. Именно этот параметр задает размеры, стиль и расположение окна просмотра. Если в параметре "Default window" вы задали другое имя окна, измените название этого параметра на соответствующее значение.

 

[FILES] - в этой секции указываются названия всех файлов HTML-страниц, входящих в файл справки.

 

Параметры main:

 

"Title" - название справочной системы, которое отображается в заголовке окна просмотра справки.

"help.hhc" - имя файла Содержания справки.

"help.hhk" - имя файла Индекса справки.

"index.php" - имя страницы по умолчанию - открывается сразу после загрузки файла.

"home.php" - имя домашней страницы - открывается при нажатии кнопки "Домой" панели инструментов программы просмотра.

следующие 4 параметра предназначены для определения двух пользовательских кнопок, которые будут отображаться на панели инструментов, например: ,"about.php","о проекте","help.php","помощь",

131104 - определяет количество вкладок. Если этот параметр равен 132128, то отображаются вкладки Содержание, Поиск и/или Индекс (в зависимости от указанных выше параметров). Если 131104, то отображаются вкладки Содержание и (если указано выше) Индекс. Чтобы не выводить текст на кнопках панели инструментов, прибавьте к значению этого параметра 64.

200 - ширина навигационной панели в пикселах.

8198 - количество и вид кнопок панели инструментов.

[119,78,769,534] - соответственно положение и размер окна справки в пикселах.

0 - нет данных.

0 - внешний вид окна. Если требуется трехмерная рамка вокруг окна, то значение этого параметра 512.

следующие 3 параметра - назначение неизвестно.

1 - местоположение вкладок на панели навигации. "0" - стандартное; "1" - слева; "2" - снизу.

0 - нет данных.

 

 

Файл HHC - это файл Содержания справки. Пример типичного содержимого файла HHC приведен ниже.

 

<!DOCTYPE HTML PUBLIC "-//IETF/DTD HTML/EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="I and my Hands">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
<param name="FrameName" value="right">
<param name="ImageType" value="Folder">
<param name="Window Styles" value="0x27">
<param name="Foreground" value="0x80000005">
<param name="Background" value="0x80000005">
<param name="Font" value="MS Sans Serif,8,0">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="О программе">
<param name="Local" value="about.php">
<param name="ImageNumber" value="12">
</OBJECT>
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Меню программы">
<param name="Local" value="menu.php">
<param name="ImageNumber" value="11">
</OBJECT>
</UL>
</UL>
</BODY></HTML>

 

Как видите, структура файла очень напоминает структуру обычного HTML-документа. Первая строка определяет схему разметки документа. Далее идут строки, стандартные для любого HTML-файла. Особое внимание следует обратить на параметр "Window Styles". Его значение определяет стиль окна и панели навигации программы просмотра.

 

Каждый заголовок раздела в этом файле представлен в виде тегов <object></object>, между которыми заключаются параметры, определяющие имя, название файла и иконку данного раздела в панели навигации. Все имена разделов заключены в список (тегами <ul></ul>). Если какой-либо раздел имеет подразделы, то они заключаются в отдельный список.

 

Продолжение следует...

   Автор: Буторкин Сергей

 

e-mail:

 

bousoft@mail.ru