Вывод справочной информации (chm)


Содержание

Вывод справочной информации (chm)

При выборе из меню ? команды Справка появляется справочная информация — правила игры (рис. 15.14).

Рис. 15.14. Окно справочной информации

Процесс создания СНМ-файла подробно описан в гл. 14. Процедура, обеспечивающая вывод справочной информации, приведена в листинге 15.7.

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

Листинг 15.7. Вывод справочной информации

// выбор из меню ? команды Справка

procedure Tform1.N3Click(Sender: TObject);

HelpFile : string; // файл справки

HelpTopic : string; // раздел справки

// файл справки (указатель на строку WideChar)

// раздел (указатель на строку WideChar)

// выделить память для

WideChar-строк GetMem(pwHelpFile, Length(HelpFile) * 2);

// преобразовать ANSI-строку в WideString-строку

Вывод справочной информации (chm)

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

Самый лучший вариант — это сделать справку в современном формате chm, но нужно обладать определенными знаниями для создания справки в этом формате. Как оказывается, эти знания иметь вовсе и не обязательно. На помошь придет программа HelpNDoc, которую Вы можете скачать прямо с сайта по ссылке Скачать HelpNDoc.

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

Файл справки в формате CHM. Этап №1. Создание проекта

Итак, при первоначальном запуске программа предложит нам три варианта:

New Project — Новый проект
Open Project — Открыть существующий проект
Import. — данная опция позволит импортировать уже скомпилированный файл справки

Выберем опцию New Project. Откроется окно создания шаблона проекта справки, в котором можно задать имя проекта (Project Title) и язык проекта (Project Language), а также будет отображена таблица первоначального наполнения, которую можно импортировать из уже существующего проекта.

Директ

Отредактировав необходимые параметры, жмем кнопку Создать проект (Create Project), после чего будет создан проект по выбранному шаблону.

Файл справки в формате CHM. Этап №2. Задание опций проекта

Далее все делается интуитивно. Щелкнув по первой кнопке Project Options и выбрав вкладку General settings, мы попадем в окно задания опций проекта, в котором можно задать Имя проекта, автора, версию проекта, написать комментарий, добавить строку Copyright, задать топик, который открывается по умолчанию («топик» — это раздел вашей справки) и т. д.

На вкладке Generation Settings можно задать пути для формирования файлов справок. Кстати, HelpNDoc позволяет создавать справку не только в формате CHM, но и PDF, HTML и Word.

На вкладках CHM Settings и PDF Settings, можно задать различные параметры файлов справок, формируемых в формате CHM и PDF соответственно. Например, для формата CHM можно задать отображаемые кнопки, размер шрифта и т. д.

Файл справки в формате CHM. Этап №3. Добавление топиков

Для добавления топиков (разделов справки) служит команда Add topic. Подтопики добавляются командой Add child topic.

Менять параметры топиков (иконку топика, Help Context и т.д.) можно через контекстное меню самого топика.

Файл справки в формате CHM. Этап №4. Форматирование текста

На вкладке Write можно задавать различные параметры форматирования текста как в MS Word.

Вкладка Insert позволяет добавлять различные объекты в файл справки, например картинки, видео, документы, HTML-код и т.д. При добавлении картинки и щелчке по ней сразу же появляется контекстная вкладка Format, которая позволяет изменить параметры отображения картинки.

Файл справки в формате CHM. Этап №5. Сохранение проекта

При нажатии на кнопку дискеты, предлагается сохранить проект в формате HND — это формат программы HelpNDoc. При необходимости можно будет потом сохраненный таким образом проект открыть и продолжить его редактирование.

Файл справки в формате CHM. Этап №6. Генерация файла справки

После того, как проект будет полностью закончен, Вам останется только нажать кнопку Generate Help и сгенерировать файл справки.

Совсем забыл. Сгенерировать проект не получится, если у Вас не установлена программа Microsoft HTML Help WorkShop, которую можно скачать в интернете либо прямо с этого сайта по ссылке Скачать MS HTML Help WorkShop.
Ну и напоследок привожу пример файла справки, созданный некогда мной для программы на Delphi Скачать testchop.chm. Удачи.

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

Вывод справочной информации (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 у меня создавались по умолчанию):

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

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


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

И тут на ум сразу приходят две программы: 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? >

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

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

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

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

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

Наш Блокнот-шифровальщик находится в папке 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» на Панели управления. Перед вами появится следующее окошко:

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

  • 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):

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


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

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

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

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

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

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

Илон Маск рекомендует:  Краткое описание процессоров AMD Vishera, отзывы покупателей

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

Не забывайте убирать относительный адрес 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). У меня получилось так:

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

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

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

Нажимаем кнопку «Далее«, затем «Готово«. Всё, проект создан.

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

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

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

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

В окне 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» должны заполниться автоматически. Нажмите «ОК«, и новый индекс появится в окне добавления индекса:

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

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

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

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

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

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

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

Включить полнотекстовый поиск очень просто. В окне HTML Help Workshop откройте вкладку «Project«. Самая верхняя кнопка левой боковой панели инструментов — «Change project options» (Изменить параметры проекта). Нажмите её, перейдите на вкладу «Compiler» и включите флажок «Compile full-text search information«:

Кроме того, стоит прямо сейчас указать, какая страница справки будет открываться по умолчанию. Для этого перейдите на вкладку «General«, и в поле «Default file» выберите нужный файл . Я, например, выбрал Naznachenie.html. Не забудьте нажать кнопку «ОК«, чтобы подтвердить изменения.

Создание вкладки «Избранное»


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

На вкладке «Project» HTML Help Workshop , на левой боковой панели инструментов, третья кнопка сверху — кнопка «Add/Modify window definitions» (Добавить/Изменить определение окна). Справка ведь выводится в окне, мы своё окно пока не создавали, пользовались тем, что создается по умолчанию, а потому к настройкам окна доступа не имеем. Вот нам и нужно создать своё окно справки. Нажмите на эту кнопку. Вам будет предложено ввести имя нового окна. Имя может быть любое, например, Favorites.

Как только вы введете имя и нажмете «ОК«, откроется окно Window Types с настройками нашего нового окна. Для добавления вкладки «Избранное» нам нужно перейти на вкладку «Navigation Pane» и включить флажок «Favorites tab«:

Кроме того, перейдите на вкладку «Files» и в поле «Default» также укажите файл справки, который будет открываться по умолчанию.

Нажмите «ОК«, и на этом наша работа с проектом завершена. Не забудьте сохранить проект командой меню «File -> Save project» или кнопкой с изображением дискетки.

Компиляция справки

Наш проект закончен, осталось скомпилировать саму справку — файл CodeBook.chm. Делается это очень просто: выберите команду главного меню «File -> Compile…«. Вам будет предложено выбрать файл проекта, для которого компилируется справка, по умолчанию будет открыт наш проект

Это нам и нужно. Рекомендую включить флажок «Save all files before compiling» (Сохранить все файлы перед компиляцией). После чего можете нажать кнопку «Compile«.

Если вы всё сделали правильно, в правой части окна выйдет отчет о проделанной компиляции:

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

Также указано, что был создан файл CodeBook.chm размером 99,386 байт . На этом работа с проектом завершена, можете закрыть HTML Help Workshop.

Затем можете в Проводником или файловым менеджером открыть папку Help с проектом справки, и запустить файл CodeBook.chm прямо оттуда:

Как видите, справка открывается, на ней присутствуют все 4 вкладки: «Содержание«, «Указатель«, «Поиск» и «Избранное«. Можете поэкспериментировать с этими вкладками.

Есть пару замечаний. Первое: для показа этой справки система задействует инструменты программы MS Internet Explorer, но на каждой Windows эта программа установлена, так что беспокоиться тут нечего. Второе: справка самостоятельно запоминает последнее положение и размеры, которые установил пользователь . При последующем запуске справки эти положение и размеры будут восстановлены, что сильно облегчает нам работу.

Включение справки в проект Lazarus

Надо сказать, механизм подключения справочной системы к проекту в Lazarus ещё сыроват, и информации по этому вопросу немного. Одни советуют использовать несколько десятков строк кода, другие говорят, что это не помогает… В официальной документации (на английском языке) Lazarus советуют использовать компоненты THTMLHelpDatabase и THTMLBrowserHelpViewer с вкладки System. В качестве примера предлагают проект

Этот пример, почему то, выводит справку в браузере, установленном в системе по умолчанию. Затем мне всё же удалось запустить справку, однако справка открылась в окне просмотра Lazarus, а не системы. Это окно, как оказалось, с кириллицей «не дружит» — вместо русских букв выходили прямоугольнички.

В конце концов, мне удалось найти достаточно простой способ подключить к проекту справочную систему, о нем я вам сейчас и расскажу.

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

Далее, откройте проект программы в Lazarus — запустите файл CodeBook.lpi из папки с проектом, у меня это C:\Education\18-01. Откроется Lazarus с проектом программы. В Редакторе кода убедитесь, что открыта вкладка «Main» — вкладка главного окна. Перейдите на редактор форм. Откройте редактор главного меню (дважды щелкните по компоненту MainMenu1 ).

Нам нужно добавить еще один элемент в раздел меню «Справка«. Выделите этот раздел, выделите его элемент «О программе«, щелкните правой кнопкой мыши и выберите команду «Вставить новый пункт (перед)«. Появится новый пункт меню . Выделите его, свойство Name переименуйте в HelpHelp , в свойстве Caption напишите Справка , а в свойстве ShortCut выберите горячую клавишу .

Сгенерируйте для этого пункта меню событие OnClick , код которого будет довольно простой:

Файл формата CHM — что это?

Описание формата CHM

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

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

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

Сжатие всех входящих в архивы файлов CHM производится алгоритмом LZX, соответственно распаковка такого архива возможна при помощи программного обеспечения на подобии 7-Zip и PeaZip.

Чтобы открыть файл CHM, можно воспользоваться стандартным средством для просмотра Microsoft HTML Help Executable, инструмент расположен в директории : «C:WINDOWS/hh.exe». Достаточно кликнуть по иконке стандарта правой клавишей мыши и перейти к пункту «Открыть с помощью», после чего выбрать из списка предлагаемых утилит «Исполняемая справка в формате HTML Microsoft». В случае отсутствие такого приложения в списке, следует открыть раздел «Обзор» и отыскать в папке Виндоус исполняемый компонент «hh.exe».

Открыть CHM для последующего просмотра можно и при помощи бесплатных утилит Calibre, а также FBReader. Такие приложения как Enolsoft CHM View в Mac OS или GridinSoft CHM Editor на платформе Windows позволяют редактировать содержимое рассматриваемого расширения.

Лабораторная работа № 31 Инструкционно-технологическая карта Тема: Создание справочной системы. Цель: Научиться создавать справочную систему. Время выполнения: 2 часа Краткие теоретические сведения. Пример выполнения программы Создание справочной системы при помощи MS Word

Частное учреждение образования

«Колледж бизнеса и права»

Специальность: 2-40 01 01 «Программное обеспечение информационных технологий»

Дисциплина: «Основы алгоритмизации и программирование»

Лабораторная работа № 31

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

Цель: Научиться создавать справочную систему.

Время выполнения: 2 часа

Краткие теоретические сведения. Пример выполнения программы

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

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

Рисунок 1 – Два способа представления справочной информации: классический и современный

Подготовка справочной информации

Исходным материалом для Microsoft Help Workshop является справочная информация, представленная в виде rtf-файла. Наиболее просто подготовить rtf-файл справочной информации можно при помощи Microsoft Word.

Сначала нужно набрать текст разделов справки. Заголовки разделов нужно оформить одним из стилей Заголовок. Каждый раздел должен заканчиваться символом «разрыв страницы».

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

Для того чтобы назначить разделу идентификатор, нужно установить курсор перед первой буквой заголовка раздела, затем в меню Вставка выбрать команду Сноска, а появившемся диалоговом окне Сноски выбрать в группе Нумерация положение другая, в поле редактирования ввести символ «#» (рис.2).

В результате щелчка на кнопке ОК в документ будет вставлена сноска t, а в нижней части окна документа откроется окно ввода текста сноски. В этом окне рядом со значком сноски надо ввести идентификатор раздела (рисунок 3). Рекомендуется, чтобы идентификатор раздела состоял из префикса IDH_ и порядкового номера раздела, например, IDH_1, IDH_2 и т. д.

Рисунок 2 – Чтобы задать идентификатор раздела, надо перед заголовком раздела вставить сноску #


Рисунок 3 – Вставка в документ сноски, помечающей заголовок раздела справки

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

Во время подготовки текста справочной информации слово-ссылку следует подчеркнуть двойной линией и сразу за этим словом, без пробела, поместить идентификатор раздела справки, к которому должен быть выполнен переход в результате выбора ссылки. Вставленный идентификатор необходимо оформить как скрытый текст. Чтобы задать двойное подчеркивание, нужно выделить слово-ссылку, выбрать команду Формат | Шрифт и в появившемся окне выбрать способ подчеркивания. Аналогичным образом надо задать «скрытый текст» для идентификатора. В качестве примера на рис. 4 приведен вид окна редактора текста во время подготовки файла справочной информации для программы «Сапер 2003». Название игры помечено как ссылка на другой раздел справки, который имеет идентификатор IDH_3.

Рисунок 4 – Оформление ссылки на другой раздел

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

Илон Маск рекомендует:  blur() в CSS

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

Проект справочной системы

Преобразование файла справочной информации в файл справочной системы выполняет входящий в состав Microsoft Help Workshop компилятор. Исходными данными для компилятора является справочная информация, представленная в виде rtf-файлов, и файл проекта справочной системы.

Для того чтобы преобразовать справочную информацию, подготовленную в редакторе текста, в справочную систему, сначала надо создать файл проекта справочной системы. Для этого нужно запустить Microsoft Help Workshop и в меню File выбрать команду New | Help Project (рисунок 5). На экране появится диалоговое окно Project File Name. В этом окне (рисунок 6) надо открыть папку, в которой находится файл справочной информации (rtf-файл), задать имя проекта и щелкнуть на кнопке Сохранить. В результате этих действий будет создан файл проекта (hpj-файл) и станет доступным окно проекта справочной системы (рисунок 7).

Рисунок 5 – Начало работы над новым проектом

Первое, что надо сделать, — это добавить в проект rtf-файл, в котором находится справочная информация. Для этого нужно сначала щелкнуть на кнопке Files, затем в открывшемся окне Topic Files — на кнопке Add (рисунок 8).

На экране появится стандартное диалоговое окно Открытие файла, используя которое можно выбрать нужный rtf-файл. Если справочная информация распределена по нескольким файлам, то операцию добавления файла нужно повторить.

Рисунок 6 – В поле Имя файла надо ввести название проекта

Рисунок 7 – Окно проекта справочной системы

После того как все нужные файлы будут выбраны, надо в окне Topic Files щелкнуть на кнопке ОК. В результате этих действий вновь станет доступным окно проекта, в разделе [FILES] которого будут перечислены файлы, в которых находится справочная информация.

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

Рисунок 8 – Чтобы добавить в проект rtf-файл, щелкните на кнопке Add

Рисунок 9 – Назначение идентификатору раздела числового значения

Последнее, что надо сделать, — это настроить вид окна справочной информации. Для этого надо в окне проекта щелкнуть на кнопке Windows, в поле Create a window named открывшегося окна Create a window (рисунок 10) ввести слово main и щелкнуть на кнопке ОК.

Рисунок 10 – Диалоговое окно Create a window

На экране появится окно Window Properties, в поле Title bar text вкладки General которого нужно ввести заголовок главного окна создаваемой справочной системы (рисунок 11).

Рисунок 11 – В поле Title bar text надо ввести заголовок окна справочной системы

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

На странице Position находится кнопка Auto-Sizer, при нажатии которой открывается окно Help Window Auto-Sizer, размер и положение которого определяется содержимым полей вкладки Position.

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

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

На этом процесс создания проекта простой справочной системы можно считать завершенным (рисунок 12). Теперь можно выполнить компиляцию.

Рисунок 12 – Работа над проектом простой справочной системы завершена; можно выполнить компиляцию

Для этого надо в меню File выбрать команду Compile, в появившемся диалоговом окне Compile a Help File установить флажок Automatically display Help file in WinHelp when done (Автоматически показывать созданную справочную систему по завершении компиляции) и щелкнуть на кнопке Compile (рисунок 13).

Рисунок 13 – Чтобы выполнить компиляцию, надо щелкнуть на кнопке Compile

По завершении компиляции на экране появится окно с информационным сообщением о результатах компиляции и, если компиляция выполнена успешно, окно созданной справочной системы. Файл справочной системы (HLP-файл) компилятор поместит в ту папку, в которой находится файл проекта.

Вывод справочной информации

Обычно окно справочной системы становится доступным в результате нажатия клавиши или выбора в меню Справка команды?.

Рисунок 14 – Свойство HelpFile должно содержать имя файла справки, а свойство HelpContext — идентификатор раздела

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

Если в диалоговом окне есть кнопка Справка, то справочная информация выводится по-другому – для кнопки создается процедура обработки события OnClick, которая обращением к функции winhelp запускает программу Windows Help (файл Winhlp32.exe). При вызове функции winhelp в качестве параметров указываются: идентификатор окна, которое запрашивает справочную информацию; имя файла справочной системы; константа, определяющая действие, которое должна выполнить программа Windows Help и уточняющий параметр.

Примечание. Идентификатор окна – это свойство Handle формы приложения. Свойство Handle доступно только во время работы программы, поэтому в списке свойств в окне Object Inspector его нет. Если необходимо вывести конкретный раздел справки, то в качестве параметра, определяющего действие, используется константа HELP-CONTEXT. Уточняющий параметр в этом случае задает раздел справки, который будет выведен на экран.

Ниже, в качестве примера, приведена процедура обработки события OnClick для кнопки Справка (Button1) диалогового окна программы.

private: System::Void button2_Click(System::Object^ sender,

Help::ShowHelp(this, «npv. chm», «npv_01.htm»);

HTML Help Workshop

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

Рисунок 15 – Современный (в интернет стиле) способ отображения справочной информации

Основой современной справочной системы являются компилированные HTML-документы — файлы с расширением chm. Chm-файл получается путем компиляции (объединения) файлов, составляющих HTML-документ.

Отображение справочной информации обеспечивает операционная система.

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

Чтобы получить chm-файл, надо:

    подготовить справочную информацию в виде набора HTML-документов; создать файл проекта; создать файл контекста (содержания); выполнить компиляцию.


Последние три из перечисленных выше шагов выполняются в программе HTML Help Workshop.

Подготовка справочной информации

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

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

Использование Microsoft Word

Сначала нужно набрать текст разделов справки (каждый раздел в отдельном файле). Заголовки разделов и подразделов надо оформить одним из стилей Заголовок. Заголовки разделов, как правило, оформляют стилем Заголовок 1, подразделов — стилем Заголовок 2.

Следующее, что надо сделать, — это вставить закладки в те точки документа, в которые предполагаются переходы из других разделов справочной системы. Чтобы вставить закладку, нужно установить курсор в точку текста, в которой должна быть закладка, из меню Вставка выбрать команду Закладка и в поле Имя закладки диалогового окна Закладка ввести имя закладки (рисунок 16).

Рисунок 16 – Добавление закладки

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

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

Чтобы вставить ссылку, обеспечивающую навигацию внутри раздела, надо выделить фрагмент текста (слово или фразу), при выборе которого должен быть выполнен переход, из меню Вставка выбрать команду Гиперссылка, в появившемся окне Добавление гиперссылки (рисунок 17) сначала щелкнуть на кнопке Связать с | местом в этом документе, затем — выбрать закладку или заголовок, к которому должен быть выполнен переход.

Рисунок 17 — Выбор точки документа для перехода по ссылке

Если нужно вставить в документ ссылку на раздел справки, который находится в другом файле, то в диалоговом окне Добавление гиперссылки надо щелкнуть на кнопке Файл и в появившемся стандартном окне выбрать имя нужного HTML-файла.

После того как в документ будут помещены все необходимые гиперссылки, документ нужно сохранить в HTML-формате.

Использование HTML Help Workshop

Использование HTML-редактора, входящего в состав HTML Help Workshop, предполагает знание основ HTML — языка гипертекстовой разметки (далее приведены краткие сведения об HTML, которых достаточно для того, чтобы создать вполне приличную справочную систему).

Чтобы создать HTML-файл, надо запустить HTML Help Workshop, из меню File выбрать команду New | HTML File и в появившемся окне HTML Title (рисунок 18) задать название раздела справки, текст которого будет находиться в создаваемом файле.

Рисунок 18. Начало работы над новым HTML-файлом

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

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

Большинство тегов парные. Например, пара тегов

В таблице 1 представлен минимальный набор тегов, используя которые можно подготовить HTML-файл с целью дальнейшего его преобразования в chm-файл справочной системы.

Таблица 1 – HTML-теги

Задает название HTML-документа. Программы отображения HTML-документов, как правило, выводят название документа в заголовке окна, в котором документ отображается. Если название не задано, то в заголовке окна будет выведено название файла

Параметр BACKGROUND задает фоновый рисунок, BGCOLOR — цвет фона, TEXT — цвет символов HTML-документа

Задает основной шрифт, который используется для отображения текста: FACE— название шрифта, SIZE — размер в относительных единицах. По умолчанию значение параметра SIZE равно 3. Размер шрифта заголовков (см. тег ) берется от размера, заданного параметром SIZE

Определяет текст, находящийся между тегами и , как заголовок уровня 1. Пара тегов

Конец строки. Текст, находящийся после этого тега, будет выведен с начала новой строки

Текст, находящийся внутри этих тегов, является параграфом

Текст, находящийся внутри этой пары тегов, будет выделен полужирным

Текст, находящийся внутри этой пары тегов, будет выделен курсивом

Помечает фрагмент документа закладкой. Имя закладки задает параметр NAME. Это имя используется для перехода к закладке

Выделяет фрагмент документа как гиперссылку, при выборе которой происходит перемещение к закладке, имя которой указано в параметре HREF

Выводит иллюстрацию, имя файла которой указано в параметре SRC

Комментарий. Текст, находящийся между дефисами, на экран не выводится

Набирается HTML-текст обычным образом. Теги можно набирать как прописными, так и строчными буквами. Однако, для того чтобы лучше была видна структура документа, рекомендуется записывать все теги строчными (большими) буквами. Следующее, на что надо обратить внимание, это то, что программы отображения HTML-документов игнорируют «лишние» пробелы и другие «невидимые» символы (табуляция, новая строка). Это значит, что для того чтобы фрагмент документа начинался с новой строки, в конце предыдущей строки надо поставить тег
, а для того чтобы между строками текста появилась пустая строка, в HTML-текст надо вставить два тега
подряд.

Работая с HTML-редактором в программе HTML Help Workshop, уже в процессе набора HTML-текста можно увидеть, как будет выглядеть набираемый текст. Для этого надо из меню View выбрать команду In Browser или щелкнуть на командной кнопке, на которой изображен стандартный значок Internet Explorer.

В качестве примера на рисунке 19 приведен текст одного из разделов справочной системы программы «Сапер 2003».

Рисунок 19 – HTML-текст раздела справочной системы

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

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

Сначала надо запустить HTML Help Workshop, из меню File выбрать команду New | Project и в окне New Project задать имя файла проекта создаваемой справочной системы (рисунок.20). После щелчка на кнопке Далее в этом и следующем окнах окно HTML Help Workshop должно выглядеть так, как показано на рисунке 21.

Рисунок 20 – Начало работы над новым проектом

Первое, что надо сделать,— это сформировать раздел [FILES], который должен содержать имена HTML-файлов, в которых находится справочная информация. Чтобы добавить в раздел [FILES] имя файла, надо щелкнуть на кнопке Add/Remove topic files (см. рисунок 21), а затем в появившемся диалоговом окне Topic Files (рисунок 22) — на кнопке Add, после чего в появившемся стандартном диалоговом окне Открыть выбрать HTML-файл раздела справки. Если справочная информация распределена по нескольким файлам, то операцию добавления нужно повторить несколько раз. После того как в диалоговом окне Topic Files будут перечислены все необходимые для создания справочной информации HTML-файлы, нужно щелкнуть на кнопке ОК. В результате этих действий в файле проекта появится раздел [FILES], в котором будут перечислены HTML-файлы, используемые для создания справочной системы (рисунок 23).

Рисунок 21 – Окно HTML Help Workshop в начале работы над новым проектом

Следующее, что надо сделать, — это задать главный (стартовый) раздел и заголовок окна справочной системы. Заголовок и имя файла главного раздела вводятся соответственно в поля Title и Default file вкладки General диалотового окна Options (рисунок.24), которое появляется в результате щелчка на кнопке Change project options (см. рисунок 21).

Рисунок 22 – Диалоговое окно Topic Files

Рисунок 23 – В разделе [FILES] перечислены файлы, используемые для создания chm-файла

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


Рисунок 24 — В диалоговом окне Options надо задать заголовок окна справочной системы и файл главного раздела

Рисунок 25 – Вкладка Contents

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

Чтобы во вкладку Contents добавить элемент, соответствующий разделу справочной системы, нужно щелкнуть на кнопке Insert a heading, в поле Entry title появившегося диалогового окна Table of Contents Entry (рисунок 26) ввести название раздела и щелкнуть на кнопке Add. На экране появится окно Path or URL (рисунок 27). В поле HTML titles этого окна будут перечислены названия разделов (заголовки HTML-файлов) справочной информации, которая находится во включенных в проект файлах (имена этих файлов указаны в разделе [FILES] вкладки Project). Если вместо названия раздела будет указано имя файла, это значит, что в соответствующем файле нет тега . Выбрав раздел, надо щелкнуть на кнопке ОК. В результате перечисленных выше действий во вкладке Contents появится строка с названием раздела справочной информации.

При необходимости изменить значок, соответствующий добавленному разделу, следует щелкнуть на кнопке Edit selection и, используя список Image index вкладки Advanced окна Table of Contents, выбрать нужный значок (обычно рядом с названием раздела или подраздела изображена книжка).

Рисунок 26 – Добавление элемента в список разделов

Рисунок 27 – Выбор файла, соответствующего элементу списка разделов

Подраздел добавляется точно так же, как и раздел, с тем только отличием, что после того как подраздел будет добавлен, нужно щелкнуть на кнопке Move selection right. В результате чего уровень заголовка понизится, т. е. раздел станет подразделом.

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

Иногда возникает необходимость изменить порядок следования элементов списка содержания или уровень иерархии элемента списка. Сделать это можно при помощи командных кнопок, на которых изображены стрелки. Кнопки Move selection up и Move selection down перемещают выделенный элемент списка, соответственно, вверх и вниз. Кнопка Move selection right перемещает выделенный элемент вправо, т. е. делает его подчиненным предыдущему элементу списка. Кнопка Move selection left выводит элемент из подчиненности предыдущему элементу.

В качестве примера на рисунок 28 приведена вкладка Contents справочной системы программы «Сапер 2003».

Рисунок 28 – Вкладка Contents содержит названия разделов справочной системы

После того как будут определены файлы, в которых находится справочная информация (сформирован раздел [FILES]) и подготовлена информация для формирования вкладки Содержание (создан файл контекста), можно выполнить компиляцию — преобразовать исходную справочную информацию в файл справочной системы (chm-файл).

Исходной информацией для HTML Help компилятора являются:

    файл проекта (hhp-файл); файл контекста (hhc); файлы справочной информации (htm-файлы); файлы иллюстраций (gif — и jpg-файлы).

Результатом компиляции является файл справочной системы (chm-файл).

Чтобы выполнить компиляцию, надо в меню File выбрать команду Compile, в появившемся диалоговом окне Create a compiled file (рисунок 29) установить переключатель Automatically display compiled help file when done (после компиляции показать созданный файл справки) и щелкнуть на кнопке Compile. В результате этого будет создан файл справки и на экране появится окно справочной системы, в котором будет выведена информация главного раздела.

Илон Маск рекомендует:  Создание пакетов и модулей в perl

Рисунок 29 – Диалоговое окно Create a compiled file

Вывод справочной информации

Вывести справочную информацию, которая находится в chm-файле, можно несколькими способами. Наиболее просто это сделать при помощи утилиты hh. exe, являющейся составной частью Windows. Вызвать утилиту отображения справочной информации и передать ей в качестве параметра имя файла справочной системы можно при помощи функции winExec. У функции winExec два параметра. Первый — имя выполняемого файла программы, которую надо запустить, и командная строка. Второй параметр определяет способ отображения окна запускаемой программы. Окно запускаемой программы может быть развернуто на весть экран (SW_MAXIMIZE), запущенная программа может работать в свернутом окне (SW_MINIMIZE) или окно программы может иметь размер и положение такие, какими они были в предыдущем сеансе работы (SW_RESTORE). Ниже в качестве примера приведена функция обработки события click на кнопке Справка. Функция обеспечивает вывод справочной информации, которая находится в файле saper. chm.

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

Культин, Н. Основы программирования в MicrosoftVisual C++/ Н. Культин.- СПб. : БИНОМ,2010.

TDelphiBlog

Блог Delphi-программиста. Обзоры инструментов и экспертов для Delphi. Описание JCL, JVCL, cnWizards. Дженерики в Delphi. Дневник разработки Lazy Delphi Builder. Переводы.

Страницы

Motto

В тихом саду здравомыслия
Пусть на вас постоянно падают
кокосовые орехи пробужденности.

понедельник, 28 июня 2010 г.

Как мы делали chm справку для наших программ. Часть 1: теория

Заметил у Влада в блоге пост посвящённый созданию chm-справки с помощью Html Help Workshop и решил рассказать о своём опыте. Тем более что, в начале этого года я попробовал кучу редакторов для создания справки к программам и нашёл подходящий далеко не сразу. Сначала я хотел написать мини-обзор программ для создания chm справки, но при написании поста вдруг понял, что даже забыл какие из программ я тестировал, поэтому просто опишу историю написания хэлпа.

Одним весенним днём в наш программерский барак заглянуло начальство и сказало: «нужно сделать хэлп и интегрировать его в наши программы.». «Будет сделано!», дружно ответили программисты и устроили совещание. В ходе совещания были выявлены следующие типы справки:

  • WinHelp (старая добрая справка с расширением .hlp)
  • Html Help 1.x (.chm — Compiled Html Help)
  • Html Help 2.x (освновное расширение файла — .hxs) — формат справки использующийся в Visual Studio и последних версиях Delphi. Да, это та самая справка котороая так раздражает большинство пользователей, привыкших к быстрой и точной справке в старых версиях Delphi.
  • MS Help Viewer 1.0 — справочный движок для Visual Studio 2010. Выступает как замена формату MS Html Help 2.x. Самый новый.
  • Windows Vista Assistance Platform Help — вообще, этот формат мы даже не рассматривали. Просто он попался мне на глаза на сайте Helpware при написании поста и я решил его упомянуть.
  • Html, PDF и другие. В принципе, при нажатии F1 можно делать всё что угодно, в том числе открывать любые документы и вызывать любые программы. Так что, теоретически можно использовать и Html и Pdf и даже .doc-файлы. Другое дело, что организация поиска, просмотр содержимого и контроль за окном справки остаются на совести автора программы. Эти варианты мы всерьёз не рассматривали.

WinHelp мы решили не использовать как устаревший. К тому же программа для просмотра WinHelp файлов более не включается в состав Windows Vista и её требуется устанавливать отдельно (см. KB917607). Форматы MS Html Help 2.x и MS Help Viewer — предназначались только для Visual Studio, поэтому нам не подошли. Да и скажу честно, как человек привыкший к моментальному открытию справки в формате WinHelp и Chm, я так и не привык к тормозам справки Help 2.x в Delphi 2009/2010.

Вообще, ситуация выглядит довольно забавно, ведь оставшийся Html Help 1.x не поддерживают юникод на 100%. Хотя технически и возможно писать текст странички справки на нескольких языках, но полнотекстовый поиск и содержание будут работать корректно только с одним языком. Тем не менее, что-то же всё-таки надо выбрать, поэтому мы остановились на Html Help 1.x.

Далее мы стали искать удобный редактор для написания Chm Help-a в пределах 100$. Здесь стоит отметить, что изначально мы не знали о том, что Chm не поддерживает юникод полностью, поэтому наши тесты включали в себя создание в редакторе пары страниц, содержащих как русские так и латышские символы. Многие продукты вообще отказались генерировать справку для языка отличающегося от установленного на компьютере по умолчанию. Часть программ теряла латышские буквы, в заголовках страниц и содержании.

К сожалению, сейчас я не могу вспомнить все опробованные инструменты. Точно могу сказать, что смотрел Helpinator и HelpNDoc и они не прошли тестов. Такие продукты как InnovaSys HelpStudio (448$), Adobe RoboHelp (899$), Help&Manual (от 349$) мы не рассматривали из-за цены.

А остановили мы свой выбор на бесплатной программе для создания справки HelpMaker. Я опишу HelpMaker в следующем посте.

Также, мы вообще не рассматривали конвертеры, такие как Word2Hlp (OneClickHelp) или Word-2-Chm, заранее решив, что автоматически преобразовать Word-документ в chm ровно не сумеет никто. Как мне кажется сейчас, это было не самое разумное решение, и всё-таки следовало провести хотя бы пару тестов. Возможно, именно эти продукты позволили бы нам сэкономить кучу времени, потраченного на переформатирование статей.

Для интеграции справки в наши программы мы использовали юниты hh.pas и hh_util.pas с сайта http://helpware.net/delphi/. Там же доступен подробный туториал, описывающие теорию и практику работы с chm-справкой на самым низком уровне. Как это часто бывает, нигде в туториале не описаны базовые Delphi-классы-интерфейсы для интеграции справки в программу из юнита HelpIntfs.pas.

Ссылки по теме

  • За и против Winhelp-а в Вики Help&Manual (англ.)
  • Документация по Microsoft HTML Help 1.4 на сайте MSDN
  • Microsoft HTML Help Downloads
  • Скачать последнюю бесплатную версию HelpMaker — программы для создания chm справки.
  • HelpWare.Net(англ) — сайт посвящённый справке. Я рекомендую начинать поиск любой технической информации о справке именно с этого сайта. Там есть FAQ-и по всем форматам справки. Там есть Tutorial по интеграции Chm-справки в Delphi-программы, там есть даже .pas-файлы, для работы с chm-справкой. Авторы этого сайта, являются авторами самого мощного инструмента для работы с файлами справки — FAR Help Manager. Несмотря на громкое название, думаю стоит уточнить, что FAR Help Manager не предназначен для написания справки и не содержит в себе удобных WYSIWYG-редакторов.
  • Help-info.de (англ) — сайт посвящённый справке

  • Темы посвящённые созданию справки на форуме SQL.RU: Тынц
  • Не знаю как вам, а мне очень интересно посмотреть на продукты конкуренты Delphi. Например на MS Visual Studio 2010, и поэтому я иногда просматриваю блог о MS VS2010.

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

Создание CHM с поиском и индексом

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

Формат CHM известен практически всем. Легкий, удобный и функциональный. Работает, правда, официально он только в Windows. У этого формата есть очень большой плюс — после создания такого файла в будущем будет возможность его отредактировать.

Что нам нужно для создания полноценного (с поиском, указателем, содержанием) файла chm?
0. скачанная копия сайта (здесь рассматривать не будем — получить копию сайта можно множеством способов, например, воспользовавшись программами типа Teleport Pro, WebCopier).
1. htm2chm — позволяет удобно создавать файлы содержания и указателя (там есть компилятор, но без поиска)
2. Microsoft HTML Help WorkShop — сам компилятор, которым будем создавать chm-ки.

После установки htm2chm делаем интеграцию с оболочкой.

Далее пользуясь контекстным меня создаем файлы указателя (TOC.hhc) и содержание (Index.hhk).

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

Теперь нам осталось только создать файл проекта и откомпилировать проект в HTML Help WorkShop.

Опытным путем я создал несколько шаблонов для проектов.
1. Шаблон с содержанием и избранным, без указателя (кодировка — Win1251):

[OPTIONS]
Compatibility=1.1 or later
Compiled file=Project.chm
Contents file=TOC.hhc
Default Window=ProjectType
Default topic=Index.htm
Display compile progress=No
Full-text search=Yes
Language=0x419 Русский

[WINDOWS]
ProjectType=». «,«TOC.hhc»,,«Index.htm»,«Index.htm». 0x63520,,0x184e. 0

здесь:
Project.chm — имя файла на выходе.
Index.htm — начальная/домашняя страница для файла помощи

Все необходимые файлы для компиляции подхватятся из файла содержания (TOC.hhc).

2. Шаблон с содержанием и указателем, а также кнопкой изменения шрифта:
[OPTIONS]
Compatibility=1.1 or later
Compiled file=Project.chm
Default Window=WindowType
Default topic=Index.htm
Display compile progress=No
Full-text search=Yes
Language=0x419 Русский

[WINDOWS]
WindowType=». «,«TOC.hhc»,«Index.hhk»,«Index.htm»,«Index.htm». 0x60520,250,0x10184e,[10,10,700,500],,0x200,1. 0

3. Шаблон с содержанием и указателем, а также кнопкой изменения шрифта и доп. кнопкой («About»):
[OPTIONS]
Compatibility=1.1 or later
Compiled file=Project.chm
Default Window=WindowType
Default topic=Index.htm
Display compile progress=No
Full-text search=Yes
Language=0x419 Русский

[WINDOWS]
WindowType=». «,«TOC.hhc»,«Index.hhk»,«Index.htm»,«Index.htm». «About.htm»,«About»,0x60520,250,0x18184e,[10,10,700,500],,0x200,1. 0

здесь:
About — название кнопки
About.htm — файл, на который ссылается кнопка

Если внимательно посмотреть файл TOC.hhc, то можно заметить, что это обычный xml-файл, в котором идет перечисление параметров, а также настройки отображения файла помощи.
Вот про эти настройки и поговорим.
Можно увидеть примерно вот такие строки:
PARAM name=«Window Styles» value=«0x800627»
PARAM name=«ImageType» value=«Folder»
PARAM name=«ExWindow Styles» value=«0x2200»

Значение для Window Styles имеет 16-ричный формат. Вот расшифровка:
PARAM name=«Window Styles» value=«0xb0daec»
где:
c:
бит 1 — Plus/Minus squares | Квадраты плюса/минуса
бит 2 — Draw lines between items | Рисовать линии между элементами
бит 4 — Start line from the root | Начинать линию из корневого элемента
e:
бит 2 — Show selection when focus lost | Показывать выбор при потере фокуса
Лучше ставить — иначе при комбинации Скрыть/Показать текущий топик показываться не будет.
a:
бит 4 — Only expand a single heading | Разворачивать только одиночный заголовок
Т.е. автоматическое разворачивание заголовков, имеющих разделы, при выборе.
бит 2 — Automatically track selection | Автоматически подчеркивать элемент
бит 1 — Ставит чекбоксы (но зачем?)…
d:
бит 1 — Select entire row | Выделение полной строки (полезная штука)
только если не выбран стиль Draw lines between items
b:
бит 8 — Border | Рамка (имеет смысл только для Dialog Frame)
бит 4 — Dialog Frame | Диалоговая рамка

Итого для 0x800627 имеем:
8 — (Border)
6 — 4+2 (Only expand a single heading, Automatically track selection)
2 — (Show selection when focus lost )
7 — 4+2+1 (Plus/Minus squares, Draw lines between items, Start line from the root)

Дополнительно:
Right-to-left reading order | Порядок чтения справа налево
(чистый бит)
param name=«ExWindow Styles» value=«0x2200»
Raised edge | Рельефный край (разницы вместе с ним не видно)
(чистый бит)
param name=«ExWindow Styles» value=«0x100»
Scroll bar on left side | Полоса прокрутки на левой стороне
(чистый бит)
param name=«ExWindow Styles» value=«0x4200»

PARAM name=«ImageType» value=«Folder»
Если этот параметр указан, то значки представляются в виде файлов.

На этом описание окончано. Для компиляции используем:
«%PROGRAMFILES%\HTML Help Workshop\hhc.exe»

В конце увидим примерно такой отчет:
Compiling ..\bacula_24\Bacula_24.chm

Compile time: 0 minutes, 3 seconds
70 Topics
5,168 Local links
74 Internet links
34 Graphics

PS. Для декомпиляции можно использоваться множество средств, лично я использую примочку для FAR manager — CHMView.

Справочная информация

При выборе из меню ? команды Справка появляется справочная информация — правила игры (рис. 15.14).

Рис. 15.14. Окно справочной информации

Процесс создания СНМ-файла подробно описан в гл. 14. Процедура, обеспечивающая вывод справочной информации, приведена в листинге 15.7.

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

Листинг 15.7. Вывод справочной информации

// выбор из меню ? команды Справка

procedure TForm1.N3Click(Sender: TObject);

HelpFile : string; // файл справки

HelpTopic : string; // раздел справки

// файл справки (указатель на строку WideChar)

// раздел (указатель на строку WideChar)

// выделить память для

WideChar-строк GetMem(pwHelpFile, Length(HelpFile) * 2);

// преобразовать ANSI-строку в WideString-строку

Файлы справки CHM

16.05.2013, 21:42

delphi и chm-файл справки
Извините если данная тема уже обсуждалась.Каким образом можно подключить chm-файл справки к моему.

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

CHM
Где тут ошибка? procedure TForm1.FormCreate(Sender: TObject); var s:string; begin s :=.

Delphi и *.chm
Подскажите можно ли в приложении написанном на языке Delphi использовать в качестве справочной.

Delphi и .chm
Здравствуйте. Подскажите, работает компонент RichEdit с форматом файла .chm?

TDelphiBlog

Блог Delphi-программиста. Обзоры инструментов и экспертов для Delphi. Описание JCL, JVCL, cnWizards. Дженерики в Delphi. Дневник разработки Lazy Delphi Builder. Переводы.

Страницы

Motto

В тихом саду здравомыслия
Пусть на вас постоянно падают
кокосовые орехи пробужденности.

понедельник, 28 июня 2010 г.

Как мы делали chm справку для наших программ. Часть 1: теория

Заметил у Влада в блоге пост посвящённый созданию chm-справки с помощью Html Help Workshop и решил рассказать о своём опыте. Тем более что, в начале этого года я попробовал кучу редакторов для создания справки к программам и нашёл подходящий далеко не сразу. Сначала я хотел написать мини-обзор программ для создания chm справки, но при написании поста вдруг понял, что даже забыл какие из программ я тестировал, поэтому просто опишу историю написания хэлпа.

Одним весенним днём в наш программерский барак заглянуло начальство и сказало: «нужно сделать хэлп и интегрировать его в наши программы.». «Будет сделано!», дружно ответили программисты и устроили совещание. В ходе совещания были выявлены следующие типы справки:

  • WinHelp (старая добрая справка с расширением .hlp)
  • Html Help 1.x (.chm — Compiled Html Help)
  • Html Help 2.x (освновное расширение файла — .hxs) — формат справки использующийся в Visual Studio и последних версиях Delphi. Да, это та самая справка котороая так раздражает большинство пользователей, привыкших к быстрой и точной справке в старых версиях Delphi.
  • MS Help Viewer 1.0 — справочный движок для Visual Studio 2010. Выступает как замена формату MS Html Help 2.x. Самый новый.
  • Windows Vista Assistance Platform Help — вообще, этот формат мы даже не рассматривали. Просто он попался мне на глаза на сайте Helpware при написании поста и я решил его упомянуть.
  • Html, PDF и другие. В принципе, при нажатии F1 можно делать всё что угодно, в том числе открывать любые документы и вызывать любые программы. Так что, теоретически можно использовать и Html и Pdf и даже .doc-файлы. Другое дело, что организация поиска, просмотр содержимого и контроль за окном справки остаются на совести автора программы. Эти варианты мы всерьёз не рассматривали.

WinHelp мы решили не использовать как устаревший. К тому же программа для просмотра WinHelp файлов более не включается в состав Windows Vista и её требуется устанавливать отдельно (см. KB917607). Форматы MS Html Help 2.x и MS Help Viewer — предназначались только для Visual Studio, поэтому нам не подошли. Да и скажу честно, как человек привыкший к моментальному открытию справки в формате WinHelp и Chm, я так и не привык к тормозам справки Help 2.x в Delphi 2009/2010.

Вообще, ситуация выглядит довольно забавно, ведь оставшийся Html Help 1.x не поддерживают юникод на 100%. Хотя технически и возможно писать текст странички справки на нескольких языках, но полнотекстовый поиск и содержание будут работать корректно только с одним языком. Тем не менее, что-то же всё-таки надо выбрать, поэтому мы остановились на Html Help 1.x.

Далее мы стали искать удобный редактор для написания Chm Help-a в пределах 100$. Здесь стоит отметить, что изначально мы не знали о том, что Chm не поддерживает юникод полностью, поэтому наши тесты включали в себя создание в редакторе пары страниц, содержащих как русские так и латышские символы. Многие продукты вообще отказались генерировать справку для языка отличающегося от установленного на компьютере по умолчанию. Часть программ теряла латышские буквы, в заголовках страниц и содержании.

К сожалению, сейчас я не могу вспомнить все опробованные инструменты. Точно могу сказать, что смотрел Helpinator и HelpNDoc и они не прошли тестов. Такие продукты как InnovaSys HelpStudio (448$), Adobe RoboHelp (899$), Help&Manual (от 349$) мы не рассматривали из-за цены.

А остановили мы свой выбор на бесплатной программе для создания справки HelpMaker. Я опишу HelpMaker в следующем посте.

Также, мы вообще не рассматривали конвертеры, такие как Word2Hlp (OneClickHelp) или Word-2-Chm, заранее решив, что автоматически преобразовать Word-документ в chm ровно не сумеет никто. Как мне кажется сейчас, это было не самое разумное решение, и всё-таки следовало провести хотя бы пару тестов. Возможно, именно эти продукты позволили бы нам сэкономить кучу времени, потраченного на переформатирование статей.

Для интеграции справки в наши программы мы использовали юниты hh.pas и hh_util.pas с сайта http://helpware.net/delphi/. Там же доступен подробный туториал, описывающие теорию и практику работы с chm-справкой на самым низком уровне. Как это часто бывает, нигде в туториале не описаны базовые Delphi-классы-интерфейсы для интеграции справки в программу из юнита HelpIntfs.pas.

Ссылки по теме

  • За и против Winhelp-а в Вики Help&Manual (англ.)
  • Документация по Microsoft HTML Help 1.4 на сайте MSDN
  • Microsoft HTML Help Downloads
  • Скачать последнюю бесплатную версию HelpMaker — программы для создания chm справки.
  • HelpWare.Net(англ) — сайт посвящённый справке. Я рекомендую начинать поиск любой технической информации о справке именно с этого сайта. Там есть FAQ-и по всем форматам справки. Там есть Tutorial по интеграции Chm-справки в Delphi-программы, там есть даже .pas-файлы, для работы с chm-справкой. Авторы этого сайта, являются авторами самого мощного инструмента для работы с файлами справки — FAR Help Manager. Несмотря на громкое название, думаю стоит уточнить, что FAR Help Manager не предназначен для написания справки и не содержит в себе удобных WYSIWYG-редакторов.
  • Help-info.de (англ) — сайт посвящённый справке
  • Темы посвящённые созданию справки на форуме SQL.RU: Тынц
  • Не знаю как вам, а мне очень интересно посмотреть на продукты конкуренты Delphi. Например на MS Visual Studio 2010, и поэтому я иногда просматриваю блог о MS VS2010.

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

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL