Комбиниране на CHM файлове

Автор: Алексей Кирюшкин The RSDN Group Източник: RSDN Magazine #4-2003
Необходими забележкиВръзки
комбиниране

Статията „HHCOLREG. Регистриране на HTMLHELP колекции“ обсъжда как да комбинирате няколко CHM файла с помощта на специален текстов файл в колекция HtmlHelp. Методът е лесен за изпълнение и доста удобен за използване, с едно единствено изключение - преди да започнете работа с колекцията, тя трябва да бъде регистрирана на машината на потребителя. Често обаче има случаи, когато помощта трябва да се намира на външен носител (например на компактдиск) и при работа с него не се предполага да се правят промени в системната конфигурация на потребителя, може би потребителят дори няма права да го направи. В този случай можете да използвате друг, но по-отнемащ време начин за обединяване на CHM файлове въз основа на CHM главния файл.

Създаване на CHM главен файл

Изходни данни

Нека се опитаме да обединим 2 chm файла: first.chm :

файл
Фигура 2. First.chm - индекс

файлове
Фигура 4. Second.chm - индекс

Свойствата на проекта на всеки от обединяваните CHM (включително основния файл) трябва да бъдат настроени така, че да позволяват създаването на двоичен индекс. За да направите тази функция достъпна, свойството за съвместимост трябва да бъде зададено на 1.1 или по-нова версия:

файл
Фигура 5

Нека създадем нов проект HtmlHelp, master.hpp, с една страница и след това да го компилираме. Резултатът от тези действия е показан на фигури 6 и 7:

файлове
Фигура 7. Master.chm - индекс на детайла

В свойствата на проекта на главния файл квадратчето Създаване на двоичен TOC трябва да бъде премахнато, в противен случай съдържанието няма да бъде обединено:

файлове
Фигура 8

Комбиниране на съдържание, съдържание (TOC)

файлове
Фигура 9.Комбиниране на съдържанието на CHM файлове в проект на главен файл.

След като компилирате проекта, можете да отворите master.chm и да проверите дали съдържанието на трите chm файла е обединено:

Комбиниране на индекси и информация за търсене

Отворете свойствата на проекта master.hpp в раздела Merge Files и добавете first.chm и second.chm към списъка:

комбиниране
Фигура 12. Промяна на свойствата на проекта за комбиниране на индекси и база за търсене

ПРЕДУПРЕЖДЕНИЕ

Не е необходимо да добавяте файла master.chm към този списък

След като прекомпилирате проекта, отворете master.chm и се уверете, че индексите и на трите файла са обединени:

комбиниране
Фигура 13. Master.chm - комбиниран индекс

Ако е необходимо при отваряне на някой от комбинираните по този начин CHM файлове (в този пример first.chm, second.chm) да е наличен общ индекс и търсене във всички файлове, трябва да повторите тази операция за проектите на всеки от CHM файловете. Когато правите това, трябва да се уверите, че CHM файлът не се озовава в списъка за обединяване на файлове на вашия собствен проект.

ЗАБЕЛЕЖКА

Обединяването на индекси, за разлика от обединяването на съдържанието, не е рекурсивна операция. За всеки CHM файл трябва да посочите всички други CHM файлове, чиито индекси трябва да са налични.

Добавяне на споделено съдържание към всички други CHM файлове

файл
Фигура 14. Добавяне на общо съдържание за всеки от CHM файловете.

Операцията трябва да се повтори за всеки CHM, с изключение на основния файл.

Ако резултатът от комбинирането на вашите файлове се различава от горния, проверете вашите файлове спрямо файловете в демонстрационния проект по-внимателно.

Необходими забележки

  1. Всички CHM-Файловете трябва да са в една и съща директория.
  2. За да работите със създаденото обединение, е изключително важно да присъства само главният файл; всеки друг CHM файл може да липсва. В този случай, разбира се, комбинираната помощ няма да съдържа своето съдържание, но нейната производителност няма да бъде засегната.

Когато се разпространяват CHM файлове на защитен от запис носител, понякога се препоръчва да се разпространяват заедно с тях CHW файлове, които са създадени в същата директория с CHM, когато информацията за индекса е достъпна за първи път. Експериментите с Windows XP обаче показват, че при използване на интегрираната помощ за CD-ROM, която създадохме, необходимите CHW файлове се създават успешно на локалното устройство в директорията .\Documents and Settings\Your_Name\Application Data\Microsoft\HTML Help.