Смекни!
smekni.com

Інструментальна система створення електронних підручників (стр. 6 из 11)

Крім того, головна форма інструментальної системи дозволяє виконувати наступні функції над проектами електронних підручників:

створювати нові проекти електронних підручників;

відкривати вже існуючі проекти електронних підручників;

виконувати збереження змін під час роботи із проектом електронного підручника.

Також інструментальна система створення електронних підручників дозволяє виконувати наступні дії над проектом електронного підручника:

вставляти нову тему;

вставляти новий параграф;

змінювати порядок слідування тем в електронному підручнику;

видаляти вибрану тему;

видаляти вибраний параграф;

змінити назву вибраної теми;

змінити назву вибраного параграфу;

перемістити параграф з однієї теми в іншу, а також поміняти порядок слідування параграфів в межах однієї теми.

Всі ці дії можна виконати за допомогою натискання на відповідні кнопки, які розміщені на панелі управління діями над електронним підручником.

Головна форма інструментальної системи EbookCreator містить розвинуту систему меню (menubar) і відповідних низпадаючих меню (drop-downmenus), яка дублює всі функції, що виконуються над проектами електронного підручника та всі дії, що виконуються над окремим проектом електронного підручника.

Також головна форма інструментальної системи створення електронних підручників містить контекстне або випливаюче меню, яка дублює дії, що виконуються над окремим проектом електронного підручника.

Форма TForm_Table містить в собі ще й робочу область. Остання, в свою чергу, являє собою таблицю, яка містить інформацію про елементи електронного підручника. Таблиця складається з 5-ти полів:

поле “Назва”;

поле “Файл”;

поле “Іконка”;

поле “Малюнок”;

поле “Фон”;

Поле “Назва” призначене для відображення стандартної іконки для теми та автору і вибраної користувачем або встановленої по замовчуванню іконки для параграфу. Цей поле також вістить в собі назву теми, параграфу або підпис автору.

Поле “Файл” містить в собі назву HTML-файлу, який містить матеріал або інформацію про параграф електронного підручника з яким він зв’язаний. Лише параграфи та підпис автору можуть бути зв’язані з HTML-файлом. Кожний запис, який вказує на будь-яку тему електронного підручника в даному полі не містить жодного символу.

Поле “Іконка” містить в собі зображення іконки параграфу електронного підручника. Кожний параграф повинен мати іконку. Якщо при створенні параграфу користувач не обрав жодної іконки для параграфу, то система автоматично присвоїть якусь іконку по замовчуванню. Запис підпису автору містить одну стандартну іконку, яку він не в змозі змінити, оскільки такі права інструментальна система створення електронних підручників не надає користувачу. Запис будь-якої теми електронного підручника в даному полі не містить жодного малюнку, оскільки системою передбачено, що теми мають стандартну іконку.

Поле “Малюнок” відображає назву графічного файлу (файлу з розширенням *.gif або *.jpg), який використовується в якості фонового малюнку для HTML-файлу, який вказаний в полі “Файл” даного запису. Такими значеннями можуть володіти записи параграфів та підпису автора. Записи тем електронного підручника в даному полі не містять жодного символу.

Поле “Фон” містить в собі прямокутні області, які зафарбовані тим кольором, що й фон HTML-файлу, з яким зв’язаний даний параграф або підпис автору. Це поле може бути й пустим, останнє означатиме, що HTML-файл в якості кольору фону, використовує той колір, що встановлений по замовчуванню. А по замовчуванню встановлений білий колір. Для запису будь-якої теми електронного підручника дане поле не містить жодного кольору.

Клас TForm_Table містить наступні власні поля даних:

Title — містить назви тем, параграфів та підпису автору електронного підручника. Для того, щоб відрізнити тему від інших елементів, першим символом в її назві є символ “-”. Для того, щоб відрізнити запис підпису автора від інших, то першим символом повинен бути символ “*”;

FileName — містить повний шлях до HTML-файлів, які містять матеріал або інформацію про параграф або підпис автора. Для кожної теми дане поле буде пустим;

Icon — містить повний шлях до графічних файлів (файлів із розширенням *.bmp), які містять зображення іконок для параграфів і підпису автора. Дане поле для будь-якої теми електронного підручника не містить жодної інформації, тобто воно порожнє;

BgImage — містить повний шлях до графічних файлів (файлів із розширенням *.gif та *.jpg), які містять зображення фонових малюнків для параграфів і підпису автора. Дане поле для будь-якої теми електронного підручника не містить жодної інформації, тобто воно порожнє;

BgColor — містить 3-байтовий код кольору системи RGB, який записаний у 16-вій системі числення. При чому цей код записаний у зворотному порядку, тобто спочатку йде байт синього кольору, після нього — байт зеленого кольору і останнім — байт червоного кольору;

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

Клас TForm_Table також містить власні поля, які відповідають за зображення на кнопках панелі управління тих чи інших зображень. Тобто на кнопці буде одне зображення, а після того, як користувач наведе курсор миші, на кнопці з’явиться інше зображення. Після того, як користувач наведе курсор миші на ту область панелі управління, яка не містить жодного управляючого елементу, то зображення на кнопці відновиться на початкове. За цей ефект зміни зображень на кнопках панелі управління відповідають такі полі як: New, Open, Save, InsertC, InsertT, DeleteTC, MoveT та Rename.

Крім того, клас TForm_Table містить в собі визначення поля Dir під специфікатором private. Дане поле містить в собі повний шлях до каталогу проекту електронного підручника. Визначений під специфікатором private для того, щоб бути доступним лише в даному модулі.

В класі TForm_Table визначено 5 загальнодоступних полів даних, які містять копії основних елементів електронного підручника. Вони створюються і заповнюються оригіналами при спробі користувача змінити порядок слідування тем електронного підручника і знищуються при підтвердженні або відмові від проведених змін із порядком розташування тем. Крім того, при підтвердженні проведених змін їх значення записуються в оригінали елементів електронного підручника. Ці поля мають наступні назви:

CTitle — містить копії поля Title;

CFileName — містить копії поля FileName;

CIcon — містить копії поля Icon;

CBgImage — містить копії поля BgImage;

CBgColor — містить копії поля BgColor;

В цьому класі також визначено ще деякі загальнодоступні поля даних, такі як:

Move — являє собою індикатор, в залежності від значення якого можна зробити висновок, чи зробив користувач зміни щодо порядку слідування тем електронного підручника, незалежно від того, чи зробив користувач підтвердження;

SaveAsProject — являє собою індикатор, в залежності від значення якого можна зробити висновок чи даний проект має назву;

Dialog — являє собою індикатор, в залежності від значення якого можна зробити висновок чи треба виводити форму діалогу;

Path — містить в собі повний шлях до місця на диску де розташований проект електронного підручника;

FileNameProject — містить в собі ім’я файлу проекту електронного підручника без розширення;

FileNameProjectTotal — містить в собі ім’я файлу проекту електронного підручника із розширенням;

ApplicationPath — містить в собі повний шлях до місця на диску де розташований виконавчий файл інструментальної системи створення електронних підручників;

Клас TForm_Table містить також описи 5-ти загальнодоступних методів. Ці методи всі є процедурами.

DoShowHint(var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo) — призначена для відображення підказки при наведенні на тему або параграф електронного підручника, назва якого не вміщується у відведене для неї поле;

NewProject — призначена для заповнення власних полів даних, які відповідають за вміст елементів електронного підручника, при створенні нового проекту;

OpenProject(const FileName: AnsiString) — призначена для заповнення власних полів даних, які відповідають за вміст елементів електронного підручника, при відкритті вже існуючого проекту електронного підручника. В якості параметру цій процедурі дається повний шлях до файлу проекту;

CreateCodeScript — призначена для створення файлу Code.js, написаного на мові програмування сценаріїв (скриптів) JavaScript і містить в собі опис функцій, які в свою чергу реалізують зміст електронного підручника у вигляді дерева;

ClearList — призначена для очищення об’єктів, які відповідають за вміст елементів електронного підручника при створенні нового або відкритті вже існуючого проекту;

Compiler(const Path: String) — призначена для створення файлу, каталогу і сценарію проекту електронного підручника. Каталог матиме таку саму назву що й файл проекту, а сценарій матиме назву Project.js і він міститиме виклики функцій які визначені у сценарії Code.js. В якості параметру передається змінна Path, яка містить повний шлях до каталогу, де має бути збережені файл і каталог електронного підручника;

OpenHtmlFile(const i: Integer) — призначена для відкриття html-файлу і зчитування з нього інформації про фоновий малюнок та колір фону. В якості параметру передається порядковий номер запису в таблиці, що розташована в робочій області головної форми електронного підручника. По цьому номеру можна визначити ім’я html-файлу з якого необхідно прочитати інформацію для полів “Малюнок” та “Фон”;