Інструментальна система створення електронних підручників

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

ідручника ці поля даних заповнюються значеннями, які містяться у файлі та каталозі проекту електронного підручника.

Клас 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-файлу з якого необхідно прочитати інформацію для полів “Малюнок” та “Фон”;

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

Програмний модуль Redactor містить в собі опис класу TForm_Principal, який в свою чергу являється нащадком від класу TForm. Клас TForm_Principal містить в собі опис форми, яка являє собою текстовий редактор і призначена для відображення і редагування створеного системою HTML-файлу. Дана форма запускається в модальному режимі при натисканні користувачем двічі лівою кнопкою миші по області першого поля в таблиці, яка знаходиться в робочій області системи, за умови, що даний HTML-файл створений інструментальною системою створення електронних підручників.

Дана форма виконує функції текстового редактора HTML-документу, компілятора з тексту в HTML-код та декомпілятора з html-коду в текст.

Форма містить па