Сколь бы хороша по своим функциональным возможностям не была бы система, созданная программистом, ее нельзя будет назвать совершенной, если у нее не будет хорошей справочной подсистемы. Трудно переоценить значение хорошего описания. Спецификации, поставляемые в справочном руководстве, играют важнейшую роль в освоении сложных программных систем. К сожалению, почти никогда не бывает, чтобы сложная система выполняла все свои функции безошибочно, точнее сказать, должным образом реагировала на все возможные действия пользователя. Пользователям (но не разработчикам) следует признать, что идеальных систем не бывает и принимать это как должное. Для них важнее знать спецификации системы, которые бы точно описывали, при каких условиях система функционирует без ошибок, и здесь хорошая справочная система незаменима. Важным достоинством системы Office 2000 является то, что в ней собственной справочной системе уделено большое внимание. Не менее важно, что в Office 2000 входят разнообразные инструментальные средства, позволяющие при создании собственных офисных решений, предназначенных для решения задач пользователя, создать для такого решения справочную подсистему по образцу и подобию справочной системы Office 2000. Создание такой справочной подсистемы предполагает разработку:
Answer Wizard, для того чтобы использовать Office Assistant и формулировать запрос на поиск в справочной системе на естественном языке, как это делается в самом Office 2000.InputBox, в диалоговом окне которых предусмотрена специальная кнопка Help. Справку, поясняющую ситуацию, следует выдавать при возникновении исключительных ситуаций, возбуждаемых методом Raise, при работе объекта Err и в других случаях.Таким образом, можно видеть, что справочная подсистема многообразна и создание ее дело совсем не простое. Тем не менее, попробуем во всем этом разобраться и начнем с создания руководства по системе.
Замечу, что создание справочного руководства может быть вполне самостоятельной задачей, не связанной с разработкой конкретной программной системы. Справочники полезны и сами по себе.
Инструментальная поддержка создания справочного руководства была предусмотрена еще в предыдущей версии Office 97 и позволяла построить систему Windows Help файлов, имеющих уточнение ".hlp". Специальный инструментарий WinHelp позволял строить такие файлы. В Office 2000 произошло серьезное изменение принципов построения справочной системы. Это касается как собственной справочной системы Office 2000, так и инструментария, создающего справочную систему для офисных решений. Эти изменения отражают общую тенденцию работы с офисными документами - миграцию в Интернет и переход к хранению документов, в том числе и справочного руководства в формате HTML.
Инструментарий Microsoft HTML Help - новое поколение авторизованных справочных систем позволяет построить справочное руководство, страницы которого обладают всеми возможностями Web-страниц. Такое руководство по системе офисных документов, разработанных программистом, может быть частью этой системы и поставляться вместе с ней, также как система справки по Office 2000 является частью этой системы. Есть и другая возможность, - развернуть справочное руководство на Web-узле корпоративной сети.
Разделы справочного руководства создаются как отдельные HTML - файлы и могут быть созданы в любом Редакторе, позволяющем работать с таким форматом, например, в Word или FrontPage. Подобный Редактор входит и в состав специального инструментального средства, используемого для создания справочных руководств, - HTML Help
Перечислим инструментальные средства, составляющие Microsoft HTML Help и используемые при создании справочного руководства:
Рассмотрим более подробно возможности HTML Help
Типы файлов, появляющиеся в проекте, зависят, конечно, от того, какие средства используются в разделах справки, от возможностей, какими будет обладать система и от того, в каком виде она будет представлена - скомпилированном файле или Web-узле. Чаще всего, в проект включаются файлы следующих типов:
В справочную систему можно также включить средства, позволяющие получать справки и тем пользователям, у которых нарушены те или иные функции, например, слух или зрение.
Основой справочной системы являются разделы, описывающие те или иные темы. Как уже говорилось, каждый раздел оформляется в виде отдельного HTML-файла, представляя по существу отдельную Web-страницу. Следовательно, предоставляется большой простор при создании раздела справки, поскольку здесь можно применять весь дизайн Web-страниц. Заметьте, поскольку разделы являются Web-страницами, то всю справочную систему совершенно естественно рассматривать в виде Web-узла. Это особенно удобно в тех случаях, когда разрабатываемая система предназначена для коллективной работы пользователей и доступна для работы в корпоративных сетях
Добавление индексов в справочную систему является одним из наиболее важных способов быстрого доступа к разделам справочной системы, позволяя найти нужный раздел или совокупность разделов по заданному индексу. Зачастую такой способ более приемлем, чем поиск по содержанию или
Включение в справочную систему оглавления или, используя более формальный термин, таблицы содержания представляется почти обязательным условием любого справочного руководства. Оглавление позволяет придать руководству определенную структуру. При хорошо продуманной структуре и заголовках разделов оглавление позволяет достаточно просто найти нужный раздел и, что немаловажно, окружающий его контекст. При написании руководства оглавление полезно составлять еще до того, как будут созданы разделы руководства. Более того, уже на этом этапе создается иерархическая структура оглавления руководства, - части, главы, параграфы руководства.
В системе HTML Help
Теперь, когда получено общее представление об инструменте HTML Help
Все средства, входящие в состав HTML Help
Частью HTML Help
Разделы руководства являются основными терминальными элементами справочной системы. При работе в HTML Help
Прежде, чем создавать разделы, идеологически правильно создать оглавление руководства. Однако технология работы с системой HHW предполагает первоначальное создание разделов, поскольку при создании пунктов оглавления необходимо сразу связывать их с уже существующими файлами разделов. Тем не менее, давайте танцевать от печки. Вот как выглядит спроектированное мной оглавление (таблица содержания) нашей будущей справочной системы:
Microsoft HTML Help Введение Создание справочного руководства Разделы Поиск Разное Рисунки Ссылки Answer Wizard Вопросы и Office Assistant
Я постарался отобразить в этом тексте иерархическую структуру оглавления. В нем присутствуют два типа элементов - книги и страницы. С каждой книгой и страницей связан отдельный раздел - соответствующий HTML -файл. Книги отличаются тем, что в них могут быть вложены другие книги, о чем уже говорилось ранее. В приведенном выше тексте названия книг выделены жирным шрифтом, курсивом - названия страниц. В соответствии с этим планом наше руководство будет состоять из 10 разделов, составляющих на верхнем уровне две книги - "Microsoft HTML Help" и "Answer Wizard". В первую из этих книг, в свою очередь, вложены еще две книги.
Понимая, как выглядит оглавление, можно приступить к созданию соответствующих разделов. Для создания разделов справки я использовал в качестве основного инструмента FrontPage. Но поскольку большую часть содержания этих разделов составляли материалы этой лекции, то я просто копировал тексты Word, перенося их на Web-страницу, создаваемую в приложении FrontPage. Я не буду приводить детали этого процесса, отмечу лишь, что все файлы, соответствующие спроектированным разделам справочного руководства, были созданы и записаны в один каталог. В этом каталоге будет накапливаться вся информация, необходимая для построения руководства. Этот же каталог и будет содержать будущий проект и скомпилированный файл, созданный инструментарием HTML Help
Замечу, что при построении разделов справки никаких особых средств не использовалось, - заголовки, абзацы, гиперссылки и списки - вот, пожалуй, и все используемые элементы. Исключение составляют два раздела - "Рисунки" и "Ссылки". В первый из этих разделов я включил рисунки различных форматов, во второй - различные ссылки. Но об этих разделах и используемых в них элементах я скажу позже чуть подробнее.
Теперь, когда созданы разделы справочного руководства, можно приступить и к созданию файла, хранящего таблицу содержания (оглавление) нашего руководства. До этого этапа сама система HTML Help
(рис 8.1) Начальный шаг в процессе создания оглавления справочного руководстваДля создания таблицы содержания открывается соответствующее диалоговое окно:

В этом окне главное меню системы осталось без изменения, но слева появилась
(рис 8.2) показывает свойства таблицы содержания. Еще две кнопки
и
позволяют соответственно редактировать элемент оглавления или удалить его. Главную функциональную роль играют две кнопки -"heading" и "page". На первой изображен значок папки -
, на второй - страницы
Эти кнопки задают два уже упоминавшихся типа элементов оглавления - книг и страниц. Если на очередном этапе создания оглавления мы хотим задать книгу, в которой будут располагаться страницы и, возможно, другие книги, то выбирается кнопка "heading", в противном случае - "page".
Если щелкнуть по верхней кнопке и открыть окно свойств, то там можно, в частности, сменить значок папки на значок книги или использовать собственные образы для кнопок книг и страниц. Можно, например, иметь несколько образов для кнопок, задающих страницы, чтобы по виду кнопки можно было отличать типы страниц, используемых в руководстве. Но мы не будем заниматься этими украшениями.
В следующей серии диалоговых окон, которые появляются при выборе любой из кнопок, - Heading или Page, можно задать название пункта оглавления и связать его с ранее созданным файлом раздела. Вот как выглядит первое из этих окон, когда задано имя пункта оглавления и связано с ним имя файла раздела:
(рис 8.3) Связывание пункта оглавления с файлом, содержащим соответствующий раздел руководства.Повторив этот процесс нужное число раз, я создал таблицу содержания в соответствии с намеченным планом. По ходу дела для расположения пунктов оглавления на желаемых уровнях иерархии пришлось воспользоваться еще несколькими кнопками
В случае, когда предполагается получать контекстные справки по тем или иным разделам, необходимо выполнить дополнительную работу. Суть этой работы состоит в том, что в справочное руководство включаются еще два раздела - MAP и ALIAS, позволяющие с каждым разделом связать числовой и символьный идентификатор. Техника вызова конкретного раздела справочного руководства, основанная на знании, прежде всего, числового идентификатора - HelpContextID - широко используется в работе с документами Office 2000. Эти вопросы будут подробно обсуждаться в следующей лекции. Сейчас же отмечу, что в тех случаях, когда справочное руководство вызывается, как единое целое, создание этих разделов не является обязательным.
Можно начинать создавать проект на пустом месте, когда никаких компонент еще нет. Но можно поступить так, как сделал я в данном примере, приступая к созданию файла проекта, когда значительная часть информации, необходимая в проекте, уже создана. Для создания файла проекта, также как и для любых файлов, создаваемых в среде HHW, в меню File нужно выбрать пункт New, а затем в появившемся окне выбрать нужный тип создаваемого файла. Соответствующий Мастер ведет нас на всех этапах создания проекта. Вот как выглядит диалоговое окно на первом шаге работы Мастера:
(рис 8.4) Начальный шаг создания проекта "Справка о справке" На последующих шагах работы Мастера указывается, какие компоненты уже созданы и где они хранятся. Я не буду останавливаться на деталях этого процесса, интерфейс на каждом шаге достаточно понятен и соответствует интуитивным представлениям. В моем случае я сообщил Мастеру, что уже созданы файлы разделов и файл с таблицей содержания, указал также место их хранения, так что все эти файлы автоматически были подключены к проекту. Замечу, что, конечно же, и после построения проекта в любое время можно вводить новые разделы и модифицировать оглавление. После того, как Мастер завершил создание проекта, следует выполнить компиляцию проекта, что я и сделал. Взгляните, как выглядит HHW после завершения компиляции проекта.
(рис 8.5) Результат компиляции проекта "Справка о справке"В левом окне отображаются данные о проекте, в правом - о результатах компиляции. В нашем случае никаких сообщений об ошибках компиляции не было, но сами понимаете, такие сообщения могут появляться. Указано время компиляции (3 секунды) и другая полезная статистика, в частности, число разделов, число локальных гиперссылок и ссылок Интернет, объем файла до и после сжатия. Замечу, что неверно подсчитывается число рисунков, встречающихся в разделах справочного руководства.
Теперь первый вариант задуманного нами справочного руководства создан, - он хранится в откомпилированном файле с уточнением ".chm". Его можно просмотреть его в специальном обозревателе HTML Help Viewer, который, как мы говорили, использует компоненты Internet Explorer, хотя и не совпадает с ним полностью. Просмотреть справочное руководство непосредственно в HHW можно двояко, либо щелкнув по кнопке
, расположенной на
Пришла пора взглянуть на то, как выглядит созданное справочное руководство:
(рис 8.6) Справочное руководство "Справка о справке" и его оглавлениеКак видите, интерфейс справочного руководства выглядит вполне привычно для пользователей Office 2000 и напоминает справочную подсистему приложений Office. В левом окне показано оглавление, которое в данном случае полностью раскрыто и соответствует спроектированному нами плану. В правом окне отображается раздел, соответствующий выбранному пункту оглавления. В тексте раздела видны гиперссылки, которые позволяют организовать переходы из раздела в раздел или при необходимости начать бродить по сети Интернет, что также возможно. Но давайте поговорим об этом подробнее.
Несомненным преимуществом создаваемого справочного руководства является то, что разделы справки создаются как HTML - файлы и, следовательно, обладают всеми возможностями Web-страниц. В частности, это могут быть активные страницы, использующие возможности DHTML и элементов ActiveX. В нашем примере я не стал использовать весь набор возможных средств, ограничившись исследованием двух элементов, наиболее часто используемых в справках, - рисунках и ссылках.
Рисунки способствуют пониманию сложных понятий и потому часто используются в справочных системах. В разделе "Рисунки" показано отображение рисунков, представленных пятью наиболее употребительными графическими форматами -
(рис 8.7) Отображение рисунков в справочной системе Хотя, как видите, рисунки разных форматов отображаются без проблем, но хочу напомнить, что многое зависит и от того, в каком Редакторе создан файл с рисунками. Вначале я создал файл с рисунками в приложении Word. Этот файл без проблем отображался в Internet Explorer, однако Viewer системы HHW не отображал рисунки, поскольку не понимал тегов, созданных в приложении Word. Напомню, что в этом приложении рисунки помещаются в коллекцию Shapes и им не соответствуют теги Image. Никаких проблем с рисунками не возникает, если соответствующий раздел подготовлен в приложении FrontPage, возможно, путем копирования соответствующего документа Word.
Поговорим теперь о ссылках - еще одном важном элементе разделов справочной системы. В хорошей справочной системе разделы связаны ссылками, так что, зацепившись за один раздел, можно пройти по цепочке связанных разделов, получив всю нужную информацию. Нет никаких проблем создания гиперссылок в том же Редакторе FrontPage. Источником ссылки (якорем) может быть любое слово, фраза или рисунок, а целью (URL) может быть имя файла, задающего раздел справочной системы или адрес в Internet. Заметьте, что в приложении FrontPage можно указать адрес любого файла, но в справочной системе будут правильно работать ссылки только на разделы этой системы. В нашем примере гиперссылки появляются в нескольких разделах, что позволяет переходить из раздела в раздел. Большинство ссылок сосредоточено в разделе "Ссылки":
(рис 8.8) Раздел "Ссылки" справочного руководстваЗдесь есть различные ссылки, как локальные - на разделы справочной системы, так и глобальные, в частности, на домашнюю страницу Microsoft. В качестве якорей используются как фразы, так и рисунок совы, вставленный в раздел. Взгляните, как работает ссылка на страницу Microsoft:
(рис 8.9) Выход в Internet из справочной системыТаким образом, можно существенно расширить возможности справочной системы, поскольку не найдя нужной информации в ее разделах, можно перейти в Internet и попытаться найти там нужные сведения, например, на соответствующем узле Microsoft. Заметьте, что страницы Internet отображаются в окне справочной системы, что означает, что они просматриваются с помощью Viewer, а не Internet Explorer.
Хочу обратить внимание на одну важную особенность Viewer, - все-таки его возможности ограничены в сравнении с Internet Explorer. Он, в частности, не понимает русского языка и потому нельзя использовать в гиперссылках русские имена файлов. Так что есть серьезное ограничение - имена файлов, задающих разделы справочного руководства, должны быть в латинице, чтобы не было проблем со ссылками на эти разделы.
Оглавление играет важную роль в справочном руководстве, - это некоторый способ структурирования информации. Однако понятно, что одну и ту же информацию можно структурировать по-разному. Поэтому, создавая таблицу содержания, в нее можно включить на верхнем уровне несколько книг, каждая из которых будет отражать свой способ структуризации справочного руководства, например, по темам, по годам, по алфавиту, играя в последнем случае роль предметного указателя. Заметьте, что во всех этих представлениях могут использоваться одни и те же разделы, помешенные на разные уровни иерархии.
Чтобы выполнить намеченные модификации, потребовалось создать новый HTML-файл с разделом, описывающим суть новой книги, а затем в среде HHW добавить в проект этот файл и модифицировать оглавление руководства. Как и ранее, файл был создан в среде FrontPage, простым копированием части текста данного параграфа. Созданный файл с именем "New View " был сохранен в каталоге нашего проекта. Перейдя затем в среду HHW, я добавил этот файл в проект. Для этого на вкладке "Project" есть специальная кнопка
, щелчок по которой открывает окно, в котором в проект можно добавлять и удалять файлы разделов:

Для модификации таблицы содержания в среде HHW необходимо перейти от вкладки "Project" к вкладке "Contents" и уже по знакомому нам сценарию добавить в таблицу содержания новую книгу с двумя страницами. Вся операция занимает не более минуты. После чего остается щелкнуть по кнопке со значком мясорубки
(рис 8.10) , запускающей компиляцию проекта, и наши изменения будут реализованы. Вот что из этого получилось
(рис 8.11) Справочное руководство "Справка о справке" после модификации
Проблема поиска нужной информации в ворохе существующих документов является одной из центральных проблем, стоящих перед программистами. Microsoft многое сделала для ее решения на серверной стороне, когда структурированные или неструктурированные данные хранятся в хранилищах данных MS SQL Server или Web Store в Exchange Server. Специальные средства Index Server позволяют проводить индексацию хранящейся информации. Но, как видите, многое можно сделать и на клиентской стороне. Инструментарий HHW позволяет структурировать множество файлов, организовать их в виде справочного руководства и использовать различные средства поиска нужной информации.
Одним из наиболее эффективных методов поиска нужного раздела является поиск по индексу или указателю. Индексы (указатели) представляют собой ключевые слова (фразы), связанные с названиями разделов справочного руководства. С каждым разделом может быть связано некоторое множество указателей. С другой стороны одно и то же ключевое слово может быть использовано в качестве указателя на разные разделы.
Существуют, конечно, способы автоматического создания множества индексов путем анализа текста раздела. В системе HHW индексы создаются вручную. В таком подходе есть свои плюсы и минусы. Недостаток понятен - необходимо проделать большой объем работы, чтобы создать приемлемый индексный файл. Но понятны и достоинства такого подхода - специалист, хорошо знающий систему и представляющий пользователей этой системы может создать такое множество индексов, которое позволит быстро находить информацию в руководстве пользователям с разным уровнем подготовки. Заметим, что файл индексов может периодически пополняться в процессе работы со справочной системой, за счет учета опыта работы пользователей и использования наиболее часто задаваемых вопросов.
Давайте перейдем к детальному рассмотрению того, как создается файл индексов в среде HHW. Здесь есть две возможности:
Вне нашего рассмотрения остается способ создания индексов в ситуации, когда справочное руководство создается в виде Web-узла.
Начнем с того, что создадим пустой индексный файл, следуя обычной технологии создания файлов в среде HHW. Отметим, что среди возможных типов создаваемых файлов есть и тип "Index". Можно также щелкнуть вкладку Index, после чего появится диалоговое окно с предложением создать индексный файл, если он еще не был создан. Если щелкнуть нужные кнопки, указать имя индексного файла, то такой, пока пустой файл будет создан. В среде HHW будет открыта вкладка Index, и ее интерфейс во многом схож с интерфейсом вкладки Contents, открываемой при создании таблицы содержания. Почти все кнопки, появляющиеся на левой
. Если щелкнуть по ней, то появится серия диалоговых окон, позволяющая задать ключевое слово или фразу и связать с этим указателем один или несколько разделов. Тем самым реализуется первый способ задания указателей на уровне справочного руководства.
Прежде чем создавать указатели, следует провести предварительную работу, проанализировать тексты разделов справки, выделить некоторое множество ключевых слов и фраз для каждого из разделов. Так я и поступил, после чего приступил к технической работе по созданию множества индексов. Вот как выглядит среда HHW в процессе создания индексов:
(рис 8.12) Создание индексов при открытой вкладке IndexПри создании очередного указателя появляется окно, в котором можно задать ключевое слово или целую фразу:
(рис 8.13) Задание ключевой фразыПосле задания ключевой фразы обычно нажимается
(рис 8.14) Связывание индекса с разделом справочного руководстваСледуя этой интуитивно понятной и достаточно простой технологии, я создал некоторое множество указателей нашей справочной системы. Заново перекомпилировав проект, я получил справочное руководство, в котором возможен поиск тем по индексам. Вот как теперь выглядит наша справочная система:
(рис 8.15) Указатели в справочном руководстве "Справка о справке" В нашем руководстве появилась наряду с вкладкой "Содержание" еще одна вкладка "Указатель". Стоит только в окне ввода начать печатать ключевую фразу, как списке указателей выбирается ближайший указатель, совпадающий с началом печатаемой фразы. Выбрав требуемый указатель из списка, достаточно нажать командную кнопку "Показать", чтобы открылся требуемый раздел руководства. Если указателю соответствует несколько разделов, то будет предложен список со всеми возможными разделами, из которого и предстоит сделать окончательный выбор:
(рис 8.16) Выбор разделаХочу еще раз отметить достоинство предлагаемого инструментария, - справочное руководство, построенное с его помощью, имеет интерфейс, хорошо знакомый пользователям, привыкшим работать в среде Office 2000.
Также как достаточно просто добавить новое содержание в справочное руководство, изменить его оглавление, также просто модифицировать индексный файл в процессе работы со справочником. Этим мы сейчас и займемся, добавив новые индексы. Чтобы задача была более интересной, мы будем добавлять индексы вторым способом, работая непосредственно с конкретным разделом. Хотя и первый способ создания указателей хорош, и модификацию индексного файла можно проводить аналогично процессу его первоначального создания, но иногда разумно на этом этапе работать с каждым отдельным файлом. Следует также отметить, что второй способ применяется всегда, когда в разделы справочного руководства вставляются ссылки специального типа, так называемые Klinks (Key Links). Эти ссылки позволяют легко переходить из одного раздела в другой. Но поскольку и гиперссылки выполняют эту же работу, то я не буду останавливаться на подробном изложении сути ссылок типа Klinks.
Отмечу еще одно важное обстоятельство, связанное с этим способом создания указателей. Когда в раздел добавляются ключевые слова, то в HTML - текст этого раздела автоматически вставляется новый тег Object, параметры которого и перечисляют все добавляемые ключевые слова. Это и позволяет компилятору на этапе компиляции выбрать эти слова и дополнить индексный файл, а также организовать переходы по ссылкам Klinks.
Рассмотрим действия, которые необходимо предпринять, чтобы задать указатели таким способом:
(рис 8.17) Включение нового свойства проекта
(рис 8.18) Добавление ключевых слов в HTML -файле раздела
(рис 8.19) HTML-код раздела с добавленным тегом ObjectВ заключение взгляните на обновленное справочное руководство, где в списке указателей можно увидеть вновь добавленные ключевые слова - "Internet" и "Нахождение справки в Internet".
(рис 8.20) "Справка о справке" с модифицированным множеством указателейНа этом завершается рассказ о добавлении указателей в справочное руководство.
В сравнении с поиском по указателям
Инструментарий HHW дает возможность предложить пользователям справочного руководства всю мощь полнотекстового поиска. Более того, есть возможность выбрать один из двух вариантов полнотекстового поиска - базовый или расширенный. В базовом варианте поиск ведется на точное соответствие слов или фраз. В расширенном варианте реализован поиск по образцу, выражение, задающее образец, может включать специальные символы, применяемые в таких случаях, например "?", заменяющий любой символ, или "*", заменяющий любую последовательность символов. В расширенном варианте появляются и другие возможности, которые мы рассмотрим чуть позже. Сейчас же упомяну, что в случае большого справочного руководства можно ограничить поиск, задав специальный ограничительный список слов (full-text search stop list). В этот список, обычно, включаются общеупотребительные слова, которые вряд ли являются предметом поиска.
Рассмотрим, как можно включить два варианта поиска - базовый и расширенный.
Базовый вариант поиска включается совсем просто. В уже упоминавшемся окне свойств проекта следует выбрать вкладку Compiler и включить флажок "compile full-text search information". После компиляции в справочное руководство добавится новая вкладка "Поиск". Пользователь, выбравший эту вкладку, сможет задавать слово или фразу для поиска, и система найдет все разделы, в тексте которых содержится искомая фраза. В процессе поиска, правда, не будут доступны те возможности, которыми обладает расширенный
Расширенный вариант поиска включается также достаточно просто. Здесь есть одна тонкость. Это свойство устанавливается не как свойство проекта, а как свойство окна справки, в котором отображается справочная система. Возможность определения в системе HHW окна справки - окна, в котором отображается справочное руководство и контекстные справки, это отдельная тема. Пока, не вдаваясь в детали, скажу только, как можно включить расширенный поиск. При выбранной вкладке "Project" нужно щелкнуть кнопку
(Add/Modify window definitions), расположенную на левой
(рис 8.21) Включение расширенного полнотекстового поиска и папки "Избранное"Находясь в этом окне, есть смысл включить и еще один флажок "Favorites tab", задающий папку "Избранное". Тогда окно справки получит еще одно дополнительное свойство - оно будет содержать вкладку "Избранное" и пользователь получить возможность работы с папкой, содержащей его любимые темы справочного руководства.
Добавив в проект новые свойства, как всегда, необходимо перекомпилировать проект и получить справочное руководство, в котором реализованы новые возможности поиска разделов.
Взгляните на рисунок, задающий окончательный вариант справочного руководства "Справка о справке".
(рис 8.22) Расширенный поиск в справочном руководствеВозможности расширенного поиска
Остановимся теперь на тех дополнительных возможностях, которыми обладает расширенный
На предыдущем рисунке можно видеть, что в качестве искомой фразы задано булево выражение "
Поисковая фраза может быть задана некоторым шаблоном, использующим специальные символы, обычно применяемые в подобных шаблонах. Если задать в качестве образца поиска "Редак*", то будут найдены все слова, начинающиеся с "Редак", - "Редакция", "Редактором" и другие. Заметьте, что при поиске имеет значение регистр (большие или малые буквы).
В окне поиска можно включить три флажка, - они видны на рисунке. Один из флажков включается по умолчанию, остальные два позволяют ограничить область поиска результатами предыдущего поиска или только заголовками, встречающимися в разделах справочного руководства.
Заметьте, что русский язык нормально воспринимается, как в текстах справочного руководства, так и в поисковых фразах.
Я уже рассказал о том, как включить в справочное руководство возможность работать с папкой "Избранное". В эту папку обычно помещают часто используемые разделы. Работать с ней очень удобно при больших руководствах и наличии любимых тем.
Несмотря на то, что рассмотрены далеко не все возможности инструментария Microsoft HTML Help, поставленная цель достигнута, - пройдены все этапы создания справочного руководства, обладающего полным набором возможностей по поиску нужных разделов. В завершении рассказа остался последний штрих, играющий, впрочем, не малое значение. До сих пор вся демонстрация работоспособности справочного руководства выполнялась внутри самой системы. Осталось показать, как подключить справочное руководство к документу Office 2000, чтобы вызывать его так, как обычно вызывается Справка - нажатием кнопки или выбором пункта меню
В процессе создания справочного руководства возможно определение свойств, которыми должно обладать окно справки - окно, в котором будет отображаться справочное руководство и контекстные справки в тот момент, когда пользователь обратится за справкой. Конечно же, и пользователь, а точнее, приложение, вызывающее справку, в момент вызова может управлять характеристиками окна справки. Давайте посмотрим, что можно делать в среде HTML Help
Первое знакомство с процессом создания этого окна у нас уже состоялось, когда я рассказывал, как включить в справочное руководство
Я напомню, для того чтобы дать собственное определение окна справки и задать его свойства необходимо на вкладке "Project" щелкнуть кнопку
(Add/Modify window definitions), расположенную на левой
(рис 8.23) Определение свойств окна справкиЭто же окно, открытое на вкладке "Navigation Pane", ранее было показано на рис. 21. Всего вкладок 7 и каждая из них позволяет определить те или иные свойства окна. Перечислим эти вкладки и дадим их краткие характеристики:
Ранее уже говорилось, что в состав Microsoft HTML Help входит HTML Help executable program (hh.exe) - программа, предназначенная для запуска и выполнения справочного руководства, представленного в виде скомпилированного chm - файла. Хотя есть и другие возможности, но проще всего использовать именно эту программу для организации вызова созданного и откомпилированного справочного руководства. Взгляните на тестовый документ, в котором наш справочник вызывается по щелчку специально созданной командной кнопки:
(рис 8.24) Тестовый документ, вызывающий "Справку о справке"Макрос, вызываемый в ответ на щелчок командной кнопки, достаточно прост. Вот его текст:
Public Sub CallHelp()
Dim Path As String, Name As String, FullPath As String
Dim Res As Double
Path = "E:\O2000\Book2\Cd\ChCreateHelp\"
Name = "Справка о справке.chm"
FullPath = Path Name
'Вызов программы HH.exe, запускающей справочное руководство,
'представленного в виде скомпилированного chm - файла.
'Путь к файлу передается в виде параметра программе HH.exe
Res = Shell("hh.exe " FullPath, vbNormalFocus)
End Sub
Инструментарий Microsoft HTML Help позволяет достаточно просто создать справочное руководство. Это руководство может быть частью программной системы (системы документов Office 2000), разработанной программистом. Это может быть и независимый справочник, позволяющий структурировать и объединить в одно целое множество разрозненных документов.
Каждый из разделов справочника хранится, как файл в формате HTML и может быть создан в любом Редакторе, работающим с таким форматом. Благодаря такому представлению, разделы справочника получают новые свойства, например, могут быть интерактивными.
Инструментарий HTML Help
Справочное руководство представляется в виде скомпилированного chm-файла или может быть развернуто на Web-узле. Специальная программа - hh.exe позволяет открыть справочное руководство и работать с ним.
Сколь бы хороша по своим функциональным возможностям не была бы система, созданная программистом, ее нельзя будет назвать совершенной, если у нее не будет хорошей справочной подсистемы. Трудно переоценить значение хорошего описания. Спецификации, поставляемые в справочном руководстве, играют важнейшую роль в освоении сложных программных систем. К сожалению, почти никогда не бывает, чтобы сложная система выполняла все свои функции безошибочно, точнее сказать, должным образом реагировала на все возможные действия пользователя. Пользователям (но не разработчикам) следует признать, что идеальных систем не бывает и принимать это как должное. Для них важнее знать спецификации системы, которые бы точно описывали, при каких условиях система функционирует без ошибок, и здесь хорошая справочная система незаменима. Важным достоинством системы Office 2000 является то, что в ней собственной справочной системе уделено большое внимание. Не менее важно, что в Office 2000 входят разнообразные инструментальные средства, позволяющие при создании собственных офисных решений, предназначенных для решения задач пользователя, создать для такого решения справочную подсистему по образцу и подобию справочной системы Office 2000. Создание такой справочной подсистемы предполагает разработку:
Answer Wizard, для того чтобы использовать Office Assistant и формулировать запрос на поиск в справочной системе на естественном языке, как это делается в самом Office 2000.InputBox, в диалоговом окне которых предусмотрена специальная кнопка Help. Справку, поясняющую ситуацию, следует выдавать при возникновении исключительных ситуаций, возбуждаемых методом Raise, при работе объекта Err и в других случаях.Таким образом, можно видеть, что справочная подсистема многообразна и создание ее дело совсем не простое. Тем не менее, попробуем во всем этом разобраться и начнем с создания руководства по системе.
Замечу, что создание справочного руководства может быть вполне самостоятельной задачей, не связанной с разработкой конкретной программной системы. Справочники полезны и сами по себе.
Инструментальная поддержка создания справочного руководства была предусмотрена еще в предыдущей версии Office 97 и позволяла построить систему Windows Help файлов, имеющих уточнение ".hlp". Специальный инструментарий WinHelp позволял строить такие файлы. В Office 2000 произошло серьезное изменение принципов построения справочной системы. Это касается как собственной справочной системы Office 2000, так и инструментария, создающего справочную систему для офисных решений. Эти изменения отражают общую тенденцию работы с офисными документами - миграцию в Интернет и переход к хранению документов, в том числе и справочного руководства в формате HTML.
Инструментарий Microsoft HTML Help - новое поколение авторизованных справочных систем позволяет построить справочное руководство, страницы которого обладают всеми возможностями Web-страниц. Такое руководство по системе офисных документов, разработанных программистом, может быть частью этой системы и поставляться вместе с ней, также как система справки по Office 2000 является частью этой системы. Есть и другая возможность, - развернуть справочное руководство на Web-узле корпоративной сети.
Разделы справочного руководства создаются как отдельные HTML - файлы и могут быть созданы в любом Редакторе, позволяющем работать с таким форматом, например, в Word или FrontPage. Подобный Редактор входит и в состав специального инструментального средства, используемого для создания справочных руководств, - HTML Help
Перечислим инструментальные средства, составляющие Microsoft HTML Help и используемые при создании справочного руководства:
Рассмотрим более подробно возможности HTML Help
Типы файлов, появляющиеся в проекте, зависят, конечно, от того, какие средства используются в разделах справки, от возможностей, какими будет обладать система и от того, в каком виде она будет представлена - скомпилированном файле или Web-узле. Чаще всего, в проект включаются файлы следующих типов:
В справочную систему можно также включить средства, позволяющие получать справки и тем пользователям, у которых нарушены те или иные функции, например, слух или зрение.
Основой справочной системы являются разделы, описывающие те или иные темы. Как уже говорилось, каждый раздел оформляется в виде отдельного HTML-файла, представляя по существу отдельную Web-страницу. Следовательно, предоставляется большой простор при создании раздела справки, поскольку здесь можно применять весь дизайн Web-страниц. Заметьте, поскольку разделы являются Web-страницами, то всю справочную систему совершенно естественно рассматривать в виде Web-узла. Это особенно удобно в тех случаях, когда разрабатываемая система предназначена для коллективной работы пользователей и доступна для работы в корпоративных сетях
Добавление индексов в справочную систему является одним из наиболее важных способов быстрого доступа к разделам справочной системы, позволяя найти нужный раздел или совокупность разделов по заданному индексу. Зачастую такой способ более приемлем, чем поиск по содержанию или
Включение в справочную систему оглавления или, используя более формальный термин, таблицы содержания представляется почти обязательным условием любого справочного руководства. Оглавление позволяет придать руководству определенную структуру. При хорошо продуманной структуре и заголовках разделов оглавление позволяет достаточно просто найти нужный раздел и, что немаловажно, окружающий его контекст. При написании руководства оглавление полезно составлять еще до того, как будут созданы разделы руководства. Более того, уже на этом этапе создается иерархическая структура оглавления руководства, - части, главы, параграфы руководства.
В системе HTML Help
Теперь, когда получено общее представление об инструменте HTML Help
Все средства, входящие в состав HTML Help
Частью HTML Help
Разделы руководства являются основными терминальными элементами справочной системы. При работе в HTML Help
Прежде, чем создавать разделы, идеологически правильно создать оглавление руководства. Однако технология работы с системой HHW предполагает первоначальное создание разделов, поскольку при создании пунктов оглавления необходимо сразу связывать их с уже существующими файлами разделов. Тем не менее, давайте танцевать от печки. Вот как выглядит спроектированное мной оглавление (таблица содержания) нашей будущей справочной системы:
Microsoft HTML Help Введение Создание справочного руководства Разделы Поиск Разное Рисунки Ссылки Answer Wizard Вопросы и Office Assistant
Я постарался отобразить в этом тексте иерархическую структуру оглавления. В нем присутствуют два типа элементов - книги и страницы. С каждой книгой и страницей связан отдельный раздел - соответствующий HTML -файл. Книги отличаются тем, что в них могут быть вложены другие книги, о чем уже говорилось ранее. В приведенном выше тексте названия книг выделены жирным шрифтом, курсивом - названия страниц. В соответствии с этим планом наше руководство будет состоять из 10 разделов, составляющих на верхнем уровне две книги - "Microsoft HTML Help" и "Answer Wizard". В первую из этих книг, в свою очередь, вложены еще две книги.
Понимая, как выглядит оглавление, можно приступить к созданию соответствующих разделов. Для создания разделов справки я использовал в качестве основного инструмента FrontPage. Но поскольку большую часть содержания этих разделов составляли материалы этой лекции, то я просто копировал тексты Word, перенося их на Web-страницу, создаваемую в приложении FrontPage. Я не буду приводить детали этого процесса, отмечу лишь, что все файлы, соответствующие спроектированным разделам справочного руководства, были созданы и записаны в один каталог. В этом каталоге будет накапливаться вся информация, необходимая для построения руководства. Этот же каталог и будет содержать будущий проект и скомпилированный файл, созданный инструментарием HTML Help
Замечу, что при построении разделов справки никаких особых средств не использовалось, - заголовки, абзацы, гиперссылки и списки - вот, пожалуй, и все используемые элементы. Исключение составляют два раздела - "Рисунки" и "Ссылки". В первый из этих разделов я включил рисунки различных форматов, во второй - различные ссылки. Но об этих разделах и используемых в них элементах я скажу позже чуть подробнее.
Теперь, когда созданы разделы справочного руководства, можно приступить и к созданию файла, хранящего таблицу содержания (оглавление) нашего руководства. До этого этапа сама система HTML Help
(рис 8.1) Начальный шаг в процессе создания оглавления справочного руководстваДля создания таблицы содержания открывается соответствующее диалоговое окно:

В этом окне главное меню системы осталось без изменения, но слева появилась
(рис 8.2) показывает свойства таблицы содержания. Еще две кнопки
и
позволяют соответственно редактировать элемент оглавления или удалить его. Главную функциональную роль играют две кнопки -"heading" и "page". На первой изображен значок папки -
, на второй - страницы
Эти кнопки задают два уже упоминавшихся типа элементов оглавления - книг и страниц. Если на очередном этапе создания оглавления мы хотим задать книгу, в которой будут располагаться страницы и, возможно, другие книги, то выбирается кнопка "heading", в противном случае - "page".
Если щелкнуть по верхней кнопке и открыть окно свойств, то там можно, в частности, сменить значок папки на значок книги или использовать собственные образы для кнопок книг и страниц. Можно, например, иметь несколько образов для кнопок, задающих страницы, чтобы по виду кнопки можно было отличать типы страниц, используемых в руководстве. Но мы не будем заниматься этими украшениями.
В следующей серии диалоговых окон, которые появляются при выборе любой из кнопок, - Heading или Page, можно задать название пункта оглавления и связать его с ранее созданным файлом раздела. Вот как выглядит первое из этих окон, когда задано имя пункта оглавления и связано с ним имя файла раздела:
(рис 8.3) Связывание пункта оглавления с файлом, содержащим соответствующий раздел руководства.Повторив этот процесс нужное число раз, я создал таблицу содержания в соответствии с намеченным планом. По ходу дела для расположения пунктов оглавления на желаемых уровнях иерархии пришлось воспользоваться еще несколькими кнопками
В случае, когда предполагается получать контекстные справки по тем или иным разделам, необходимо выполнить дополнительную работу. Суть этой работы состоит в том, что в справочное руководство включаются еще два раздела - MAP и ALIAS, позволяющие с каждым разделом связать числовой и символьный идентификатор. Техника вызова конкретного раздела справочного руководства, основанная на знании, прежде всего, числового идентификатора - HelpContextID - широко используется в работе с документами Office 2000. Эти вопросы будут подробно обсуждаться в следующей лекции. Сейчас же отмечу, что в тех случаях, когда справочное руководство вызывается, как единое целое, создание этих разделов не является обязательным.
Можно начинать создавать проект на пустом месте, когда никаких компонент еще нет. Но можно поступить так, как сделал я в данном примере, приступая к созданию файла проекта, когда значительная часть информации, необходимая в проекте, уже создана. Для создания файла проекта, также как и для любых файлов, создаваемых в среде HHW, в меню File нужно выбрать пункт New, а затем в появившемся окне выбрать нужный тип создаваемого файла. Соответствующий Мастер ведет нас на всех этапах создания проекта. Вот как выглядит диалоговое окно на первом шаге работы Мастера:
(рис 8.4) Начальный шаг создания проекта "Справка о справке"На последующих шагах работы Мастера указывается, какие компоненты уже созданы и где они хранятся. Я не буду останавливаться на деталях этого процесса, интерфейс на каждом шаге достаточно понятен и соответствует интуитивным представлениям. В моем случае я сообщил Мастеру, что уже созданы файлы разделов и файл с таблицей содержания, указал также место их хранения, так что все эти файлы автоматически были подключены к проекту. Замечу, что, конечно же, и после построения проекта в любое время можно вводить новые разделы и модифицировать оглавление. После того, как Мастер завершил создание проекта, следует выполнить компиляцию проекта, что я и сделал. Взгляните, как выглядит HHW после завершения компиляции проекта.
(рис 8.5) Результат компиляции проекта "Справка о справке"В левом окне отображаются данные о проекте, в правом - о результатах компиляции. В нашем случае никаких сообщений об ошибках компиляции не было, но сами понимаете, такие сообщения могут появляться. Указано время компиляции (3 секунды) и другая полезная статистика, в частности, число разделов, число локальных гиперссылок и ссылок Интернет, объем файла до и после сжатия. Замечу, что неверно подсчитывается число рисунков, встречающихся в разделах справочного руководства.
Теперь первый вариант задуманного нами справочного руководства создан, - он хранится в откомпилированном файле с уточнением ".chm". Его можно просмотреть его в специальном обозревателе HTML Help Viewer, который, как мы говорили, использует компоненты Internet Explorer, хотя и не совпадает с ним полностью. Просмотреть справочное руководство непосредственно в HHW можно двояко, либо щелкнув по кнопке
, расположенной на
Пришла пора взглянуть на то, как выглядит созданное справочное руководство:
(рис 8.6) Справочное руководство "Справка о справке" и его оглавлениеКак видите, интерфейс справочного руководства выглядит вполне привычно для пользователей Office 2000 и напоминает справочную подсистему приложений Office. В левом окне показано оглавление, которое в данном случае полностью раскрыто и соответствует спроектированному нами плану. В правом окне отображается раздел, соответствующий выбранному пункту оглавления. В тексте раздела видны гиперссылки, которые позволяют организовать переходы из раздела в раздел или при необходимости начать бродить по сети Интернет, что также возможно. Но давайте поговорим об этом подробнее.
Несомненным преимуществом создаваемого справочного руководства является то, что разделы справки создаются как HTML - файлы и, следовательно, обладают всеми возможностями Web-страниц. В частности, это могут быть активные страницы, использующие возможности DHTML и элементов ActiveX. В нашем примере я не стал использовать весь набор возможных средств, ограничившись исследованием двух элементов, наиболее часто используемых в справках, - рисунках и ссылках.
Рисунки способствуют пониманию сложных понятий и потому часто используются в справочных системах. В разделе "Рисунки" показано отображение рисунков, представленных пятью наиболее употребительными графическими форматами -
(рис 8.7) Отображение рисунков в справочной системеХотя, как видите, рисунки разных форматов отображаются без проблем, но хочу напомнить, что многое зависит и от того, в каком Редакторе создан файл с рисунками. Вначале я создал файл с рисунками в приложении Word. Этот файл без проблем отображался в Internet Explorer, однако Viewer системы HHW не отображал рисунки, поскольку не понимал тегов, созданных в приложении Word. Напомню, что в этом приложении рисунки помещаются в коллекцию Shapes и им не соответствуют теги Image. Никаких проблем с рисунками не возникает, если соответствующий раздел подготовлен в приложении FrontPage, возможно, путем копирования соответствующего документа Word.
Поговорим теперь о ссылках - еще одном важном элементе разделов справочной системы. В хорошей справочной системе разделы связаны ссылками, так что, зацепившись за один раздел, можно пройти по цепочке связанных разделов, получив всю нужную информацию. Нет никаких проблем создания гиперссылок в том же Редакторе FrontPage. Источником ссылки (якорем) может быть любое слово, фраза или рисунок, а целью (URL) может быть имя файла, задающего раздел справочной системы или адрес в Internet. Заметьте, что в приложении FrontPage можно указать адрес любого файла, но в справочной системе будут правильно работать ссылки только на разделы этой системы. В нашем примере гиперссылки появляются в нескольких разделах, что позволяет переходить из раздела в раздел. Большинство ссылок сосредоточено в разделе "Ссылки":
(рис 8.8) Раздел "Ссылки" справочного руководстваЗдесь есть различные ссылки, как локальные - на разделы справочной системы, так и глобальные, в частности, на домашнюю страницу Microsoft. В качестве якорей используются как фразы, так и рисунок совы, вставленный в раздел. Взгляните, как работает ссылка на страницу Microsoft:
(рис 8.9) Выход в Internet из справочной системыТаким образом, можно существенно расширить возможности справочной системы, поскольку не найдя нужной информации в ее разделах, можно перейти в Internet и попытаться найти там нужные сведения, например, на соответствующем узле Microsoft. Заметьте, что страницы Internet отображаются в окне справочной системы, что означает, что они просматриваются с помощью Viewer, а не Internet Explorer.
Хочу обратить внимание на одну важную особенность Viewer, - все-таки его возможности ограничены в сравнении с Internet Explorer. Он, в частности, не понимает русского языка и потому нельзя использовать в гиперссылках русские имена файлов. Так что есть серьезное ограничение - имена файлов, задающих разделы справочного руководства, должны быть в латинице, чтобы не было проблем со ссылками на эти разделы.
Оглавление играет важную роль в справочном руководстве, - это некоторый способ структурирования информации. Однако понятно, что одну и ту же информацию можно структурировать по-разному. Поэтому, создавая таблицу содержания, в нее можно включить на верхнем уровне несколько книг, каждая из которых будет отражать свой способ структуризации справочного руководства, например, по темам, по годам, по алфавиту, играя в последнем случае роль предметного указателя. Заметьте, что во всех этих представлениях могут использоваться одни и те же разделы, помешенные на разные уровни иерархии.
Чтобы выполнить намеченные модификации, потребовалось создать новый HTML-файл с разделом, описывающим суть новой книги, а затем в среде HHW добавить в проект этот файл и модифицировать оглавление руководства. Как и ранее, файл был создан в среде FrontPage, простым копированием части текста данного параграфа. Созданный файл с именем "New View " был сохранен в каталоге нашего проекта. Перейдя затем в среду HHW, я добавил этот файл в проект. Для этого на вкладке "Project" есть специальная кнопка
, щелчок по которой открывает окно, в котором в проект можно добавлять и удалять файлы разделов:

Для модификации таблицы содержания в среде HHW необходимо перейти от вкладки "Project" к вкладке "Contents" и уже по знакомому нам сценарию добавить в таблицу содержания новую книгу с двумя страницами. Вся операция занимает не более минуты. После чего остается щелкнуть по кнопке со значком мясорубки
(рис 8.10) , запускающей компиляцию проекта, и наши изменения будут реализованы. Вот что из этого получилось
(рис 8.11) Справочное руководство "Справка о справке" после модификации
Проблема поиска нужной информации в ворохе существующих документов является одной из центральных проблем, стоящих перед программистами. Microsoft многое сделала для ее решения на серверной стороне, когда структурированные или неструктурированные данные хранятся в хранилищах данных MS SQL Server или Web Store в Exchange Server. Специальные средства Index Server позволяют проводить индексацию хранящейся информации. Но, как видите, многое можно сделать и на клиентской стороне. Инструментарий HHW позволяет структурировать множество файлов, организовать их в виде справочного руководства и использовать различные средства поиска нужной информации.
Одним из наиболее эффективных методов поиска нужного раздела является поиск по индексу или указателю. Индексы (указатели) представляют собой ключевые слова (фразы), связанные с названиями разделов справочного руководства. С каждым разделом может быть связано некоторое множество указателей. С другой стороны одно и то же ключевое слово может быть использовано в качестве указателя на разные разделы.
Существуют, конечно, способы автоматического создания множества индексов путем анализа текста раздела. В системе HHW индексы создаются вручную. В таком подходе есть свои плюсы и минусы. Недостаток понятен - необходимо проделать большой объем работы, чтобы создать приемлемый индексный файл. Но понятны и достоинства такого подхода - специалист, хорошо знающий систему и представляющий пользователей этой системы может создать такое множество индексов, которое позволит быстро находить информацию в руководстве пользователям с разным уровнем подготовки. Заметим, что файл индексов может периодически пополняться в процессе работы со справочной системой, за счет учета опыта работы пользователей и использования наиболее часто задаваемых вопросов.
Давайте перейдем к детальному рассмотрению того, как создается файл индексов в среде HHW. Здесь есть две возможности:
Вне нашего рассмотрения остается способ создания индексов в ситуации, когда справочное руководство создается в виде Web-узла.
Начнем с того, что создадим пустой индексный файл, следуя обычной технологии создания файлов в среде HHW. Отметим, что среди возможных типов создаваемых файлов есть и тип "Index". Можно также щелкнуть вкладку Index, после чего появится диалоговое окно с предложением создать индексный файл, если он еще не был создан. Если щелкнуть нужные кнопки, указать имя индексного файла, то такой, пока пустой файл будет создан. В среде HHW будет открыта вкладка Index, и ее интерфейс во многом схож с интерфейсом вкладки Contents, открываемой при создании таблицы содержания. Почти все кнопки, появляющиеся на левой
. Если щелкнуть по ней, то появится серия диалоговых окон, позволяющая задать ключевое слово или фразу и связать с этим указателем один или несколько разделов. Тем самым реализуется первый способ задания указателей на уровне справочного руководства.
Прежде чем создавать указатели, следует провести предварительную работу, проанализировать тексты разделов справки, выделить некоторое множество ключевых слов и фраз для каждого из разделов. Так я и поступил, после чего приступил к технической работе по созданию множества индексов. Вот как выглядит среда HHW в процессе создания индексов:
(рис 8.12) Создание индексов при открытой вкладке IndexПри создании очередного указателя появляется окно, в котором можно задать ключевое слово или целую фразу:
(рис 8.13) Задание ключевой фразыПосле задания ключевой фразы обычно нажимается
(рис 8.14) Связывание индекса с разделом справочного руководстваСледуя этой интуитивно понятной и достаточно простой технологии, я создал некоторое множество указателей нашей справочной системы. Заново перекомпилировав проект, я получил справочное руководство, в котором возможен поиск тем по индексам. Вот как теперь выглядит наша справочная система:
(рис 8.15) Указатели в справочном руководстве "Справка о справке" В нашем руководстве появилась наряду с вкладкой "Содержание" еще одна вкладка "Указатель". Стоит только в окне ввода начать печатать ключевую фразу, как списке указателей выбирается ближайший указатель, совпадающий с началом печатаемой фразы. Выбрав требуемый указатель из списка, достаточно нажать командную кнопку "Показать", чтобы открылся требуемый раздел руководства. Если указателю соответствует несколько разделов, то будет предложен список со всеми возможными разделами, из которого и предстоит сделать окончательный выбор:
(рис 8.16) Выбор разделаХочу еще раз отметить достоинство предлагаемого инструментария, - справочное руководство, построенное с его помощью, имеет интерфейс, хорошо знакомый пользователям, привыкшим работать в среде Office 2000.
Также как достаточно просто добавить новое содержание в справочное руководство, изменить его оглавление, также просто модифицировать индексный файл в процессе работы со справочником. Этим мы сейчас и займемся, добавив новые индексы. Чтобы задача была более интересной, мы будем добавлять индексы вторым способом, работая непосредственно с конкретным разделом. Хотя и первый способ создания указателей хорош, и модификацию индексного файла можно проводить аналогично процессу его первоначального создания, но иногда разумно на этом этапе работать с каждым отдельным файлом. Следует также отметить, что второй способ применяется всегда, когда в разделы справочного руководства вставляются ссылки специального типа, так называемые Klinks (Key Links). Эти ссылки позволяют легко переходить из одного раздела в другой. Но поскольку и гиперссылки выполняют эту же работу, то я не буду останавливаться на подробном изложении сути ссылок типа Klinks.
Отмечу еще одно важное обстоятельство, связанное с этим способом создания указателей. Когда в раздел добавляются ключевые слова, то в HTML - текст этого раздела автоматически вставляется новый тег Object, параметры которого и перечисляют все добавляемые ключевые слова. Это и позволяет компилятору на этапе компиляции выбрать эти слова и дополнить индексный файл, а также организовать переходы по ссылкам Klinks.
Рассмотрим действия, которые необходимо предпринять, чтобы задать указатели таким способом:
(рис 8.17) Включение нового свойства проекта
(рис 8.18) Добавление ключевых слов в HTML -файле раздела
(рис 8.19) HTML-код раздела с добавленным тегом ObjectВ заключение взгляните на обновленное справочное руководство, где в списке указателей можно увидеть вновь добавленные ключевые слова - "Internet" и "Нахождение справки в Internet".
(рис 8.20) "Справка о справке" с модифицированным множеством указателейНа этом завершается рассказ о добавлении указателей в справочное руководство.
В сравнении с поиском по указателям
Инструментарий HHW дает возможность предложить пользователям справочного руководства всю мощь полнотекстового поиска. Более того, есть возможность выбрать один из двух вариантов полнотекстового поиска - базовый или расширенный. В базовом варианте поиск ведется на точное соответствие слов или фраз. В расширенном варианте реализован поиск по образцу, выражение, задающее образец, может включать специальные символы, применяемые в таких случаях, например "?", заменяющий любой символ, или "*", заменяющий любую последовательность символов. В расширенном варианте появляются и другие возможности, которые мы рассмотрим чуть позже. Сейчас же упомяну, что в случае большого справочного руководства можно ограничить поиск, задав специальный ограничительный список слов (full-text search stop list). В этот список, обычно, включаются общеупотребительные слова, которые вряд ли являются предметом поиска.
Рассмотрим, как можно включить два варианта поиска - базовый и расширенный.
Базовый вариант поиска включается совсем просто. В уже упоминавшемся окне свойств проекта следует выбрать вкладку Compiler и включить флажок "compile full-text search information". После компиляции в справочное руководство добавится новая вкладка "Поиск". Пользователь, выбравший эту вкладку, сможет задавать слово или фразу для поиска, и система найдет все разделы, в тексте которых содержится искомая фраза. В процессе поиска, правда, не будут доступны те возможности, которыми обладает расширенный
Расширенный вариант поиска включается также достаточно просто. Здесь есть одна тонкость. Это свойство устанавливается не как свойство проекта, а как свойство окна справки, в котором отображается справочная система. Возможность определения в системе HHW окна справки - окна, в котором отображается справочное руководство и контекстные справки, это отдельная тема. Пока, не вдаваясь в детали, скажу только, как можно включить расширенный поиск. При выбранной вкладке "Project" нужно щелкнуть кнопку
(Add/Modify window definitions), расположенную на левой
(рис 8.21) Включение расширенного полнотекстового поиска и папки "Избранное"Находясь в этом окне, есть смысл включить и еще один флажок "Favorites tab", задающий папку "Избранное". Тогда окно справки получит еще одно дополнительное свойство - оно будет содержать вкладку "Избранное" и пользователь получить возможность работы с папкой, содержащей его любимые темы справочного руководства.
Добавив в проект новые свойства, как всегда, необходимо перекомпилировать проект и получить справочное руководство, в котором реализованы новые возможности поиска разделов.
Взгляните на рисунок, задающий окончательный вариант справочного руководства "Справка о справке".
(рис 8.22) Расширенный поиск в справочном руководствеВозможности расширенного поиска
Остановимся теперь на тех дополнительных возможностях, которыми обладает расширенный
На предыдущем рисунке можно видеть, что в качестве искомой фразы задано булево выражение "
Поисковая фраза может быть задана некоторым шаблоном, использующим специальные символы, обычно применяемые в подобных шаблонах. Если задать в качестве образца поиска "Редак*", то будут найдены все слова, начинающиеся с "Редак", - "Редакция", "Редактором" и другие. Заметьте, что при поиске имеет значение регистр (большие или малые буквы).
В окне поиска можно включить три флажка, - они видны на рисунке. Один из флажков включается по умолчанию, остальные два позволяют ограничить область поиска результатами предыдущего поиска или только заголовками, встречающимися в разделах справочного руководства.
Заметьте, что русский язык нормально воспринимается, как в текстах справочного руководства, так и в поисковых фразах.
Я уже рассказал о том, как включить в справочное руководство возможность работать с папкой "Избранное". В эту папку обычно помещают часто используемые разделы. Работать с ней очень удобно при больших руководствах и наличии любимых тем.
Несмотря на то, что рассмотрены далеко не все возможности инструментария Microsoft HTML Help, поставленная цель достигнута, - пройдены все этапы создания справочного руководства, обладающего полным набором возможностей по поиску нужных разделов. В завершении рассказа остался последний штрих, играющий, впрочем, не малое значение. До сих пор вся демонстрация работоспособности справочного руководства выполнялась внутри самой системы. Осталось показать, как подключить справочное руководство к документу Office 2000, чтобы вызывать его так, как обычно вызывается Справка - нажатием кнопки или выбором пункта меню
В процессе создания справочного руководства возможно определение свойств, которыми должно обладать окно справки - окно, в котором будет отображаться справочное руководство и контекстные справки в тот момент, когда пользователь обратится за справкой. Конечно же, и пользователь, а точнее, приложение, вызывающее справку, в момент вызова может управлять характеристиками окна справки. Давайте посмотрим, что можно делать в среде HTML Help
Первое знакомство с процессом создания этого окна у нас уже состоялось, когда я рассказывал, как включить в справочное руководство
Я напомню, для того чтобы дать собственное определение окна справки и задать его свойства необходимо на вкладке "Project" щелкнуть кнопку
(Add/Modify window definitions), расположенную на левой
(рис 8.23) Определение свойств окна справкиЭто же окно, открытое на вкладке "Navigation Pane", ранее было показано на рис. 21. Всего вкладок 7 и каждая из них позволяет определить те или иные свойства окна. Перечислим эти вкладки и дадим их краткие характеристики:
Ранее уже говорилось, что в состав Microsoft HTML Help входит HTML Help executable program (hh.exe) - программа, предназначенная для запуска и выполнения справочного руководства, представленного в виде скомпилированного chm - файла. Хотя есть и другие возможности, но проще всего использовать именно эту программу для организации вызова созданного и откомпилированного справочного руководства. Взгляните на тестовый документ, в котором наш справочник вызывается по щелчку специально созданной командной кнопки:
(рис 8.24) Тестовый документ, вызывающий "Справку о справке"Макрос, вызываемый в ответ на щелчок командной кнопки, достаточно прост. Вот его текст:
Public Sub CallHelp()
Dim Path As String, Name As String, FullPath As String
Dim Res As Double
Path = "E:\O2000\Book2\Cd\ChCreateHelp\"
Name = "Справка о справке.chm"
FullPath = Path Name
'Вызов программы HH.exe, запускающей справочное руководство,
'представленного в виде скомпилированного chm - файла.
'Путь к файлу передается в виде параметра программе HH.exe
Res = Shell("hh.exe " FullPath, vbNormalFocus)
End Sub
Инструментарий Microsoft HTML Help позволяет достаточно просто создать справочное руководство. Это руководство может быть частью программной системы (системы документов Office 2000), разработанной программистом. Это может быть и независимый справочник, позволяющий структурировать и объединить в одно целое множество разрозненных документов.
Каждый из разделов справочника хранится, как файл в формате HTML и может быть создан в любом Редакторе, работающим с таким форматом. Благодаря такому представлению, разделы справочника получают новые свойства, например, могут быть интерактивными.
Инструментарий HTML Help
Справочное руководство представляется в виде скомпилированного chm-файла или может быть развернуто на Web-узле. Специальная программа - hh.exe позволяет открыть справочное руководство и работать с ним.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.