Інструментальна система створення електронних підручників
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ж порядку як і в електронному підручнику, при чому покажчик списку завжди знаходитиметься на першій темі в списку, а також дві кнопки: одна із зображенням стрілки вверх, інша із зображенням стрілки вниз.
В класі TForm_Move_Chapter визначені також поля даних під специфікатором private і можуть бути використані тільки даним класом. Це наступні поля даних:
IndexChapter містить в собі порядкові номера тем у списку тем і параграфів разом узяті, причому в списку початковий індекс дорівнює нулю;
Temp містить в собі копії назв тем і параграфів електронного підручника;
TempFileName містить в собі копії повних шляхів до HTML-файлів, що містять в собі матеріал відповідного параграфу;
TempIcon містить в собі копії повних шляхів до графічних файлів (файлів з розширенням *.bmp), які використовуються в якості іконок для тем і параграфів;
TempBgImage містить в собі копії повних шляхів до графічних файлів (файлів з розширенням *.gif), які використовуються в якості фонових малюнків для html-файлів, що містять матеріал параграфів;
TempBgColor містить в собі копії кодів кольорів фону html-файлу, що містить матеріал параграфу. Причому код кольору записаний згідно системи RGB, тільки розташування байтів що відповідають за червоний, зелений та синій кольори в оберненому порядку, тобто спочатку йде байт синього кольору, потім байт зеленого кольору і останнім байт червоного кольору;
Клас TForm_Move_Chapter містить такі процедури обробки подій:
SpeedButton_UpClick(Sender: TObject) викликається при натисканні на кнопку із зображенням стрілки вверх SpeedButton_Up. При цьому, здійснюється обмін місцями теми електронного підручника на який знаходиться покажчик із темою, яка знаходиться на одну позицію вище. Після цього викликається процедура Move(const First, Second: Integer), яка міняє місцями відповідні значення копій масивів елементів електронного підручника. Індекси місць визначаються процедурою самостійно, на основі параметрів First порядковий номер теми на якому спочатку знаходився покажчик списку та Second порядковий номер на якому переміститься тема електронного підручника;
SpeedButton_DownClick(Sender: TObject) викликається при натисканні на кнопку із зображенням стрілки вниз SpeedButton_Down. При цьому, здійснюється обмін місцями теми електронного підручника, на якій знаходиться покажчик із темою, яка знаходиться на одну позицію нижче. Після цього викликається процедура Move(const First, Second: Integer), яка міняє місцями відповідні значення копій масивів елементів електронного підручника. Індекси місць визначаються процедурою самостійно, на основі параметрів First порядковий номер теми на якому спочатку знаходився покажчик списку та Second порядковий номер на якому переміститься тема електронного підручника;
ListBox_ChapterDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState) дозволяє виводити в рядках обєкта ListBox_Chapter і назву теми і іконку теми;
Після того, як користувач провів необхідні йому зміни щодо порядку розташування тем електронного підручника, він має підтвердити або заперечити свій вибір, шляхом натискання на одну з двох запропонованих йому кнопок, тобто “Так” або “Відміна”. Якщо користувач натисне на клавішу “Escape” то це буде аналогічно натисканню на кнопку “Відміна”.
В програмному модулі Rename описаний клас TForm_Rename, який в свою чергу являється нащадком від класу TForm. Клас TForm_Rename описує форму, яка буде відображатись при натисканні користувачем на відповідній кнопці головної форми інструментальної системи створення електронних підручників. Вона призначена для зміни назви певної теми або параграфу електронного підручника. Дана форма буде запускатись в модальному режимі.
При запуску цієї форми, яка містить одне поле буде введена назва теми або параграфу, на який знаходився покажчик в таблиці робочої області електронного підручника основної форми інструментальної системи створення електронних підручників. Користувач може змінити стару назву теми або параграфу електронного підручника на нову назву, яку він буде вважати за потрібне. Крім того, після того, як користувач ввів нову назву теми або параграфу електронного підручника, він має підтвердити або заперечити свій вибір, шляхом натискання на одну з двох запропонованих йому кнопок, тобто “Так” або “Відміна”.
В тому випадку, якщо користувач підтвердив зміни які він зробив, форма перейменування теми або параграфу електронного підручника зникне і він побачить нову назву теми або параграфу електронного підручника замість старої назви у робочій області електронного підручника головної форми інструментальної системи створення електронних підручників та продовжить в ній роботу далі.
В тому випадку, якщо користувач у полі назви нової теми не ввів жодного символу і натиснув кнопку підтвердження вибору назви нової теми, то система видасть йому повідомлення про помилку наступного характеру: “Нова назва повинна складатись хоча б з одного символу”. Після того, як користувач погодиться з цим повідомленням зникне форма перейменування назви теми або параграфу електронного підручника і він опиниться в робочій області електронного підручника головної форми інструментальної системи створення електронного підручника.
Клас TForm_Rename також містить одне загальнодоступне поле даних Indicator типу Boolean. В залежності від того, яке значення буде мати дане поле даних, при закритті форми TForm_Rename буде робитися висновок по ньому, чи треба перейменувати назву теми або параграфу електронного підручника або ні. Значення True означатиме, що необхідно ввести нову назву теми до вмісту електронного підручника, тобто б