                           ГЛАВА 1

             ПРЕДОСТАВЛЕНИЕ ПОМОЩИ: СИСТЕМА HELP

     Система Help обеспечивает пользователей интерактивной ин-
формацией о  программе.  Создание  системы  требует усилий как
разработчиков текстов Help,  так и программистов Help.  Разра-
ботчик текстов  Help  планирует,  пишет,  кодирует,  создает и
отслеживает Help тематические файлы,  которые являются тексто-
выми файлами, описывающими различные аспекты программы. Разра-
ботчик программы Help гарантирует,  что система Help правильно
работает с программой.
     В данной главе описываются следующие темы:
     - Создание системы Help
     - Как Help предоставляется пользователю
     - Как Help предоставляется разработчику текста Help
     - Как Help предоставляется программисту Help
     Эта и  последующие  главы предполагают,  что Вы знакомы с
Microsoft Windows Help.  Эти главы используют примеры из учеб-
ных программ (написанных на С и Pascal),  которые находятся на
Ваших дисках.  Если Вы не знакомы с Windows Help, выберите мо-
мент для прогона примеров программ и используйте Helpex Help.

       Создание системы Help : Цикл разработки программ

     Создание системы  Help для приложения Windows заключает в
себе следующие основные задачи:
     1. Сбор информации для тем Help.
     2. Планирование системы Help.
     В главе 2 "Планирование системы Help" описываются сообра-
жения, необходимые Вам при планировании системы Help.
     3. Написание текста для тем Help.
     4. Введение всех требуемых кодов управления  в  текстовые
файлы.
     Коды управления определяют,  как пользователь может пере-
мещаться по  системе Help.  В раздел,  озаглавленный "Как Help
представляется разработчику текста Help",  включен  пример  из
нескольких управляющих кодов. В главе 3 "Создание Help темати-
ческих файлов" эти коды описываются более подробно.
     5. Создание файла проекта для построения.
     Help файл проекта обеспечивает информацию,  которая необ-
ходима  Help  Compiler  для построения Help файла ресурсов.  В
главе 4 "Построение файла Help" описывается Help файл проекта.
     6. Построение Help файла ресурсов.
     Help файл ресурсов является компилированной версией тема-
тических файлов  создаваемых  разработчиком текста.  В главе 4
"Построение файла Help"  описывается  как  компилировать  Help
файл ресурсов.
     7. Тестирование и отладка системы Help.
     8. Программирование  приложения таким образом,  чтобы она
могла иметь доступ к Windows Help.
     Следующая блок  - схема показывает основной рабочий поток
в концепции  и разработке системы Help.

            Рисунок 1.1  Диаграмма рабочего потока
        ┌─────────────────────────────────────────────────┐
        │  Соберите данные программного продукта из:      │
        │  - Спецификации программного продукта           │
        │  - Руководства "Справочника команд" или         │
        │    "Справочника пользователя"                   │
        │  - Практической работы с программой             │
        │  - Разрабатываемого программного обеспечения    │
        └────────────────────────┬────────────────────────┘
                                 │
        ┌────────────────────────┴────────────────────────┐
        │ Перечислите темы и создайте контур Help         │
        └────────────────────────┬────────────────────────┘
                                 │
        ┌────────────────────────┴────────────────────────┐
        │  Напишите программу с возможность доступа       │
        │      к Help. Определите контекстно-             │
        │      чувствительные добавочные блоки.           │
        └────────────────────────┬────────────────────────┘
                                 │
        ┌────────────────────────┴────────────────────────┐
        │  Напишите и отредактируйте текстовые файлы.     │
        │  Введите управляющие коды для переходов и       │
        │  определений. Определите контекстные строки,    │
        │  заголовки, последовательные номера,            │
        │  ключевые слова и признаки построения.          │
        └────────────────────────┬────────────────────────┘
                                 │
        ┌────────────────────────┴────────────────────────┐
        │         Перенесите файлы на ПВМ                 │
        │           (если необходимо)                     │
        └────────────────────────┬────────────────────────┘
                                 │
        ┌────────────────────────┴────────────────────────┐
        │        Создайте Help файл проекта.              │
        │    Установите соответствие контекстно-          │
        │  чувствительных тем с контекстными номерами.    │
        │        Прогоните программу Build.               │
        └────────────────────────┬────────────────────────┘
                                 │
        ┌────────────────────────┴────────────────────────┐
        │         Испытайте систему Help.                 │
        │  Выполните отладку и повторное испытание.       │
        └─────────────────────────────────────────────────┘

            Как Help предоставляется пользователю

     Для пользователя система Help представляется частью прог-
раммы, которая создается из текста и графических  изображений,
выводимых в окне Help впереди программы.
     На рисунке 1.2 показано окно Help,  которое появляется на
экране когда  пользователь запрашивает подсказку при копирова-
нии текста в Helpex.
              Рисунок 1.2 Окно подсказки Helpex
 ╔═[■]════════════════════════════════════════════════[°][∙]═╗
 ║                       Help Example                        ║
 ║───────────────────────────────────────────────────────────║
 ║ File  Edit  Help                                          ║
 ║───────────────────────────────────────────────────────────║
 ║                                                           ║
 ║                                                           ║
 ║         ╔═[■]═════════════════════════════[°][∙]═╗        ║
 ║         ║     Help Example Help - helpex.hlp     °        ║
 ║         ║────────────────────────────────────────▒        ║
 ║         ║  File Edit Bookmark Help               ▒        ║
 ║         ║────────────────────────────────────────▒        ║
 ║         ║ Index Back Browse Browse Search        ▒        ║
 ║         ║────────────────────────────────────────▒        ║
 ║         ║Copying Text                            ■        ║
 ║         ║                                        ▒        ║
 ║         ║Это объясняет как копировать текст в и  ▒        ║
 ║         ║из clipboard.                           ▒        ║
 ║         ║(Эта тема связывается с ключевыми слова-▒        ║
 ║         ║ми "копировать" и "clipboard".)         ▒        ║
 ║         ║                                        ▒        ║
 ║         ║                                        ∙        ║
 ║         ╚<■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒>─┘        ║
 ║                                                           ║
 ║                                                           ║
 ╚══════════════════════════════════════════════════════════─┘
     Окно Help выводит на экран один пример темы Help, частич-
ное описание того,  как выполнить одну задачу.  На рисунке 1.2
первое предложение  включает определение слова "clipboard" (бу-
фер вырезанного изображения). Посредством нажатия кнопки мышки
в тот  момент,  когда  курсор  находится  на слове (выделенном
пунктирной линией), пользователь может прочитать определение в
накладываемом окне, которое остается на экране до тех пор, по-
ка нажата кнопка мышки.
     Перекрестные ссылки  на  соответствующие  темы называются
операциями перехода.Нажав на кнопку мышки,  чтобы выбрать тер-
мин перехода  для  соответствующей темы (отмеченной пунктирной
линией),пользователь изменяет содержание окна Help на описание
новой темы или команды.  Рисунок 1.2 включает просмотр опреде-
ления "clipboard".

       Как Help представляется разработчику текста Help

     Для разработчика текста система Help является группой те-
матических файлов, которые представляют собой текстовые файлы,
включающие особые коды. На рисунке 1.3 показан исходный текст,
который соответствует теме, показанной на рисунке 1.2.
                Рисунок 1.3 Тематический файл
╔═[■]════════════════════════════════════════════════[°][∙]═╗
║            Microsoft Word - \HELP\HELPEX.RTF              ║
║───────────────────────────────────────────────────────────║
║File Edit Help View Insert Format Macro Window         Help║
║───────────────────────────────────────────────────────────║
║   Font:                 Ptr:                              ║
║───────────────────────────────────────────────────────────║
║   Copying Text                                            ║
║                                                           ║
║   Это объясняет как копировать текст в и из clipboard.    ║
║   (Эта тема связывается с ключевыми словами "копировать" и║
║    "clipboard".)                                          ║
║───────────────────────────────────────────────────────────║
║   Deleting Text                                           ║
║                                                           ║
║   Это объясняет как удалить текст.(Эта тема связывается с ║
║   с ключевыми словами "копировать" и "clipboard".)        ║
║───────────────────────────────────────────────────────────║
║   Exiting                                                 ║
║                                                           ║
║   Это объясняет как выйти из HelpEx.                      ║
║                                                           ║
║                                                           ║
╚══════════════════════════════════════════════════════════─┘
     Для того,  чтобы раскрыть эту  тему,  разработчик  текста
Help описывает  задачу,  форматирует  текст  и вставляет коды,
использующие зачеркнутый и подчеркнутый  текст  и  подстрочные
примечания. Вместо   зачеркнутого   текста  разработчик  может
использовать двойное подчеркивание,  если текстовый  процессор
не выполняет  форматирование зачеркнутого текста.  Подстрочные
примечания в тексте содержат информацию о редактировании,  не-
обходимую для компилятора Help. В главе 2 "Планирование систе-
мы Help" обсуждаются проблемы форматирования.В главе 3 "Созда-
ние Help  тематических  файлов" описывается то,  как создаются
темы и вводятся особые коды, которые использует система Help.

          Как Help представляется программисту Help

     Для программиста  Windows  Help   автономной   программой
Windows, которую  пользователь  может  прогонять подобно любой
другой программе.  Ваша  программа   может   вызвать   функцию
WinHelp для  запроса Windows о выполнении программы Help и оп-
ределить какую тему вывести на дисплей в окно Help.
     Смотрите главу 4 "Построение файла Help",где дается более
подробная информация о программном интерфейсе Help программы.

                      Резюме

     Система Help создается из  тем,  связанных  через  гипер-
текст. Темы  и  связи  появляются на экране для пользователя в
другом виде, чем для разработчика текста в тематическом файле.
Для программиста Help является автономной программой.
     Для получения  дополнительной   информации   относительно
соответствующих тем, смотрите следующие главы:
     Тема                     Ссылка
   ────────────────────      ─────────────────────────────────
   Кодируемые в Help          Глава 3 "Создание Help
   темы                       тематических файлов"
   Компилирование файлов      Глава 4 "Построение файла Help"
   Help






