CHM (htmlhelp) поиск по ключевому слову
Я пытаюсь связать интерфейс API htmlhelp (который является большим словом для одной функции в двух вариантах), и у меня есть проблема со следующим вариантом использования:
Предположим, у меня есть простой редактор для программистов с кучей файлов помощи (.CHM). Некоторые из основной библиотеки времени выполнения, некоторые из более экзотических библиотек. Предположим, что CHM созданы нормально, и их индексы содержат все ключевые слова, которые я хочу найти. Я хочу просто иметь возможность поиска по различным CHM, когда пользователь нажимает клавишу F1 на ключевом слове в редакторе.
Итак, примерно я хочу (в псевдокоде):
firstchm
while not (out of CHMs) and not Found
{
if keyword in CHM then
{
found=true;
break;
}
nextchm;
}
Я немного поигрался с HH_HELP_TOPIC, но это открыло бы окно для каждого файла попытки, и что еще хуже, это было бы слишком медленно, поскольку CHM не оставались в кэше.
Неужели нет другого решения, кроме DIY, например, с помощью chmlib? Или стоит сначала изучить объединенные файлы CHM?
Язык Delphi или клон, но все, что win32/COM и несколько читабельный будет делать.
(править) Результаты поиска для записей вложенного индекса могут быть следующей проблемой: поиск по ключевой фразе HTML(/edit)
Обновление 2 Через долгое время я получил потенциальную подсказку в другом месте. Создайте среду выполнения CHM, которая объединяет все другие CHM. Windows сгенерирует для него CHW, содержащие все содержание и индексы подчиненного CHM. Требуется Binary TOC = выключено и Binary Index= включено, хотя для всех подчиненных CHM, а также установлен / доступен компилятор CHM. Но поскольку это стандартная мастерская CHM, это может быть не так уж плохо.
1 ответ
Вы хотите создать индекс или выполнить однократный поиск по этим ключевым словам?
Не могли бы вы извлечь содержимое HTML из файлов CHM с логическими именами файлов, выполнить поиск содержимого HTML и связать его обратно с файлом CHM?