Формирование файла проекта справочной системы



Формирование файла проекта справочной системы

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



Создание справочной системы приложения



Глава 12. Создание справочной системы приложения

Строка состояния Использование диалоговых окон Создание справочной системы в формате WinHelp Темы справочной системы Ключи для поиска тем Пояснения к терминам Формирование файла проекта справочной системы Компиляция справочной системы Содержание справочной системы Создание справочной системы в формате HTML Окно HTML Help Workshop Определение параметров проекта справочной системы Определение псевдонимов тем Определение связи между псевдонимами и индексами тем Создание содержания справочной системы Создание ключей для поиска тем Компиляция и тестирование справочной системы Использование справочной системы в приложениях Команды Visual FoxPro для управления справочной системой Определение темы справочной системы для элементов управления Справка типа What's This?



HELP



HELP

Для вывода на экран содержания справочной системы или указанной темы в окне справочной системы предназначена команда help, имеющая следующий синтаксис:

HELP [идентификатор'Гемы | ID индексТемы]

[IN [WINDOW] имяОкна ! IN [WINDOW] SCREEN]

| IN [WINDOW] MACDESKTOP]

[NOWAIT]

Для вывода содержания справочной системы необходимо использовать команду help без указания имени темы. Если вы хотите отобразить контекстную справку, необходимо указать идентификатор темы или ее индекс. Опция in [window] позволяет открыть окно справочной системы внутри окна, описанного с помощью команды define window.

По умолчанию при вызове справочной системы приостанавливается выполнение программы, позволяя пользователю найти требуемую информацию. При использовании опции nowait после вывода справочной информации программа продолжает свое выполнение.

Использование диалоговых окон



Использование диалоговых окон

В процессе выполнения приложения осуществляются разнообразные проверки, например, проверка соответствия введенного в поле значения заданным условиям. Если в результате проверки окажется, что введенное значение не удовлетворяет требуемым условиям, необходимо об этом сообщить пользователю. Из текста сообщения должна быть ясна причина ошибки. Кроме того, текст должен содержать рекомендации по ее исправлению. Для вывода информационного сообщения вы можете воспользоваться функцией messagebox или создать собственную функцию. Рассмотрим описание функции messagebox и приведем пример ее использования.

Функция имеет следующий синтаксис:

MESSAGEBOX (текст-Сообщения [,типДиалоговогоОкна [,заголовок] ] )

Аргумент текстсообщения содержит текст выводимого сообщения. Длинное сообщение автоматически располагается на нескольких строках. Если сообщение состоит из нескольких предложений и вы хотите разбить его на абзацы, то используйте функцию chr(13) для формирования новой строки.

Аргумент типДиалоговогоОкна задает перечень кнопок и значков, которые будут отображаться в диалоговом окне. Данный аргумент является числовым и его значение определяется как сумма трех параметров: типа кнопок, типа значков и номера кнопки, выбранной по умолчанию. Возможные значения этих параметров приведены в табл. 12.1 —12.3.



Использование справочной системы в приложениях



Использование справочной системы в приложениях

Мы рассмотрели создание справочных систем двух типов. Однако обращение к ним из приложения, созданного в Visual FoxPro, осуществляется одинаково. Рассмотрим в данном разделе команды Visual FoxPro, управляющие выводом справочной информации, и свойства элементов управления, с помощью которых организуется связь с темами справочной системы.





Ключи для поиска тем



Ключи для поиска тем

При определении ключей необходимо иметь в виду следующее:

в качестве маркера сноски используется латинский символ к;

Команды Visual FoxPro для управления справочной системой



Команды Visual FoxPro для управления справочной системой

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



Компиляция и тестирование справочной системы



Компиляция и тестирование справочной системы

После того как вы подготовили проект справочной системы, его необходимо сохранить и скомпилировать. Используя кнопку Save project, contents and index files на панели инструментов вкладки Project (Проект), можно сохранять файлы проекта, содержания и указателя. Для компиляции созданного проекта нажмите кнопку Compile HTML file (Компилировать HTML-файл) панели инструментов HTML Help Workshop.

Чтобы просмотреть созданный файл справочной системы, нажмите кнопку View compiled file (Просмотр скомпилированного файла). Откроется окно, представленное на рис. 12.26.



Компиляция справочной системы



Компиляция справочной системы

После того как: описание тем справочной системы и файл проекта подготовлены, можно приступать к компиляции справочной системы. В результате будет создан файл справки, имеющий расширение HLP.

Для компиляции справочной системы в Visual FoxPro вы можете воспользоваться программой Help Workshop, выполнив следующие действия:

Запустите программу Help Workshop. Появляется пустое окно программы. Откройте в этом окне созданный вами файл справочной системы проекта sales командой Open (Открыть) из меню File (Файл) (рис. 12.9). Окно проекта содержит область просмотра файла проекта и кнопки, предназначенные для редактирования его разделов. Например, для редактирования раздела [options] нажмите кнопку Options (Параметры). В результате на экране откроется диалоговое окно Options (Параметры) (рис. 12.10), содержащее несколько вкладок. Для того чтобы скорректировать текст файла проекта, вам необходимо установить на вкладках требуемые параметры. Открывая соответствующие диалоговые окна, скорректируйте текст файла проекта. Уточнив параметры файла проекта, запустите его на компиляцию, нажав кнопку Save and Compile (Сохранить и компилировать), расположенную в нижнем правом углу окна проекта. Результаты компиляции отображаются в диалоговом окне Compilation (Компиляция).

Если не было ошибок компиляции, создается файл справки, Вы можете запустить его для проверки непосредственно из программы Help Workshop. Для этого выполните следующие действия:

В меню File (Файл) выберите команду Run Winhelp (Запустить Winhelp). В поле File (Файл) открывшегося диалогового окна (рис. 12.11) введите имя файла справки или выберите нужный файл из раскрывающегося списка ранее созданных файлов справок. Для поиска файла справки вы можете воспользоваться кнопкой Browse (Обзор), расположенной с правой стороны этого поля. Используя раскрывающийся список Mapped Topic IDs (Идентификаторы тем), выберите тему, которую хотите отобразить на экране.

Окно HTML Help Workshop



Окно HTML Help Workshop

Окно программы HTML Help Workshop (рис. 12.17) состоит из двух областей. В левой области находятся вкладки Project (Проект), Contents (Содержание), Index (Указатель) и Help (Справка). Слева от каждой вкладки размещена соответствующая панель инструментов.

В правой области окна отображается содержимое выбранной темы справочной системы в виде файла HTML. Вы можете не только просмотреть этот файл, но и редактировать его с помощью команд из меню Tags (Теги) и кнопок панели инструментов.

HTML Help Workshop предоставляет возможность просмотра файлов с темами в Web-браузере (рис. 12.18). Для этого выберите имя требуемого файла в разделе [files] и нажмите кнопку Display in Browser (Отобразить в браузере).



Определение параметров компиляции



Определение параметров компиляции

Раздел [options] файла проекта справочной системы содержит описание параметров компиляции. Ниже перечислены основные из них.

title - определяет заголовок окна справочной системы, который должен содержать не более 32 символов. compress - используется для сжатия справочного файла, создаваемого компилятором. Параметр может принимать значение True или False. warning - определяет количество сообщений об ошибках и предупреждениях, выводимых при компиляции. forcefont - данный параметр используется в том случае, если в описании справочной системы использовались шрифты, отсутствующие на компьютере, где будет выполняться приложение. Параметр указывает компилятору на необходимость преобразования всех используемых в описании шрифтов к типу, введенному с параметром forcefont.

Замечание
Замечание

Наименование шрифта, заданного параметром forcefont, должно совпадать с его именем, которое отображается в папке Панель управления Windows. Пробелы в наименовании типа шрифта не допускаются.

Синтаксис параметра title следующий:

TITLE = имяЗаголовка

Параметр WARNING имеет следующий синтаксис:

WARNING = уровень,

где параметр уровень имеет одно из трех значений, приведенных в табл. 12.6.



Определение параметров проекта справочной системы



Определение параметров проекта справочной системы

Параметры проекта отображаются в разделе [options] вкладки Project (Проект). Для их редактирования нажмите кнопку Change Project Options (Изменить параметры проекта) на панели инструментов вкладки. Откроется диалоговое окно Options (Параметры) (рис. 12.19), которое содержит четыре вкладки: General (Общие), Files (Файлы), Compiler (Компилятор) и Merge Files (Объединяемые файлы).



Определение псевдонимов тем



Определение псевдонимов тем

Чтобы в приложениях можно было использовать справочную систему, вы должны определить псевдоним каждой темы. Для этого откройте диалоговое окно HtmlHelp API information нажатием одноименной кнопки на панели инструментов вкладки Project (Проект) и перейдите на вкладку Alias (Псевдоним) (рис. 12.20). После нажатия кнопки Add (Добавить) и задания в диалоговом окне Alias (Псевдоним) псевдонима и имени связанного с ним файла темы (рис. 12.21) будет добавлен новый псевдоним.



Определение связи между псевдонимами и индексами тем



Определение связи между псевдонимами и индексами тем

Для открытия определенной темы справочной системы используются индексы тем. Связь между псевдонимами тем и соответствующими им целочисленными значениями индекса тем задается в отдельном текстовом файле. В этом файле вы должны описать все идентификаторы, по которым будет осуществляться контекстный вызов. Данный файл состоит из строк, содержащих ключевое слово #Define, за которым следуют разделенные пробелом идентификатор и индекс темы. Пример текста приведен ниже:

#Define IDH_CUSTOMER 3

#Define IDH_GOODS 4

После создания файла связи вы должны связать его с файлом проекта. Для этого в диалоговом окне HtmlHelp API information перейдите на вкладку Map (Карта) и добавьте его в список подключаемых файлов.





Определение темы справочной системы для элементов управления



Определение темы справочной системы для элементов управления

При создании справочной системы для каждой формы приложения, а иногда и для отдельных объектов формы, можно создать отдельную тему файла справки. Затем необходимо определить дли формы файл справки и связанную с формой тему. Для этого используется команда set help to имяФайла, которая должна выполняться при открытии формы или при запуске приложения, если справочная информация для всех форм находится в одном файле справки.

Затем необходимо задать для объектов формы или для самой формы свойство HELPConcextiD (рис. 12.27), которое использует индекс темы, заданный в разделе [map] файла проекта справочной системы.



Перекрестные ссылки



Перекрестные ссылки

Используя перекрестные ссылки справочной системы, вы можете из текущей темы перейти в связанные с ней или близкие ей темы.

В предыдущем разделе мы рассматривали создание тем, для которых были определены идентификаторы. Теперь создадим тему, в которой будет приведена ссылка на связанные с ней темы.

В теме создадим в качестве примера ссылку между фразой Печать данных этой темы и темой с идентификатором Print_text. Для этого установите для фразы Печать данных формат Двойное подчеркивание. Далее установию курсор на следующую позицию за выделенной фразой, определите форма! Скрытый и введите идентификатор темы, с которой устанавливается связь (в данном случае: print_text).

Замечание
Замечание

Идентификатор расположите сразу же за выделенной фразой, не оставляя между ними пробела (рис. 12.8).



Пояснения к терминам



Пояснения к терминам

В справочной системе помимо перекрестных ссылок можно создать пояснения к отдельным терминам. Пояснение создается аналогично отдельной теме. Для него определяется идентификатор темы, после чего термин, требующий кратких пояснений, выделяется одинарным подчеркиванием. Затем за термином в скрытом формате вводится идентификатор поясняющей темы.

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





Раздел [Files]



Раздел [Files]

В разделе [Files] перечисляются файлы в формате RTF, которые включаются в состав справочной системы. Например:

[Files]

SALES.RTF; инструкция пользователя

EDIT.RTF; инструкция по общим правилам ввода данных

Раздел [Map]



Раздел [Map]

Раздел [Map] является обязательным в том случае, если при организации файла справочной системы использовались контекстные ссылки или применялось свойство HeipcontextiD для вызова темы справочной системы.

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





Определение пояснений для элемента управления



Рис. 12.1. Определение пояснений для элемента управления




Определение процедуры для события Valid



Рис. 12.2. Определение процедуры для события Valid


Выберите поле ввода значения кредита и для события Valid определите процедуру (рис. 12.2), которая проверяет введенное значение и при необходимости открывает диалоговое окно с сообщением об ошибке:

if THIS.Value > 5000

= MESSAGEBOX("Максимальный кредит для клиента составляет ;

5000 рублей." + ;

CHR(13) + ;

"В особых случаях согласуйте величину кредита ;

с Генеральным директором.",; 0+4 8+ 0, "Предупреждение")

endif

Запустите форму на выполнение, введите значение кредита более 5 000, перейдите на следующее поле. Откроется диалоговое окно с сообщением об ошибке (рис. 12.3).

Диалоговое окно с сообщением об ошибке



Рис. 12.3. Диалоговое окно с сообщением об ошибке




Тексты тем с рисунками



Рис. 12.4. Тексты тем с рисунками




Определение заголовка темы



Рис. 12.5. Определение заголовка темы


Предупреждение
Будьте внимательны. Между маркером сноски и текстом заголовка должен быть только один пробел. Заголовок должен содержать не более 128 символов. Кроме того, он не может быть форматированным.

Идентификатор темы определяется аналогично заголовку темы, только в качестве маркера сноски используется символ #. При создании идентификатора необходимо придерживаться следующих правил:

идентификатор может содержать латинские буквы, цифры и символы точка (.) и подчеркивание (_); длина идентификатора не должна быть более 255 символов; имя идентификатора должно быть уникальным, т. к. оно используется для организации перекрестных ссылок.



Определение ключей для поиска тем справочной системы



Рис. 12.6. Определение ключей для поиска тем справочной системы




Поиск темы по ключам справочной системы



Рис. 12.7. Поиск темы по ключам справочной системы


в тексте сноски можно определить сразу несколько ключей поиска, разделив их знаком (;); длина строки с ключами поиска должна быть не более 255 символов; ключи могут содержать любые символы, а также знаки пунктуации (за исключением точки с запятой) и пробелы; при поиске тем по ключам регистр введенных букв не учитывается.

На рис. 12.6 представлен фрагмент текстового описания справочной системы, а на рис. 12.7 — вкладка Предметный указатель основного окна справочной системы.

Создание перекрестной ссылки



Рис. 12.8. Создание перекрестной ссылки


Замечание
Замечание

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

Аналогичным образом вы можете установить связь с другими темами справочной системы. Несмотря на то, что в тексте фраза была установлена в формате с двойным подчеркиванием, в справочной системе она появляется с обычным подчеркиванием. При позиционировании курсора на выделенной фразе меняется вид курсора, а при щелчке осуществляется переход к теме, связанной с этой фразой.





Окно файла проекта справочной системы



Рис. 12.9. Окно файла проекта справочной системы




Диалоговое окно настройки раздела [OPTIONS]



Рис. 12.10. Диалоговое окно настройки раздела [OPTIONS]




Выбор файла справки и темы



Рис. 12.11. Выбор файла справки и темы




Выбор режима создания содержания справочной системы



Рис. 12.12. Выбор режима создания содержания справочной системы




Окно редактирования содержания справочной системы



Рис. 12.13. Окно редактирования содержания справочной системы


В центре диалогового окна расположена область отображения содержания справочной системы. В нее вы можете добавить заголовки нескольких уровней вложенности и ссылки на темы справочной системы. Для добавления заголовка самого верхнего уровня нажмите на кнопку Add Below (Добавить ниже). На экране открывается диалоговое окно Edit Contents Tab Entry (рис. 12.14). Установите опцию Heading (Заголовок). В поле Title (Титул) введите наименование заголовка. Нажмите кнопку ОК для закрытия диалогового окна.

Ввод заголовка содержания справочной системы



Рис. 12.14. Ввод заголовка содержания справочной системы


Для ввода заголовка следующего уровня опять нажмите кнопку Add Below (Добавить ниже) и создайте следующий заголовок. Созданный заголовок является на самом деле подзаголовком предыдущего заголовка. Нажатием кнопки Move Right (Переместить вправо) переместите его правее на следующий уровень вложенности. Для добавления ссылки на тему справочной системы нажмите кнопку Add Below (Добавить ниже) или Add Above (Добавить выше). В открывшемся диалоговом окне Edit Contents Tab Entry установите опцию Topic (Тема). В поле Title (Титул) введите наименование заголовка, а в поле Topic ID — идентификатор темы справки (рис. 12.15). Если тема находится в файле справки, отличном от файла, указанного в поле Default filename (and window), укажите в поле ввода Help file (Файл справки) имя файла справки.

Определение ссылки на тему справочной системы



Рис. 12.15. Определение ссылки на тему справочной системы


После ввода содержания справочной системы сохраните его.

На рис. 12.16 приведен пример содержания справочной системы. Обратите внимание, что заголовки выделены значком с изображением раскрытой книги, а ссылки на темы — значком со знаком вопроса.



Содержание справочной системы



Рис. 12.16. Содержание справочной системы


Чтобы подключить содержание к файлу справки откройте окно файла проекта и в разделе [options] укажите имя файла с содержанием справочной системы.





Окно программы HTML Help Workshop



Рис. 12.17. Окно программы HTML Help Workshop




Просмотр темы справочной системы в Web-браузере



Рис. 12.18. Просмотр темы справочной системы в Web-браузере




Определение параметров проекта



Рис. 12.19. Определение параметров проекта


На вкладке General (Общие) вы определяете:

заголовок окна справочной системы; файл темы и окно, которые выбираются при открытии справочной системы; язык справочной системы.

Вкладка Files (Файлы) используется для указания расположения файлов справочной системы, файлов с указателями и содержанием. На вкладке Compiler (Компилятор) задаются параметры компиляции справочной системы.





Список псевдонимов тем



Рис. 12.20. Список псевдонимов тем




Определение псевдонимов тем



Рис. 12.21. Определение псевдонимов тем




Вкладка Contents



Рис. 12.22. Вкладка Contents




Определение элемента содержания справочной системы



Рис. 12.23. Определение элемента содержания справочной системы


Вы можете создать многоуровневое содержание справочной системы. Для изменения уровня заголовка используйте кнопки Move selection right (Сдвинуть вправо) и Move selection left (Сдвинуть влево).





Определение ключей для поиска тем



Рис. 12.24. Определение ключей для поиска тем




Определение тем для ключа



Рис. 12.25. Определение тем для ключа




Просмотр справочной системы



Рис. 12.26. Просмотр справочной системы




Определение свойства HELPContextlD



Рис. 12.27. Определение свойства HELPContextlD


Если вы установили это свойство, то во время просмотра формы нажатие клавиши <Fl> приведет к открытию указанной темы справочной системы. На рис. 12.28 вы видите использование справки в формате WinHelp, а на рис. 12.29 — в формате HTML.



Вид темы справочной системы в формате WinHelp



Рис. 12.28. Вид темы справочной системы в формате WinHelp




Вид темы справочной системы в формате HTML



Рис. 12.29. Вид темы справочной системы в формате HTML




SET HELP



SET HELP

Команда set help управляет выводом справочной системы и определяет ее имя. Она имеет два варианта синтаксиса:



SET TOPIC



SET TOPIC

По умолчанию содержанием справочной системы является первая по порядку тема. Для изменения содержания используется команда set topic, позволяющая определить тему, которая в дальнейшем будет являться содержанием справочной системы.

Команда имеет два варианта синтаксиса:

SET TOPIC TO [имяТемы | логическоеВыражение] SET TOPIC ID TO [индексТемы]

Используя команду set topic to имятемы, вы можете задать имя темы, отображаемой в справочной системе.

Команда SET TOPIC ТО логическоеВыражение Отображает заданную тему в справочной системе в зависимости от значения логического выражения.

Команда set topic id to [индекстемы] используется для указания отображаемой темы по его идентификатору.





Содержание справочной системы



Содержание справочной системы

Обычно окно справочной системы содержит три вкладки: Содержание, Указатель и Поиск. Для того чтобы в диалоговом окне присутствовала вкладка Содержание, необходимо создать файл с содержанием справки. Например, для файла справки, приведенного на рис. 12.8, не был создан файл с содержанием справочной системы. Конечно, можно в области текста темы, открываемой при вызове справочной системы, указать ссылки на все остальные темы файла справки. Но при создании файла справки в среде Windows предпочтительным является отображение содержания в иерархическом виде. Для создания такого содержания в Help Workshop выполните следующие действия:

В меню File (Файл) выберите команду New (Создать). В диалоговом окне New (Новый) выберите опцию Help Contents (Содержание). На экране открывается диалоговое окно, в котором можно выбрать режим создания содержания справочной системы (рис. 12.12). Выберите опцию Help Contents (Содержание). Открывается окно редактора содержания справочной системы (рис. 12.13). В поле Default filename (and window) (Стандартный титул файла и окна) введите имя файла справки, содержащего темы, на которые ссылаются элементы содержания. В поле Default title (Стандартный титул) введите заголовок окна содержания.

Создание ключей для поиска тем



Создание ключей для поиска тем

Для создания ключей поиска перейдите на вкладку Index (Указатель). Используя кнопки панели инструментов вкладки, вы можете создать новый ключ, редактировать ранее созданный или удалить ключ (рис. 12.24).

Для добавления нового ключа нажмите кнопку Insert a keyword (Вставить ключ). Откроется диалоговое окно Index Entry (Ввод указателя) (рис. 12.25), в котором в поле Keyword (Ключ) введите значение ключа, а затем в список Files/URLs and their information types (Файлы/Интернет ссылки и их типы) с помощью кнопки Add (Добавить) добавьте созданные ранее темы справочной системы. Для изменения тем используйте кнопку Edit (Редактировать), а для удаления — кнопку Remove (Удалить).



Создание содержания справочной системы



Создание содержания справочной системы

Для создания содержания справочной системы в иерархическом виде перейдите на вкладку Contents (Содержание). В области содержания справочной системы (рис. 12.22) вы можете добавить заголовки нескольких уровней вложенности и непосредственно ссылки на темы справочной системы. Чтобы добавить заголовок или строку ссылки на тему справочной системы, нажмите соответственно на кнопки Insert a heading (Вставить заголовок) или Insert a page (Вставить страницу). Откроется диалоговое окно Table of Contents Entry (Ввод содержания) (рис. 12.23), в котором залайте наименование строки содержания и ссылку на тему справочной системы.



Создание справочной системы в формате HTML



Создание справочной системы в формате HTML

Для создания справочной системы в формате HTML можно использовать HTML Help Workshop. Для этого выполните следующие действия:

Создайте темы справочной системы, сохраняя при этом каждую тему в отдельном HTML-файле. Для создания этих файлов вы можете использовать любой редактор файлов HTML, например Microsoft Word. Запустите программу HTML Help Workshop и постройте новый проект справочной системы. С помощью мастера проекта включите в проект ранее созданные файлы с темами. Определите свойства проекта.

Замечание
Замечание

Если у вас имеется ранее созданный проект справочной системы в формате WinHelp, с помощью мастера вы можете преобразовать его в проект формата HTML.

Укажите псевдоним для каждой темы. Создайте файл, содержащий описание связи между псевдонимами тем и соответствующими им целочисленными значениями индексов тем. Включите этот файл в проект. Создайте ключи для поиска тем справочной системы. Сохраните все файлы проекта и скомпилируйте его. В создаваемом в Visual FoxPro приложении укажите файл справочной системы (с расширением СНМ) с помощью команды set help to. Для каждого объекта приложения, с которым связана тема справочной системы, задайте свойство helpcontextid.



Создание справочной системы в формате WinHelp



Создание справочной системы в формате WinHelp

Основой справочной системы являются темы, содержащие пояснительный текст. Содержание справочной системы включает список тем, доступных в системе. Каждая тема имеет заголовок и уникальный символьный идентификатор. Дополнительно каждой теме можно поставить в соответствие уникальный индекс темы, который должен быть целым числом.

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

Для организации контекстного вызова темы из справочной системы вы можете использовать числовые значения индексов или значения ключа. Использование идентификаторов тем для контекстного вывода справочной информации не допускается.

Чтобы связать между собой отдельные темы, используются перекрестные ссылки. При этом текст, используемый для организации перекрестной ссылки, выделяется зеленым цветом и подчеркиванием.

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

Создание справочной системы в формате WinHelp включает следующие этапы:

Создание описания справочной системы. Для этого можно использовать любой текстовый редактор, поддерживающий формат RTF. Описание содержит темы, индексы и ключи справочной системы. Структура документа должна соответствовать требованиям, предъявляемым компилятором справочной системы (Help Compiler). Формирование файла с расширением CNT, содержащего иерархическое содержание создаваемой справочной системы. Формирование текстового файла с расширением HPJ, содержащего параметры для компиляции справочной системы: имя файла с описанием справочной системы, заголовок справочной системы. Компиляция созданного текстового описания с использованием Help Compiler. Определение свойства HeipContextiD для требуемых объектов формы, а также создание в приложении кнопок и пунктов меню для вызова справочной системы.

Мы рассмотрим только наиболее часто используемые средства при создании справочной системы. Подробную информацию вы найдете в руководстве по применению Help Compiler. В качестве примера создадим простую справочную систему, состоящую из нескольких тем. Для каждой темы определим заголовки, идентификаторы и ключи, применяемые для поиска информации.

Замечание
Замечание

При разработке справочной системы крупных приложений, как правило, используются специальные средства, например ForeHclp, которые содержат интегрированную среду.





Справка типа What's This?



Справка типа What's This?

Для краткого описания отдельных объектов формы можно использовать справку типа What's This?, которая аналогична контекстно зависимой справке, выводимой для объекта, на котором установлен фокус. Но, в отличие от нее, справка типа What's This? отображается в виде небольшого окна с текстом справочной информации и удаляется с экрана, как только вы щелкните мышью где-либо на экране.

Для создания справка данного типа используются свойства, описанные в табл. 12.8.



Строка состояния



Строка состояния

Разработанное вами приложение должно быть интуитивно понятным и дружественным к пользователю. Если у пользователя возникнут затруднения, он должен быстро получить справку о возможных действиях. Требуемую информацию пользователь может найти в руководстве пользователя или обратиться за консультацией к разработчику. Но проще всего воспользоваться справочной системой, содержащей информацию о приложении, описание его основных функций и инструкцию по работе.

Для отображения справочной информации в Visual FoxPro вы можете использовать строку состояния, диалоговое окно и справочную систему в формате WinHelp или HTML.

В Visual FoxPro строка состояния используется для пояснения назначения элементов управления формы и пунктов меню. Пояснения к элементам управления, отображаемые в строке состояния, задаются в свойстве statusBarText (Текст строки состояния). Кроме текста строки состояния вы можете задать текст подсказки, который будет отображаться под курсором мыши, если его установить на элемент управления и удерживать некоторое время. Текст подсказки задается в свойстве TooiTipText (Текст подсказки). На рис. 12.1 для поля редактирования, содержащего адрес клиента, в окне Properties (Свойства) установлены значения свойств statusBarText (Текст строки состояния) и TooiTipText (Текст подсказки).



Кнопки, отображаемые в диалоговом окне



Таблица 12.1. Кнопки, отображаемые в диалоговом окне

SET HELP ON | OFF Предназначена для разрешения или запрета активизации стандартной справочной системы программы Visual FoxPro. Если использована команда set help on, при нажатии клавиши <F1> или при выполнении команды HELP основного меню отображается стандартная справочная система Visual FoxPro. При использовании команды set help off средства просмотра справочной системы будут недоступны
SET HELP TO имяФайла Определяет дополнительный файл справочной системы. Этот вариант команды позволяет использовать созданную вами справочную систему
Например:

SET HELP TO sales.hip

Значение Кнопки
0 ОК
1 ОК и Cancel
2 Abort, Retry, Ignore
3 Yes, No, Cancel
4 Yes, No
5 Retry, Cancel


Значки, отображаемые в диалоговом окне



Таблица 12.2. Значки, отображаемые в диалоговом окне

Значение

Значок

16

Знак Stop

32

Вопросительный знак

48

Восклицательный знак

64

Информационный знак (i)



Кнопка, выбираемая по умолчанию



Таблица 12.3. Кнопка, выбираемая по умолчанию

Значение

Кнопка по умолчанию

0

Первая кнопка

256

Вторая кнопка

512

Третья кнопка

Функция messagebox возвращает числовое значение, определяющее нажатую пользователем кнопку. Возможные значения приведены в табл. 12.4.



Значения, возвращаемые функцией messagebo:-.



Таблица 12.4. Значения, возвращаемые функцией messagebo:-.

Значение Кнопка
1 ОК
2 Cancel
3 Abort
4 Retry
5 Ignore
6 Yes
7 No

Рассмотрим использование диалогового окна для вывода сообщения об ошибке ввода значения кредита клиента. Для этого выполните следующие действия:

Откройте форму для ввода информации о клиентах.

Разделы файла проекта справочной системы



Таблица 12.5. Разделы файла проекта справочной системы



Уровни параметра warning



Таблица 12.6. Уровни параметра warning

Раздел Функция
[Files] Определяет список файлов с описанием тем
[Options] Определяет заголовок справочной системы, а также некоторые другие параметры компиляции
[BuildTags] Определяет список тем, включаемых в справочную систему
[Alias] Определяет псевдонимы тем
[Map] Назначает числовой индекс идентификатору темы
[Bitmaps] Определяет список графических файлов, включаемых в справочную систему


Назначение команд для управления справочной системой



Таблица 12.7. Назначение команд для управления справочной системой

Уровень

Выводимая информация

1

Только наиболее серьезные ошибки

2

Все ошибки

3

Все ошибки и предупреждения



Свойства справки типа What's This?



Таблица 12.8. Свойства справки типа What's This?

Команда Назначение
SET HELP Запрещает или разрешает вывод справочной системы или определяет имя используемой справочной системы
HELP Выводит на экран содержание или указанную тему справочной системы
SET TOPIC TO Определяет содержание справочной системы
Свойство Описание
WhatsThisHelp Установка этого свойства для формы позволяет использовать справку типа What's This? как для формы, так и для входящих в нее объектов
WhatsThisButton При установке этого свойства в правой части области заголовка формы появляется кнопка What's This?
WhatsThisHelpID Задает идентификатор темы справочной системы для данного обьекта

Кроме того, для изменения вида курсора на знак вопроса и вызова справки типа What's This? при щелчке мышью на объекте, можно использовать метод WhatsThisMode.

Замечание
Замечание

Темы для справки типа What's This? выводятся в окне небольшого размера, поэтому должны содержать только краткую, на несколько строк, информацию.

Для определения справки типа What's This? выполните следующие действия:

Откройте в окне конструктора форму, для которой хотите создать справку данного типа. Установите для формы свойство WhatsThisHelp равным True. Для отображения кнопки What's This? в заголовке формы установите свойство WhatsThisButton равным True. Для задания темы справочной системы используйте свойство WhatsThisHelpID.



Темы справочной системы



Темы справочной системы

Создание тем справочной системы начинается с создания файла описания в формате RTF. Проще всего для этого использовать редактор Microsoft Word. Создайте с помощью него новый файл. После этого введите тексты тем справочной системы, расположив каждую тему на отдельной странице. Для разделения тем вставьте между ними признак начала новой страницы путем нажатия комбинации клавиш <Ctrl>+<Enter>. В тексте вы- можете форматировать отдельные части темы, а также вставлять в текст рисунки (рис. 12.4).

Можно определить заголовки, идентификаторы и ключи поиска для каждой темы. В Microsoft Word для этих целей необходимо воспользоваться сносками. Указатели сноски должны располагаться в начале темы, а сам текст заголовка, идентификатора и ключа поиска — в области сноски. Для определения заголовка темы выполните следующие действия:

Установите курсор в начало темы. В меню Вставка выберите команду Сноска. В открывшемся диалоговом окне для определения сноски выберите опцию Нестандартный маркер, а в качестве маркера сноски используйте символ $. После этого введите текст сноски, который будет являться текстом заголовка темы (рис. 12.5).