Страницы

пятница, 3 октября 2008 г.

Как улучшить help в Delphi. Пошаговая инструкция по внедрению DRKB в систему помощи Delphi.

 Drkb и Jedi Help в MsHelp 2.0

После двух вечеров, возни с Ms-help 2.0, у меня, наконец, получилось интегрировать Delphi Russian Knowledge Base в систему помощи Дельфей.

Инструкция прилагается…



Итак, все необходимые нам файлы находятся в папке «%programfiles%\CodeGear\RAD Studio\6.0\Help\Doc\». Для краткости я буду называть её HelpDoc.

  1. Идём на сайт http://www.drkb.ru/ и скачиваем Drkb3 в формате HxS. Прямой линк на файл(28 Mb). Пока файл скачивается, мысленно поблагодарим автора этой компиляции, Виталия Невзорова. =)
  2. В папке HelpDoc создаём новую папку DRKB3.
  3. Распаковываем DRKB_full.hxs из zip-файла в созданную папку HelpDoc\DRKB3.
  4. Открываем в текстовом редакторе HelpDoc\h2reg.ini

    • Ищем в нём секцию [Reg_Title]
    • В ней видим примерно такой список(очень длинный):

embarcadero.rs2009|wua_sdk||psdk\wua_sdk.hxs|psdk\wua_sdk.hxs|
embarcadero.rs2009|XMLLite||psdk\XMLLite.hxs|psdk\XMLLite.hxs|
embarcadero.rs2009|xmlsdk||psdk\xmlsdk.hxs|psdk\xmlsdk.hxs|
    • В самый конец этого списка добавляем строку:
embarcadero.rs2009|DRKB3||DRKB3\DRKB_full.hxs|DRKB3\DRKB_full.hxs|
  • Ищем в h2reg.ini файле секцию [UnReg_Title]
    • В ней видим ещё один длинный список, типа:
embarcadero.rs2009|wua_sdk|
embarcadero.rs2009|XMLLite|
embarcadero.rs2009|xmlsdk|
    • В конец списка добавляем строку:
embarcadero.rs2009|DRKB3|
    • Сохраним h2reg.ini

5. Запускаем скрипт install_and_view.cmd из папки HelpDoc.
6. Voilà =)

Мы зарегистрировали Drkb3 в пространстве имён файлов помощи Delphi. Теперь, при поиске по Help-у мы также будем находить статьи из Drkb. Далее, нужно сделать так, чтобы статьи Drkb отображались в содержании Help-a. Это будет ещё проще.

  • Откроем в текстовом редакторе файл Master.HxT, который находится в папке HelpDoс.
  • Перейдём в самый конец файла, и перед последней строкой с текстом </HelpTOC>, добавим следующее:
<HelpTOCNode Title="DRKB3" Url="ms-help://embarcadero.rs2009/DRKB3/drkb$00001.htm">
<HelpTOCNode NodeType="TOC" Url="drkb3"/>
</HelpTOCNode>
  • Сохраним Master.HxT

Дополнения, поправки, истории успеха и сообщения о неудачах приветствуются. Также как и ссылки на статью. ;)

Смотрите также

  • Как вручную установить JCL-help в Delphi 2009. Примечание: Вообще, это должен делать установщик, но в JCL 3.35(версия с Partner DVD) эта фича не работает. Ошибка была исправлена в ежедневных сборках буквально через пару недель.

p.s. Потратил два вечера, зато научился устанавливать Visual Studio SDK без установки самой Visual Studio, изучил работу Help Studio Lite 2 и FAR HTML. А ещё, узнал, что к MSI-файлам можно подключаться из vb-скриптов как к базе данных.

3 комментария:

  1. Очень познавательно. Спасибо.
    Андрей.

    ОтветитьУдалить
  2. Алексей, а ты случайно не набрёл на способ как влезть в уже скомпилированные файлы справки? Конкретно очень хочется поправить CSS, поскольку примеры кода не масштабируются, из-за чего при большом разрешении и неидеальном зрении они становятся нечитаемыми. Я уже тоже заморачивался с VS SDK, FAR и прочим, но решения не нашёл.

    ОтветитьУдалить
  3. Если для chm-справки - то любой chm decompiler.
    Если для MS Help 2.0, то FAR.

    ОтветитьУдалить