Формирование файла проекта справочной системы
Формирование файла проекта справочной системы
Файл проекта справочной системы содержит параметры ее компиляции и может включать до шести разделов, выполняющих функции, описанные в табл. 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 управляет выводом справочной системы и определяет ее имя. Она имеет два варианта синтаксиса: