Розробка проектного файла

Проектний файл служить основним керуючим документом для Help-компілятора. У Windows 32 він створюється за допомогою утиліти Microsoft Help Workshop (MS HW) і являє собою ASCII-текстовий файл, що містить декілька секцій. Секція - це фрагмент тексту, що складає з заголовка й однієї або декількох наступних за ним рядків (опцій) виду

ІМ'Я_ПАРАМЕТРА = ЗНАЧЕННЯ,

подібно тому як організовані файли ініціації ini.

Для запуску MS HW варто завантажити файл help / tools / hcw. exe із папки розміщення Delphi. Якщо файл проекту вже був раніше створений, для роботи з ним використовується опція File / open або відповідна кнопка інструментальної панелі MS HW. Для створення нового проектного файла виберіть File / New і в додатковому діалоговому вікні - Help project; після вказівки імені утворюваного Help-файла в стандартному діалоговому вікні save File вікно MS HW набуде вид, показаний на мал. 1.2.

Всю центральну частину вікна займає текст проектного файла, що спочатку складається з єдиної секції [Options] . На відміну від звичайних текстових редакторів це вікно недоступно для клавіатурного введення: щоб вставити в нього текст або змінити вже введені секції, використовуються розташовані справа кнопки.


Мал.1.2. Вікно утиліти Microsoft Help Workshop

 

1.5. Файл змісту довідкової служби

Зміст довідкової служби оформляється у файлі з розширенням CNT і стає доступним після натискання кнопки зміст у довідковому вікні. Для створення/редагування змісту використовується утиліта MS HW.

Щоб створити файл змісту, запустіть MS HW, виберіть File / New і потім Help Contents - на екрані з'явиться вікно, зображене на мал. 1.7.

У Рядках Default filename (and window) і Default title У верхній частині вікна потрібно зазначити відповідно ім'я HLP-файла, для якого створюється зміст, і тип вікна для відображення змістів, а також заголовок основного вікна довідкової служби. Заголовок Default title, якщо він заданий, перевизначає заголовок, зазначений у секції [Options] файла проекту.

Ці параметри можна встановити вручну, але зручніше для введення використовувати допоміжне діалогове вікно, що розкривається кнопкою Edit справа від рядка Default title. При ручному введенні в рядку Default filename (and window) ім'я файла відокремлюється від імені вікна символом «>».

Наприклад: HelpTest. hlp>WIND

 


Мал.1.7. Вікно MS HW у режимі створення/редагування змісту

Елементи змісту можуть бути темами і розділами. Теми служать вузлами в ієрархічній структурі змісту. У вікні довідкової служби зліва від назви теми вказується піктограма у виді розкритої або закритої книги. Розділ - кінцевий елемент змісту. Зліва від нього вказується піктограма зі знаком питання.

Для вставки у файл елемента змісту потрібно клацнути по кнопці Add Above або Add Below. У першому випадку елемент вставляється перед поточним елементом, у другому - після нього. Після щиголя по будь-якій із цих кнопок з'являється вікно.

Перемикачі у верхній частині вікна визначають тип вставляємого елемента:

Heading - вставляється тема; при виборі цього перемикача розташовані нижче рядки, крім Title, стають недоступними,

Topic - вставляється розділ;

Macro - вставляється макрокоманда; ця макрокоманда буде виконуватися при виборі елемента у вікні змісту;

Include - вставляється ASCII-текстовий файл з елементами змісту.

Мал.1.8. Вікно визначення елемента змісту

Чотири рядки нижче перемикачів використовуються тільки при вставці розділу. При вставці теми або включаємого файла доступний тільки перший рядок, при вставці макрокоманди - перший і другий, що в цьому випадку постачаються написом Macro.

У рядку Title вводиться довільний текст довжиною до 127 символів, що буде представляти елемент у вікні змісту. У цьому рядку також вказується ім'я включаємого файла, якщо обраний перемикач include. В другому рядку вказується ідентифікатор розділу або ім'я макрокоманди. У рядку Help file потрібно зазначити HLP-файл, якщо довідкова система використовує декілька файлів, а в рядку window type - тип вікна для відображення розділу.

Для зсуву елемента змісту на один рівень ієрархії униз використовується клавіша Move Right, а на один рівень нагору -Move Left. Елемент зрушується разом із всіма іншими елементами, розташованими нижче нього. Максимальна кількість рівнів ієрархії - 9.

Варто зауважити, що файл змісту являє собою ASCII-текстовий файл, кожний рядок якого відповідає елементу змісту. На початку рядка вказується цифра, що визначає Рівень ієрархії, на якому розташовується елемент.

Після створення файла змісту його потрібно зберегти в тому ж каталозі, що і HLP-файл, - після цього зміст стане доступний в момент запуску HLP-файла або за допомогою кнопки зміст вікна довідкової служби.

 

1.6. Компіляція, тестування, і зв'язок із програмою

Компіляція і тестування довідкової служби не складають проблеми: за допомогою MS HW створіть (або завантажите) проектний файл і клацніть по кнопці Save and Compile. Після цього з'явиться вікно.

При компіляції MS HW звертає своє вікно і знову розкриває його після завершення роботи компілятора, якщо відзначений перемикач Minimize window while compiling. Після закінчення компіляції в ньому будуть показані повідомлення компілятора. Якщо компілятор виявив помилки, він повідомляє про неї, причому некритичні помилки супроводжуються попередженнями (warnings) і зауваженнями (notes), а критичні - переривають компіляцію.

Для тестування скомпільованого довідкового файла використовується одна з опцій меню Test:

contents File - тестує файл змісту;

closeAll Help- закриває всі раніше відкриті HLP-файли;

Send a macro - посилає в WinHelp потрібну макрокоманду;

winHelp API - викликає потрібний розділ довідкової служби по привласненому йому в секції MAP числовому ідентифікатору.

Тестування файла змісту полягає в автоматичному виклику всіх зазначених у змісті розділів. Якщо якийсь розділ не визивається, видається повідомлення (мал.1.9), що дозволяє знайти й усунути помилку.

Зв'язок із програмою реалізується за допомогою властивостей HeipContext видимих компонентів, у які варто помістити числові ідентифікатори потрібних розділів довідкової служби так, як вони визначені в секції MAP. Крім того, у властивість Application. HelpFile потрібно помістити ім'я HLP-файла. Звичайно цей зв'язок встановлюється в оброблювачі події OnCreat головної форми програми. Після такого настроювання користувач програми зможе за допомогою клавіші F1 одержати контекстну довідку, тому що при натисканні F1 автоматично визивається розділ, числовий Ідентифікатор якого поміщений у властивість HelpContext компонента з фокусом уведення. Якщо Helpcontext компонента з фокусом уведення містить 0, визивається розділ, зазначений у HelpContext його власника, а якщо й у того ця властивість не визначена, використовується HeipContext активної форми (якщо у всьому ланцюжку власників, включаючи активну форму, властивість HelpContext не визначена, натискання F1 ігнорується).

Мал.1.9.