PC Magazine/RE logo
©СК Пресс 1/97
e-mail: pcmagedt@aha.ru

PC Magazine, June 25, 1996, p. 207

WinHelp 4: усовершенствованная справочная система Windows 95

Нил Дж. Рубенкинг


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

Подсказка! Именно она нужна, когда новая прикладна программа Windows не работает. Успокаивает сознание того, что всегда можно вызвать пункт меню Help (Справка). Всякий раз, когда вы делаете это, вы полагаетесь на WinHelp - утилиту обслуживани справочной системы, которая входит в комплект Windows. WinHelp 4 - самая последняя версия, созданная дл Windows 95 и используемая также в Windows NT 3.51, - обладает целым рядом новых особенностей. В этой статье мы сначала исследуем наиболее яркие из функциональных возможностей, а затем рассмотрим пять инструментальных пакетов для создания справочных систем, которые обеспечивают их работу: Doc-To-Help 2.0, ForeHelp 2.95, Help Magician Pro 95, RoboHelp 95 и HelpBreeze 2.0.

WinHelp 4 внешне выглядит по-новому. Действительно, вступительная заставка этой утилиты полностью переоформлена. В предшествующих версиях стандартными элементами меню Help были Contents (Содержание), Search for Help On (Найти справку по...) и How to use Help (Как пользоваться справочной системой). В WinHelp 4 все эти три элемента были заменены одним - Help Topics (Справочная система), при обращении к которому на экран выводится журнал Contents. Это трехстраничное диалоговое окно с закладками - введение в любую справочную систему WinHelp 4. На закладке Contents отображается иерархический макет справочной системы, закладка Index (Предметный указатель) похожа на знакомый диалог поиска по ключевым словам, а закладка Find (Поиск) позволяет выполнять поиск по всему тексту справочной системы.

На закладке Contents выводится древовидна структура, состоящая из "книг" и "тем". Каждая книга содержит одну или несколько тем, в нее могут также входить другие книги. Двойной щелчок клавишей мыши по книге открывает ее, по теме - приводит к переходу на эту тему в справочной системе. В содержании могут быть гладко "сшиты" несколько справочных файлов, каждый из которых изображается в виде книги.

Страница Index выходит за рамки традиционного диалога тематического поиска, позволяя использовать два уровня ключевых слов с подключами, уточняющими значение главного ключевого слова указателя. Например, основное ключевое слово млекопитающие может иметь подразделы приматы и копытные. Конечно, возможности пользовател найти тему по ключевым словам целиком и полностью зависят от опыта разработчика справочной системы в выборе логически важных ключевых слов. Когда не удаетс найти нужную информацию с помощью страницы Index, страница Find позволяет выполнить поиск по всему тексту справочной системы. Разработчики справки редко снабжают файл подробным (полнотекстовым) указателем, поскольку WinHelp 4 автоматически создает указатель при первом обращении к нему.

Новый стиль работы с окнами

Страницы с пояснениями, которые мы знаем и любим, в WinHelp 4 называются обзорами (overview topics). Обычно они выводятся в главном окне. Краткие пошаговые инструкции, которые направляют пользователя в процессе работы прикладной программы, представляют собой описания процедур (procedural topics). Они появляются в узких окнах нового вида, размещаемых в правой части экрана (чтобы не заслонять программу), и часто содержат кнопки быстрого вызова (shortcut button), которые запускают функции программы.

Еще одна известная новинка среди типов окон - контекстно-чувствительная справочная панель или "What is This?" ("Что это такое?"). Во многих программах Windows 95 можно получить краткое описание размещенного на экране элемента, либо щелкнув правой кнопкой мыши по нему и выбрав пункт "What is This?" из меню, либо выделив его и нажав клавишу F1, либо щелкнув по нему кнопкой мыши после фиксации кнопки со знаком вопроса в строке заголовка.

WinHelp 4 предоставляет разработчикам справочных систем больше свободы в создании классов вторичных окон: описания процедур обычно размещаются во вторичном окне, как и другая часто встречающаяся тематическа информация, типа глоссариев и примеров. Справочна система может иметь до 255 различных классов вторичных окон, а отдельные темы можно связывать с определенным стилем окна. Теперь вторичные окна могут оснащатьс также и инструментальными кнопками. У разработчика есть возможность указать относительный размер и положение окна на экране и при желании настроить его высоту, чтобы тема уместилась на экран.

Кнопки, макрокоманды и мастерство

Кнопки трех новых типов вызываются инструментальной панели и появляются посреди текста справки. Специализированная (authorable) кнопка выглядит как обычная экранная кнопка, за исключением того, что она стала более узкой и может использоваться как "горяча точка" для инициализации перехода, всплывающего меню или макрокоманды. Кнопка быстрого реагирования - крошечная квадратная кнопка с изображением стрелки, подобная знакомым экранным абревиатурам ("ярлыкам" по терминологии Microsoft) на вашем рабочем столе Windows 95. Кнопки этого типа обычно выполняют за пользовател какое-то задание. А мини-кнопка - это пустой крошечный квадрат, который может сопровождаться пояснительным текстом. Перечни тем, связанных с данной, - See also (См. также) - часто вызываются с помощью мини-кнопок.

В WinHelp 4 определено более 30 новых макрокоманд. Многие из них представляют собой просто усовершенствованные версии существующих макрокоманд, но некоторые предоставляют новые увлекательные возможности. В табл. 1 перечислены 12 наиболее интересных нововведений.

Избранные новые макрокоманды WinHelp 4

Макрокоманда Действие
KLink Поиск тем, связанных обычными (K-типа) ключевыми словами.
ALink Поиск тем, связанных скрытыми (A-типа) ключевыми словами.
InitMPrint Инициализация печати нескольких тем.
MPrintID Печать темы.
EndMPrint Завершение печати нескольких тем.
Find Выводит на экран закладку Find в диалоге Help Topics.
Finder Выводит на экран диалог Help Topics.
Menu Выводит на экран контекстное меню.
ExecFile Запускает программу или открывает файл документа.
ShellExecute Открывает или печатает указанный файл.
ControlPanel Запускает приложение панели управления. Открывает его на указанной закладке.
ShortCut Активизирует программу и посылает ей сообщение WM_COMMAND.

Макрокоманда KLink выводит список тем, в которых встречаются одно или несколько указанных ключевых слов. Макрокоманда ALink делает то же самое, но с помощью ключевых слов типа A (A-keywords) - нового типа скрытого ключевого слова, которое не появляется в предметном указателе. Обычно обе команды используютс для автоматического вывода на экран относящихся к делу тем. Из-за ошибки в коде WinHelp 4 макрокоманды ALink и KLink, в которых используется несколько ключевых слов, выведут список тем по одной на каждое совпадающее ключевое слово, дополняя повторяющиеся ссылки именем файла справки. Таким образом, лучше применять эти макрокоманды с одним ключевым словом.

Вызов макрокоманды InitMPrint выводит на экран диалог настройки принтера и готовит WinHelp 4 к печати нескольких тем (еще одна новая особенность). MPrintID выводит на печать отдельную тему, а EndMPrint завершает процесс печати нескольких тем.

Справочная система может активизировать закладку Find (Поиск) диалога Help Topics путем вызова макрокоманды Find. Существующие макрокоманды Contents и Search активизируют закладки Contents и Index. Макрокоманда Finder вызывает диалог Help Topics, в котором активна закладка, бывшая текущей при последнем обращении. Кроме того, можно запускать контекстное меню (вызываемое щелчком правой кнопкой мыши) WinHelp 4, обращаясь к макрокоманде Menu.

Все остальные макрокоманды из ударной дюжины предусматривают действия вне среды WinHelp. ExecFile заменяет старую макрокоманду ExecProgram. Она выполняет программу или открывает документ, ассоциированный с программой, и может вызывать темы, связанные с сообщениями об ошибках в рамках справочной системы, если выполнить программу не удается. ShellExecute должна делать то же самое и к тому же позволять задавать рабочий каталог и указывать, следует ли открыть файл или нужно печатать его. К сожалению, ошибка в реализации ShellExecute приводит к сбою, если используются эти нововведения.

Если вы пользовались темами Troubleshooting (Разрешение вопросов) в собственной справочной системе Windows 95, то видели макрокоманду ControlPanel в действии. Эта макрокоманда запускает прикладную программу панели управления и открывает ее на конкретной закладке. Здесь есть одна ловушка: три параметра в ControlPanel официально перечисляются как имя CPL-файла, имя прикладной программы и номер закладки (отсчет ведется с нуля). На практике номер закладки, которому предшествует запятая, должен добавляться к имени приложения. Так, например,

ControlPanel ("desk.cpl", "Display", 1) формально правильно, но работать будет ControlPanel ("desk.cpl", "Display, 1").

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

В предшествующей версии WinHelp можно было использовать графику с 256 цветами, но это требовало определенных усилий. WinHelp 4 позволяет применять растровые изображения с 256 цветами или с 24-бит палитрами. Аналогично, добавление видео- и звуковых файлов было возможным, но утомительным; теперь это осуществляется автоматически. Для изображений непрямоугольной формы можно определить "прозрачный цвет", чтобы позволить фону просвечивать сквозь них. К тому же в самом компиляторе справочной системы имеетс около десятка небольших используемых по умолчанию растровых изображений.

Инструментальные средства

Можно создавать справочную систему, внедр специальные коды в документ формата RTF, с последующей компиляцией его с помощью программы Help Compiler корпорации Microsoft. Но такой способ напоминает процесс выдалбливания дырки в куске гранита при помощи ржавой ложки. К счастью, имеется множество инструментальных средств для разработчика справочной системы. Мы рассмотрели пять пакетов, которые позволяют работать с WinHelp 4. Они делятся на две группы: основанные на использовании Microsoft Word и автономные. В пакетах Doc-To-Help, RoboHelp 95 и HelpBreeze для генерирования RTF-файла, определяющего справочную систему, применяется Word. Эти средства встраивают свои команды в меню Word и добавляют инструментальные панели для действий, специфичных дл справочной системы. Пакеты Help Magician Pro 95 (в настоящее время проходит стадию бета-испытаний) и ForeHelp самостоятельны: необходимости покупать Microsoft Word для их использования нет. Эти пакеты предназначены для того, чтобы сделать среду разработки максимально похожей на окончательный вариант справочной системы.

Все программные продукты, исследованные нами, позволят вам создать справочные системы для Windows 3.x, но для генерирования справочных систем WinHelp 4 им требуются либо Windows 95, либо Windows NT 3.51 или более поздние версии. Тем программам, которые ориентированы на Word, необходима версия 7.0. RoboHelp можно факультативно использовать в сочетании с 32-разрядной версей Word 6.0 для Windows NT.

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

Каждый из поставляемых продуктов вполне успешно справился с этими задачами. Сказать точно, какой из них будет лучшим для вас, можно, только приняв во внимание другие соображения. Если основная цель состоит в том, чтобы исходя из одного источника создать полномасштабное руководство по программе и справочную систему, явно лучшим вариантом выбора будет Doc-To-Help. Если у вас нет Word 7.0 или если вы предпочитаете работать в среде WYSIWYG, стоит выбрать ForeHelp (или, после его выпуска, Help Magician Pro 95). Пользователи Word 7.0, не заинтересованные в создании руководств, будут выбирать между RoboHelp 95 и HelpBreeze. RoboHelp - это хорошо проработанное изделие с прекрасным механизмом отслеживания записи, на усовершенствование которого были затрачены годы. Однако в менее известной программе HelpBreeze тщательно интегрированы функции WinHelp4, а стоит она намного меньше.

Привлекательные перспективы

Еще два авторских средства для справки Windows 95 будут поставляться в ближайшем будущем: Visual Help Builder 3.0 компании ProtoView сможет обеспечивать работу всех усовершенствованных функций WinHelp 4. Кроме того, у него имеется необычная способность просматривать исходный текст прикладной программы и генерировать соответствующий каркас справочной системы. Версия пакета WYSI-Help для Windows 95 фирмы UDI Software должна появиться в продаже ко времени публикации данной статьи. И конечно, скоро начнутс продажи Help Magician Pro 95.

В самой программе WinHelp 4 немало ошибок, часть которых отмечена в этой статье. С выпуском Windows NT 4.0 она быдет подвергнута минимальной модернизации, но это будет последняя версия WinHelp в том виде, в каком мы ее знаем. На недавней конференции по WinHelp представитель фирмы Microsoft объявил, что в следующей реализации WinHelp будет использовать язык HTML-файлах (который применяют для описания страниц Web), а не формат RTF. Это произойдет через год, и, возможно, тогда-то и начнется новая эпоха.


Doc-To-Help (WexTech Systems Inc.)

Версия 2.0 пакета Doc-To-Help позволяет создавать как печатную документацию, так и справочную систему на базе единого исходного текста. Для определени тем и переходов в файле подсказок Doc-To-Help использует иерархию заголовков документа пакета Microsoft Word. Это особенно выгодно для WinHelp 4, поскольку Doc-To-Help также использует иерархическую структуру для определения закладки Contents (Содержание). Для создания наших шести тем и двух книг мы просто отформатировали названия книг и тем со стилями поздуровней заголовков Header 1 (Заголовок 1) и Header 2 (Заголовок 2) соответственно. Для каждой книги автоматически сформировались последовательности просмотра, поскольку по умолчанию Doc-To-Help начинает новую последовательность просмотра на каждой строке стил Header 1.

Пакет Doc-To-Help определяет записи в предметном указателе (они становятся ключевыми словами) исход из задаваемого пользователем списка целевых фраз и дополнительных вставок. Непосредственное применение ключевых слов типа А (скрытых) не предусмотрено, но мы смогли создать их путем размещения сносок, отформатированных соответствующим образом. Вторичные окна связаны с типами тем. С несколькими минимальными изменениями описание процедуры совпало с нашей спецификацией.

К моменту публикации этой стати, в пакете Doc-To-Help должны появиться возможности работы с мини-кнопками и кнопками быстрого реагирования. Дл испытательных целей мы заменили специализированные кнопки. При создании каждой из макрокоманд WinHelp 4 нам пришлось проходить трехэтапный процесс, подтверждая необходимость генерировать код, специфичный для платформы. Как только удалось реализовать диалог редактирования макрокоманды оказалось, что великолепен: он выдавал экранную справку по каждой макрокоманде и ее аргументам, в том числе, где это возможно, ниспадающий список значений. Создание макрокоманды шло гладко, как и внедрение AVI-файла. Однако компиляция даже этого проекта из восьми тем в файл справки потребовала длительного процесса преобразрвания форматов. Хот его можно использовать для любых справочных систем, пакет Doc-To-Help лучше приспособлен для больших проектов, где справочная система имеет ту же структуру, что и печатное руководство.

Doc-To-Help 2.0
Цена, рекомендуемая изготовителем: 395 долл.
Требуемые ресурсы: 8-Мбайт ОЗУ (рекомендуется 16 Мбайт), 10 Мбайт на жестком диске, Microsoft Word 7.0.
WexTech Systems Inc., New York, NY; 800-939-8324, 212-949-9595; fax, 212-949-4007; http://www.wextech.com.


ForeHelp (ForeFront Inc.)

Окно конструктора пакета ForeHelp 2.95 похоже, насколько это возможно, на собственное окно WinHelp. Создание наших шести тем оказалось делом простым, и все они сразу же выглядели как темы справки. Диалог Topic Keywords позволил нам одновременно настроить двухуровневые и невидимые ключевые слова. В редакторе последовательности просмотра используетс понятный интерфейс с механизмом drop-and-drop, а темы по мере их добавления в последовательность выводятся на экран серым цветом. Этот редактор снабжен также кнопкой для добавления к текущей последовательности всех использованных тем. Редактор файла содержания имеет аналогичный интерфейс, хот он не предоставляет простого способа определить, был ли уже добавлен указатель на данную тему в содержание.

Создавать классы вторичных окон легко и, как можно видеть, нетрудно настраивать размеры вторичных окон относительно экрана с помощью реального окна на полном экране. Мы смогли добавить все три типа кнопок, как только поняли, что ForeHelp оперирует с кнопкой быстрого вызова как с разновидностью маркера (bullet). Редактор макрокоманд следит за отдельными параметрами, однако справка по макрокомандам и определения их параметров в него не встроены. Мы нашли функцию macroset (набор макрокоманд) удобной: определите существующие последовательности макрокоманд как набор и вы сможете повторно использовать этот комплект в любом месте вашей справочной системы.

Пакет ForeHelp - это прекрасный инструмент дл разработчиков, ориентированных на работу в визуальной среде. Кнопки, AVI-файлы и почти все особенности справочной системы проявляются во врем проектирования, а большинство из них работают в исключительно быстром тестовом режиме. До тех пор, пока вы не захотите воспроизводить AVI-файлы или выполнять развитые макрокоманды, тестовый режим хорошо эмулирует WinHelp, и нет необходимости компилировать и выполнять проект.

ForeHelp 2.95
Цена, рекомендуемая изготовителем: 395 долл.
Требуемые ресурсы: 4-Мбайт ОЗУ (рекомендуется 8 Мбайт), 6 Мбайт на жестком диске.
ForeFront Inc., Builder, CO; 800-357-8507, 303-499-9181; fax, 303-494-5446.

Help Magician Pro 95 (Software Interphase Inc.)

Пакет Help Magician Pro 95 (в настоящее врем представленный бета-версией 4.0), как и ForeHelp, представляет собой автономное средство конструирования справочных систем, работающее в режиме WYSIWYG. В бета-версии, которую мы исследовали, реализовано большинство усовершенствований, внесенных в WinHelp4. Удобно то, что функция Keyword Management позволяет назначать ключевые слова сразу нескольким темам (хот двухуровневые и скрытые ключевые слова в бета-версии не работали). Кроме того, при помощи Help Magician, как и ForeHelp, можно настраивать размер и положение вторичного окна, используя реальное полноэкранное окно.

Окончательный вариант продукта будет обеспечивать работу мини-кнопок и кнопок быстрого реагирования. Для проведения испытаний мы заменяли специализированные кнопки. При выборе ключевого слова как назначения для перехода автоматически вставляется макрокоманда ALink или KLink. Прежде чем использовать макрокоманду в Help Magician, необходимо создать ее определение. Это кажетс неудобным для одной макрокоманды, но макроопределение может предусматривать ряд макрокоманд WinHelp, и однажды созданное, може быть применено в любом месте справочной системы. Наши макрокоманды Notepad и Screen Saver были вполне удачным, но попытки добавить AVI-файл приводили к аварийной остановке бета-версии программы. Окончательный вариант продукта, продажу которого планировалось начать в мае, доставит удовольствие тем, кто хочет иметь средство проектировани справочных систем, работающее в режиме WYSIWYG. Вы также получите возможность создавать страницы Web непосредственно из исходного текста справочной системы. И если вы новичок в разработке справочных систем, модуль Help Wizard покажет вам весь процесс шаг за шагом.

Help Magician Pro 95 (4.0 бета-версия)
Цена, рекомендуемая изготовителем: 249 долл.
Требуемые ресурсы: 8-Мбайт ОЗУ, 10 Мбайт на жестком диске.
Software Interphase Inc., Foster, RI; 800-542-2742, 401-397-2340; fax, 401-397-6814; http://www.sinterphase.com.

RoboHelp 95 (Blue Sky Software Corp.)

Компания Blue Sky Software обновила пакет RoboHelp 95 для использования с WinHelp 4 даже еще до выхода Windows 95. Хотя в работе пакета RoboHelp применяется Microsoft Word, заметно, что его плавающая инструментальная панель и многочисленные диалоговые окна находятся на попечении RoboHelp. В текущей версии - Revision A - появилась возможность создавать справочные системы Windows 3.x.

Мы подготовили наши шесть тем и ввели двухуровневые и скрытые ключевые слова, и все это в одном диалоге разработки тем справочной системы. С помощью использующего механизм drag-and-drop модул Contents Tab Composer мы легко создали две книги и добавили к каждой из них по три темы. С другой стороны, настройка второй последовательности просмотра была на удивление трудной, поскольку нам пришлось заняться редактированием каждой темы во второй последовательности.

Диалог редактирования кнопок автоматизирует процесс создания кнопки типа see also, но при подключении нескольких макрокоманд к кнопке помощь, оказываемая вам программой RoboHelp существенно меньше, чем у других программ. Приходится учитывать все параметры и помнить об отделении нескольких макрокоманд друг от друга двоеточием или точкой с запятой, в зависимости от того, как будет вызыватьс макрокоманда. Внедрение AVI-файла прошло без проблем, а когда мы умышленно вставили ошибку, "мастер" обработки ошибок (error wizard) RoboHelp подробно объяснил, в чем заключается проблема. Сам по себе или как часть комплекта WinHelp Office компании Blue Sky Software, пакет RoboHelp представляет собой вполне профессиональное изделие, на которое затрачены годы разработки.

RoboHelp 95, Revision A
Цена, рекомендуемая изготовителем: 499 долл. WinHelp Office: цена на начальном этапе 599 долл.; впоследствии 866 долл.
Требуемые ресурсы: 8-Мбайт ОЗУ, 8 Мбайт на жестком диске, Microsoft Word 7.0.
Blue Sky Software Corp., La Jolla, CA; 800-677-4946, 619-459-6365; fax, 619-459-6366; http://www.blue-sky.com.

HelpBreeze (SolutionSoft)

Версия 2.0 пакета HelpBreeze дополняет Microsoft Word десятками пунктов меню и мощной инструментальной панелью и в нее хорошо интегрированы усовершенствования WinHelp 4. Мы создали наши шесть тем и добавили двухуровневые и скрытые ключевые слова в диалоге Insert Help Topic. Редактор файла содержания достаточно прост, хотя и реализован без использования механизма drop-and-drop. К моменту публикации этой статьи уже появиться (печатное) руководство по HelpBreeze. Однако его отсутствие нас не огорчало, поскольку вместо него мы пользовались справочной системой HelpBreeze.

Встроенный "мастер" тем создал наше вторичное окно и описание процедуры. Для тонкой настройки свойств окна "мастер" запустил программу Microsoft Help Workshop. Пакет HelpBreeze автоматизирует процесс связывания тем посредством ключевых слов. Нам совершенно не требовалось создавать макрокоманду ALink для нашей кнопки see also.

Распространяемая утилита WebDialer пакета HelpBreeze реализует связи между справочной системой и Internet. Для добавления Web-связи нужно просто соединиться с узлом, создать "горячую точку" дл запуска макрокоманды и нажать кнопку URL. Получающаяся в итоге макрокоманда будет осуществлять подключение к данному URL с помощью WebDialer.

Мы были изумлены тем, как редактор макрокоманд обращался с макрокомандой Shortcut. Он действительно проанализировал выбранную программу и позволил нам выбрать пункт меню, который следует запустить. Однако такого не происходит для составляющих аргументов других макрокоманд. Надо просто читать тему справки по используемой макрокоманде и набирать параметры вручную. Наша макрокоманда ControlPanel работала прекрасно, как и внедренный AVI-файл. Если вам доставляет удовольствие работа с Microsoft Word и вы хотите подчеркнуть усовершенствования WinHelp 4 в своих проектах, HelpBreeze - прекрасный вариант выбора.

HelpBreeze 2.0
Цена, рекомендуемая изготовителем: 349 долл.
Требуемые ресурсы: 4-Мбайт ОЗУ, 6,5 Мбайт на жестком диске, Microsoft Word 7.0.
SolutionSoft, Sunnyvale, CA; 408-736-1431; fax, 408-736-4013; http://www.solutionsoft.com.

Нил Дж. Рубенкинг - внештатный технический редактор PC Magazine.