
- •Лабораторна робота № 1 Тема: "Створення шаблонів форм і їх використання в нових проектах"
- •Лабораторна робота № 2 Тема: "Прийоми обробки однотипних компонентів "
- •Лабораторна робота № 3 Тема: Створення незалежних модулів для зберігання незалежних процедур
- •Лабораторна робота № 4 Тема: "Створення шаблонів компонентів"
- •Лабораторна робота № 5 Тема: "Створення динамічної бібліотеки процедур"
- •Лабораторна робота № 6 Тема: "Створення програм із зовнішніми компонентами"
- •Лабораторна робота № 7 Тема: "Створення інформаційної системи за технологією файлового сервера"
- •Лабораторна робота № 8 Тема: "Створення інформаційної системи за технологією клієнт/сервер"
- •Лабораторна робота № 9 Тема: "Робота з базами даних серверної субд"
- •Лабораторна робота № 10 Тема: "Обробка таблиці клієнт/серверної субд за допомогою запитів"
- •Лабораторна робота № 11 Тема: «Робота з com сервером Microsoft Word»
- •Лабораторна робота № 12 Тема: «Робота з com сервером Microsoft Excel»
- •Лабораторна робота № 13 Тема роботи: Створення довідкової системи та її інтеграція в програму
Лабораторна робота № 13 Тема роботи: Створення довідкової системи та її інтеграція в програму
ЦІЛЬ РОБОТИ: на практиці відпрацювати принципи створення систем допомоги
Хід роботи
1. Нехай є шість HTML-документів, що містять розділи майбутньої довідки (збережіть довільні сторінки з будь-якого сайту). Необхідно створити файл допомоги з наступними властивостями:
1.1. Довідка має зміст із двома розділами. У кожному розділі повинно бути по три теми. Кожній темі привласнити по одному HTML-документу;
1.2. Вікно довідки повинне мати панель навігації;
1.3. У довідці повинні бути створені контекстні розділи (номера від 1 до 6).
Вказівки: Якщо ви плануєте зберігати сторінки з навчальний сайтів, то майте на увазі, що сайт будується з використанням фреймів, тому для правильного збереження сторінки її треба відкрити у новому вікні (утримуючи Shift клацаємо по гиперпосиланню) а потім зберегти). Розмістіть створені HTML-документи в одній теці з ім'ями 01.htm-06.htm
Запустіть утиліту "HTML Help Workshop", виконайте команду "Файл – Новий", виберіть рядок "Проект". Запуститься майстер, на першому кроці якого вкажіть ім'я й розташування файлу проекту майбутньої довідки (обов'язково розмістіть проект в одній теці з HTML-документами під ім'ям "Help").
На другому кроці установіть прапорець "Файл HTML", а на третьому - укажіть головний HTML-документ, який буде відкриватися за замовченням при запуску файлу допомоги.
Відкриється вікно із властивостями проекту. Якщо мова за замовчуванням буде відмінним від російського, то клацніть на відповідному рядку два рази, поміняйте мову на російську або українську і клацніть на кнопці ОК.
Для додавання інших HTML-документів у проект клацніть на кнопці "Add/Remove Topic files". У вікні додайте потрібні файли й клацніть ОК.
Для створення змісту для файлу допомоги клацніть у вікні проекту на вкладці "Зміст". З'явиться вікно, у якому виберіть перемикач "Створити новий файл змісту". У вікні, що з'явилося, укажіть ім'я й розташування файлу змісту (рекомендується розмістити в одній теці з HTML-документами).
Для створення розділу клацніть на кнопці "Insert a heading". У вікні в полі "Заголовок" уведіть назву розділу ( Розділ 1). Повторіть дії для створення другого розділу.
Для створення теми виберіть потрібний розділ, клацніть на кнопці "Insert a page". У вікні в полі "Заголовок" уведіть назву (Тема 1), а за допомогою кнопки Додати можна вказати HTML файл, що відкривається при виборі теми. Створіть по три теми в кожному розділі, привласнивши їм сторінки з іменами "01.htm-06.htm";
Для настроювання параметрів вікна перейдіть на вкладку "Проект", клацніть на кнопку "Додати/змінити визначення вікна". Уведіть довільне ім'я вікна (наприклад, "Wind1"). Для відображення панелі навігації у наступному вікні перейдіть на вкладку "Робоча область довідки" й установіть прапорець "Вікно з робочою областю, розділами й кнопками". Для завдання розміру вікна перейдіть на вкладку "Розташування-Позиція", установіть прапорець "Зберігати позицію" для запам'ятовування останнього розміру, за допомогою кнопки "Авторозмір" укажіть розміщення й положення вікна й клацніть на кнопці ОК.
Створення контекстної довідки
Для створення контекстної довідки спочатку привласнимо кожній з тем довідки унікальні імена. Для цього перейдіть на вкладку "Проект", клацніть на кнопці "Інформація керування HTMLHelp API". У вікні перейдіть на вкладку "Псевдонім" і за допомогою кнопки "Додати" привласніть кожній сторінці унікальне ім'я. Для цього у верхньому полі введіть ім'я, а в нижньому списку виберіть сторінку для цього імені (наприклад для першого файлу вкажіть ім'я "tema1", для другого – "tema2" і т.д.).
Після завдання імен темам потрібно створити файл заголовків. Для цього виконайте команду "Файл – Новий". У вікні виберіть рядок "Текст". У тексті створеного файлу привласніть кожному імені теми довідки унікальний номер, увівши в текст файлу рядки виду:
#define tema1 1
#define tema2 2
#define tema3 3
#define tema4 4
#define tema5 5
#define tema6 6
Збережіть файл у теку із проектом під ім'ям Help.h, вибравши при цьому у списку "Тип файлу" значення "Всі файли".
Для підключення файлу заголовків до проекту довідки клацніть на кнопці "Інформація керування HTMLHelp API". У вікні перейдіть на вкладку "Карта", за допомогою кнопки "Ім'я файлу" вкажіть файл заголовка.
Компіляція довідки
Для компіляції файлу довідки виконайте команду "Файл – Компілювати" й у вікні клацніть на кнопці "Компілювати". У результаті в теці із проектом буде створений файл із ім'ям "Help.htm".
Перевірка довідки
Після створення довідки її потрібно перевірити. Виконайте команду "Перевірка-HTML Help API". У верхньому полі вкажіть отриманий відкомпільований файл, який ви будете перевіряти. У списку, що випадає, укажіть значення "HH_HELP_CONTEXT" (указуємо, що будемо перевіряти контекстну довідку), у нижньому полі введіть номер, привласнений вами одному з розділів довідки, і клацніть ОК. Якщо довідка відкрилася на відповідному розділі значить номер працює вірно. Повторіть дію для всіх розділів.
2. В Delphi створіть Mdi-Форму з пунктами меню Форма1, Форма2 і Довідка.
Вказівки: В Delphi для форми задайте властивості: Caption=Головна форма, Formstyle=fsMDIForm, WindowsState=wsMaximized.
Для створення меню нанесіть на форму компонент MainMenu (Standard). Подвійним клацанням на компоненті відкрийте редактор меню й створіть три головні пункти з назвами "Форма1, Форма2, Довідка". Для пункту меню "Довідка" задайте властивість: ShortCut=F1 (гаряча клавіша для пункту меню).
Збережіть проект у теку. У цю же теку скопіюйте отриманий файл допомоги *.chm. Виконайте команду "Project-Options". На закладці "Application" укажіть скопійований файл довідки й вилучіть повний шлях до файлу.
Для роботи з файлами *.chm необхідно використовувати зовнішній модуль "stohtmlhelp.pas". Для реєстрації модуля в Delphi скопіюйте цей файл у папку C:\Program Files\Borland\Delphi7\Lib.
Для роботи з модулем у коді форми в розділі Uses підключіть скопійований модуль указавши його ім'я:
stohtmlhelp
3. Для пункту Довідка напишіть код для відкриття файлу допомоги.
Вказівки: Для пункту меню "Довідка" потрібно ввести команду, яка викликає загальне вікно довідки. Для цього двічі клацніть на компоненті MainMenu, а потім двічі клацніть на команду Довідка. Відкриється вікно для введення оброблювача цієї команди меню. Уведіть код виду:
application.helpcommand(help_contents, 0);
Запустіть проект, клацніть на команді меню "Довідка" і переконайтеся, що довідка запускається. Також натисніть на клавішу F1 і переконайтеся, що довідка запускається.
4. Створіть дочірню форму, на якій розмістіть три текстові поля й список. Для кожного компонента призначте потрібний контекстний розділ допомоги. Для пункту меню "Форма1" головної форми напишіть код, який відкриває дочірню форму в програмі. На формі перевірте виклик розділів системи допомоги для кожного з компонентів.
Вказівки: Для додавання форми клацніть на кнопці "New Form". Для нової форми вкажіть властивості: Caption=Форма1, Formstyle=fsMDIChild. Дочірня форма не повинна автоматично створюватися при запуску програми. Виконайте команду "Project-Options". Перемістіть форму Form2 у список "Available Forms". Для коректного закриття дочірньої форми в події форми OnClose уведіть команду:
action:=cafree;
На форму нанесіть три поля Edit (Standard) і один список Listbox (Standard). Для присвоювання кожному з компонентів окремого розділу довідки потрібно у властивості HelpContext потрібного компонента ввести номер розділу довідки (у нашому випадку від 1 до 4).
Для того, щоб форма реагувала на натискання клавіш (наприклад, у нашому випадку клавіша F1) необхідно для форми задати властивість KeyPreview=true. Для форми в події OnKeyDown уведіть код:
if key=vk_f1 then
application.helpcontext(screen.activecontrol.helpcontext);
Для виклику дочірньої форми з головного вікна перейдіть на головну форму. За допомогою команди "File - Use Unit" підключіть модуль другої форми. Подвійним клацанням на компоненті MainMenu відкрийте редактор меню, а потім подвійним клацанням на пункті "Форма1" відкрийте оброблювач події, у якому уведіть код:
form2:=tform2.create(self);
form2.show;
form2.repaint;
Запустіть проект. За допомогою команди меню "Форма1" викличте дочірню форму. Установлюючи курсор у кожний компонент форми й натискаючи на F1, переконайтеся, що довідка відкривається на розділах із заданими вами номерами.
5. Створіть дочірню форму, для якої призначте потрібний контекстний розділ допомоги. Для пункту меню "Форма2" головної форми напишіть код, який відкриває дочірню форму в програмі. Для форми перевірте виклик розділу системи допомоги.
Вказівки: Для додавання форми клацніть на кнопці "New Form". Для нової форми вкажіть властивості: Caption=Форма2, Formstyle=fsMDIChild. Дочірня форма не повинна автоматично створюватися при запуску програми. Виконайте команду "Project-Options". Перемістіть форму Form3 у список "Available Forms". Для коректного закриття дочірньої форми в події форми OnClose уведіть команду:
action:=cafree;
Для присвоювання формі окремого розділу довідки потрібно в її властивості HelpContext увести номер розділу довідки (в нашому випадку залишилися розділи 5 або 6).
Для того, щоб форма реагувала на натискання клавіш (наприклад, у нашому випадку клавіша F1) необхідно для форми задати властивість KeyPreview=true. Для форми в події OnKeyDown уведіть код:
if key=vk_f1 then
application.helpcontext(screen.activecontrol.helpcontext);
Для виклику дочірньої форми з головного вікна перейдіть на головну форму. За допомогою команди "File - Use Unit" підключіть модуль третьої форми. Подвійним клацанням на компоненті "MainMenu" відкрийте редактор меню, а потім подвійним клацанням на пункті "Форма2" відкрийте оброблювач події, у якому уведіть код:
form3:=tform3.create(self);
form3.show;
form3.repaint;
Запустіть проект. За допомогою команди меню "Форма2" викличте дочірню форму. Нажавши на F1, переконайтеся, що довідка відкривається на розділі із заданим вами номером.