Розробка гнучкої системи автоматизації розрахунку учбового навантаження

База даних як складова частина інформаційної системи. Загальні принципи створення контролерів автоматизації MS Office. Розробка гнучкої комп'ютеризованої системи, призначеної для автоматизації розрахунку учбового навантаження. Моделі представлення даних.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 26.10.2012
Размер файла 4,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Міністерство освіти та науки України

Криворізький інститут

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

Кафедра Технічної кібернетики

ДИПЛОМНА РОБОТА

зі спеціальності

7.091402 Гнучкі комп'ютеризовані системи та робототехніка

ПОЯСНЮВАЛЬНА ЗАПИСКА

Розробка гнучкої системи автоматизації розрахунку учбового навантаження

Студент групи ГКС-03-з

Вітряк Олена Сергіївна

Керівник роботи доц., к. ф-м. н.

Китова Валентина Олексіївна

Консультанти:

зі спеціальної частини доц. Вдовиченко І.Н.

з програмної частини проф., д.т.н. Мурашко А.Г.

з економічної частини доц., к.е.н. Тимко Є.В.

з охорони праці доц., к.т.н. Климович Г.Б.

Завідувач кафедри ТК доц., к.т.н. Старіков О.М.

Кривий Ріг 2008р.

Міністерство освіти та науки України

Криворізький інститут

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

Кафедра Технічної кібернетики

Спеціальність 7.091402 Гнучкі комп'ютеризовані системи та робототехніка

ЗАТВЕРДЖУЮ

Зав. кафедрою доц., к.т.н. Старіков О.М.

_______________________

«31» жовтня 2007 р.

ЗАВДАННЯ

на дипломну роботу студента

Вітряк Олени Сергіївни

1. Тема роботи: Розробка гнучкої системи автоматизації розрахунку учбового навантаження_______________________ затверджена наказом по інституту від " 29 " жовтня 2007 р. № 65Са-01_____________

2. Термін здачі студентом закінченої роботи 01.06.08.____________________________________

3. Вихідні дані до роботи: Вимоги до кінцевого програмного продукту, вихідні масиви даних

4. Зміст розрахунково-пояснювальної записки (перелік питань, що підлягають розробці) Постановка завдання, Теоретичні дослідження основ проектування баз даних; Програмування додатків MS OFFICE в DELPHI; Програмна реалізація та опис функціональних можливостей системи;___ Економічне обґрунтування доцільності розробки програмного продукту; Охорона праці________

5. Перелік графічного матеріалу (з точними вказівками обов'язкових креслень)

1. Логіко-функціональна схема роботи системи_________________

2. Схема зв'язку між таблицями баз даних_____________________

3. Схема ієрархії форм системи______________________________

4. Приклади вікон системи в різних режимах роботи_____________

5. Об'єктна модель MS Excel ________________________________

6. Об'єктна модель MS Word ________________________________

7. Об'єктна модель елементів управління MS Word_______________

КАЛЕНДАРНИЙ ПЛАН

№ п/п

Найменування етапів дипломної роботи

Термін виконання етапів роботи

Примітки

1.

Отримання завдання на дипломну роботу

31.10.07

2.

Огляд існуючих рішень

20.02.08

3.

Обґрунтування вибраного рішення

03.03.08

4.

Програмна частина (постановка задачі, створення програмного забезпечення, опис алгоритму рішення задачі, проектування та опис інтерфейсу користувача, опис програми)

30.04.08

5.

Оформлення пояснювальної записки

15.05.08

6.

Оформлення графічної документації

25.05.08

7.

Оформлення електронних додатків до диплому

27.05.08

8.

Представлення дипломної роботи до захисту

01.06.08

Студент-дипломник _________________

(підпис)

Керівник роботи _________________

(підпис)

Анотація

Метою даної дипломної роботи є розробка гнучкої комп'ютеризованої системи, призначеної для автоматизації розрахунку учбового навантаження. Система реалізована в середовищі Delphi 6 із застосуванням технології ADO.

Аннотация

Целью данной дипломной работы является разработка гибкой компьютеризированной системы, предназначенной для автоматизации расчета учебной нагрузки. Система реализована в среде Delphi 6 с применением технологии ADO.

The summary

The purpose of the given degree work is development of the flexible computerized system intended for automation of the educational loading calculation. The system is realized in the environment of Delphi 6 with the use of ADO technology.

ВСТУП

Delphi - одна з наймогутніших систем, що дозволяють на найсучаснішому рівні створювати як окремі прикладні програми, так і розгалужені програмні комплекси, призначені для роботи в корпоративних мережах і в Інтернет. Одне з головних завдань Delphi - розробка додатків для роботи з базами даних. У цій області Delphi займає самі передові позиції, працюючи з будь-якими системами управління базами даних.

Про Delphi говорять як про середовище швидкого створення програм. Це технологія візуального програмування, яка дозволила звести проектування призначеного для користувача інтерфейсу до простих і наочних процедур. Для завдання яких-небудь властивостей елементу системи зовсім не обов'язково писати масивні текстові рядки, досить змінити цю властивість в інспекторі об'єктів (так званому моніторі властивостей вибраного елементу). Ця зміна автоматично доповнить або модифікує програмний код.

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

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

· Додатки MS Office увібрали в себе багатий досвід взаємодії користувача персонального комп'ютера і програмного продукту і є універсальними інструментами, які можуть бути інтегровані в додатки, що створюються в різних середовищах розробки;

· Переважна більшість користувачів володіють навиками роботи в MS Word і MS Excel;

· Багато бухгалтерських і правових систем володіють великими наборами різних шаблонів документів, які можна використовувати при проектуванні власних додатків;

· Документи MS Word і MS Excel, як і додатки MS Word і MS Excel, мають чіткі об'єктні моделі і можуть управлятися як внутрішніми, так і зовнішніми програмами.

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

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

1. ПОСТАНОВКА ЗАВДАННЯ

1.1 Найменування та область використання

Найменування розробки: гнучкої системи автоматизації розрахунку учбового навантаження. Дана розробка може бути застосована для автоматизації розрахунку учбового навантаження на кафедрі технічної кібернетики Криворізького інституту КУЕІТУ.

1.2 Підстава для створення

Підставою для розробки є наказ № 65Са-01 від 29 жовтня 2007 р. по Криворізькому інституту КУЕІТУ.

Початок робіт: 31.10.07. Закінчення робіт: 01.06.08.

1.3 Характеристика розробленого програмного забезпечення

Гнучка система автоматизації була реалізована в середі Delphi 6.0. з використанням технології доступу до файлів баз даних ADO. Для функціонування системи потрібна інсталяція MS Office.

До складу системи входять:

· Nagruzka.exe - виконавчий файл розробленої системи;

· baza.mdb - файл, що містить таблиці баз даних, і який може бути розташований на будь-якому комп'ютері, що підключений до локальної мережі;

· шаблони документів.

1.4 Мета й призначення

Метою даної дипломної роботи є розробка гнучкої комп'ютеризованої системи для автоматизації розрахунку учбового навантаження. Система дозволяє повністю автоматизувати процес формування семестрових планів, карток учбового навантаження та інших документів звітності.

1.5 Загальні вимоги до розробки

Вимоги до програмного забезпечення:

· Робота в середовищі операційних систем Windows 2000/XP;

· Відсутність додаткових вимог до розміщення здійснених файлів;

· Простота й зрозумілість інтерфейсу.

Мінімальні вимоги до апаратного забезпечення:

· IBM-сумісний комп'ютер, не нижче Pentium IІ, RAM-128Mb, SVGA-800*600*16bit;

· Вільний простір на жорсткому диску не менш 2Мб;

Додаткове програмне забезпечення: інсталяція пакету MS Office.

1.6 Джерела розробки

Джерелами розробки дипломної роботи є:

· довідкова література;

· наукова література;

· технічна література;

· програмна документація.

2. ТЕОРЕТИЧНІ ДОСЛІДЖЕННЯ ОСНОВ ПРОЕКТУВАННЯ БАЗ ДАНИХ

2.1 Моделі представлення даних

Залежно від виду організації даних розрізняють наступні основні моделі представлення даних в БД:

- ієрархічну;

- мережеву;

- реляційну;

- об'єктно-орієнтовану.

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

У мережевій моделі дані організовуються у вигляді довільного графа. Недоліком мережевої моделі є жорсткість структури і висока складність її організації.

Крім того, значним недоліком ієрархічної і мережевої моделей є також те, що структура даних задається на етапі проектування БД і не може бути змінена при організації доступу до даних.

У об'єктно-орієнтованій моделі окремі записи бази даних представляються у вигляді об'єктів. Між записами бази даних і функціями їх обробки встановлюються взаємозв'язки за допомогою механізмів, подібних відповідним засобам в об'єктно-орієнтованих мовах програмування. Об'єктно-орієнтовані моделі поєднують особливості мережевої і реляційної моделей і використовуються для створення великих БД зі складними структурами даних.

2.2 База даних як складова частина інформаційної системи

База даних (БД) - це сукупність взаємозв'язаних даних, що зберігаються разом. Основними та невід'ємними властивостями БД є такі:

- для даних допускається така мінімальна надлишковість, яка сприяє їх оптимальному використанню в одному чи кількох застосуваннях;

- незалежність даних від програм;

- для пошуку та модифікації даних використовуються спільні механізми;

- як правило, у складі БД існують засоби для підтримки її цілісності та захисту від неавторизованого доступу.

Прокоментуємо додатково підкреслені слова та вирази у вищенаведеному описі, порівнюючи в основному з близьким попередником БД - файловими системами (ФС).

На відміну від файлових систем БД зорієнтована для підтримки даних для кількох застосувань. На практиці ця властивість інколи порушується. Часом таке порушення можна пояснити тим, що проект вводиться в дію поетапно, і у певний момент дійсно функціонує тільки одне застосування. Іноді відхід від вказаної властивості зумовлений іншими важливими причинами, але, на жаль, не є рідкістю просто помилка у виборі засобів для реалізації проекту і ситуація нагадує відоме прислів'я про стрілянину з гармати по горобцям.

Взаємозв'язок даних полягає в тому, що доступ до певної групи даних якогось застосування загалом полегшує доступ до інших груп даних цього ж застосування. В умовах орієнтації БД на велику кількість застосувань виникає необхідність у підтримці значного числа різноманітних зв'язків між даними.

Вимога мінімізації надлишковості полягає у мінімальній кількості копій для одних і тих же даних з урахуванням орієнтації на кілька застосувань. Ці надлишкові копії використовуються для підтримки зв'язків між даними. Як приклад, розглянемо відомості, що зберігаються у відділі кадрів деякого підприємства про своїх співробітників. Користувачами цієї інформації виступають адміністрація, профспілкова організація та бухгалтерія підприємства. Адміністрацію цікавлять дані про кваліфікацію, професійний рівень і досвід роботи, профспілки використовують відомості соціально-побутового характеру, а бухгалтерія оброблює ті дані, що потрібні для нарахувань заробітної плати та підрахунку податків, інших нарахувань та відрахувань. Хоча інформація і різнорідна, але все ж має значну спільну частину. Всім користувачам потрібні службовий номер, прізвище, ім'я, по-батькові співробітника, його рік народження, дані про умови праці. Інформація про сімейний стан та склад сім'ї використовується бухгалтерією і профспілками. Якщо для зберігання даних застосувати технологію ФС, то можливі два крайні варіанти: а)незалежні один від одного файли, відсортовані згідно з потребами того чи іншого користувача, передбачають значну надлишковість даних; б)всі дані знаходяться у одному файлі, відсортованому так, як потрібно одному з користувачів (наприклад, адміністрації) - надлишковість при цьому практично відсутня, але зручно працювати тільки одному з користувачів. Концепція БД займає проміжне становище між вищеописаними крайніми позиціями.

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

Про незалежність даних часто говорять, як про одну з основних властивостей БД. Під цим поняттям розуміється можливість зміни структури даних без зміни програм, що її використовують, а також рівень самоінтерпретованості даних. Міра незалежності даних тісно пов'язана з ступенем необхідної деталізації відомостей про організацію їх зберігання. Проілюструємо цю ситуацію дещо абстрагованим прикладом. Припустимо, що ви збираєтесь переглянути фільм у кінотеатрі, а для того, щоб прибути на місце плануєте скористатись послугами таксі. Поінформованість та досвід водія таксі відповідають мірі незалежності. У одному випадку Вам достатньо вказати лише назву фільму, а все інше зробить водій. У іншому випадку Вам потрібно буде визначити назву кінотеатру. Наступне зниження рівня - це адреса кінотеатру, а ще далі - вказівки по дорозі типу "їхати прямо, звернути наліво, а через 500 метрів - направо і т.п.". Аналогічно і користувачу при підвищенні ступеня незалежності даних треба менше задавати (і знати) "процедурної" інформації щодо доступу до даних. Зауважимо, що певний (хоч і досить низький) рівень незалежності мають сучасні ФС: при доступі до файлу достатньо вказати його ім'я, а інформація про треки та сектори непотрібна, але зміна розміру запису вимагає корекції всіх програм, що звертались до цього файла.

Під цілісністю БД розуміють несуперечливість між собою даних, що в ній зберігаються. Наприклад, для кадрових відомостей рік народження співробітника не може бути більшим року призначення на посаду або поточного року. Щоб запобігти виникненню таких ситуацій при модифікації і поповненнях БД, співвідношення між даними контролюються спеціальними засобами підтримки цілісності БД. Специфікація подібних умов, що накладаються на дані і відслідковуються при будь-яких їх оновленнях, покладаються на спеціальну службу Адміністратора бази даних (АБД), а системи управління базами даних (СУБД) надають інструментальні засоби, які забезпечують службі АБД можливість виконання її функцій.

За критерієм виразової потужності інструментальні засоби специфікації умов цілісності можна підрозділити на такі групи:

· порівняння поля запису (або атрибута) з константою або з іншим полем цього ж запису; приклад такої умови наводився вище;

· порівняння поля запису з полем або кількома полями інших записів;

· порівняння поля запису з множиною (підмножиною) значень полів всього файлу або навіть кількох файлів.

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

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

· оперативно одержувати інформацію про місце знаходження комп'ютера;

· вести облік пристроїв які підключені або входять до складу комп'ютера;

· організувати процеси перемішання комп'ютерів їх частин або пристроїв;

· вести облік програм які установлені на цьому комп'ютері;

· вести облік профілактик які були зроблені на цьому комп'ютері.

2.2.1 Моделі представлення даних

У залежності від виду організації даних розрізняють наступні основні моделі представлення даних у БД:

· ієрархічну;

· мережну;

· реляційну;

· обє'ктно-орієнтовану.

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

У мережній моделі дані організуються у вигляді довільного графа. Недоліком мережної моделі є висока складність її організації.

Крім того, значним недоліком ієрархічної і мережної моделей є також те, що структура даних задається на етапі проектування БД і не може бути змінена при організації доступу до даних.

В обє'ктно-орієнтованій моделі окремі записи бази даних представляються у вигляді об'єктів. Між записами бази даних і функціями їхні обробки установлюються взаємозв'язки за допомогою механізмів, подібних до відповідних засобів в обє'ктно-орієнтованих мовах програмування. Обє'ктно-орієнтовані моделі сполучать особливості мережної і реляційної моделей та використовуються для створення великих БД зі складними структурами даних.

Реляційна модель одержала свою назву від англійського терміна relation (відношення) і була запропонована в 70-х роках співробітником фірми IBM Эдгаром Коддом. Реляційна БД являє собою сукупність таблиць, зв'язаних відносинами. Достоїнствами реляційної моделі даних є простота, гнучкість структури, зручність реалізації на комп'ютері, наявність теоретичного опису. Дана розробка заснована на реляційних базах даних.

2.2.2 Реляційний спосіб доступу до даних

Реляційний спосіб доступу до даних ґрунтується на операціях із групами записів. Для завдання операцій використовуються засоби мови структурованих запитів -- SQL (Structured Query Language), тому реляційний спосіб доступу називають також SQL-орієнтованим. Для його реалізації в програмних продуктах Delphi як набір даних повинні застосовуватися такі компоненти, як Query чи storedProc, що дозволяють виконати SQL-запит.

Засобу SQL застосовні для виконання операцій з локальними і вилученими БД. Найбільше повно переваги реляційного способу доступу і мови SQL виявляються при роботі з вилученими БД. Основним достоїнством реляційного способу доступу є невелике завантаження мережі, оскільки передаються тільки запити і результат їхнього виконання.

Стосовно до локальних БД використання реляційного способу доступу не дає істотної переваги, але й у цьому випадку за допомогою SQL-запиту можна:

· формувати склад полів набору даних при виконанні додатка; включати в набір даних полючи і запису з декількох таблиць; відбирати запису за складними критеріями;

· сортувати набір даних по будь-якому полю, у тому числі неіндексованому;

· здійснювати пошук даних по частковому збігу зі значеннями полів.

Основи мови SQL

Мова SQL орієнтована на виконання дій з таблицями БД і даними в цих таблицях, а також деяких допоміжних дій. На відміну від процедурних мов програмування, у неї немає операторів керування обчислювальним процесом (циклів, переходів, розгалуження) і засобів уведення-висновку. Складену мовою SQL програму також називають SQL-запитом.

Мова SQL звичайно інтегрується в інші засоби (оболонку), використовуючись в інтерактивному режимі. Так, у системі керування базами даних, що має інтерактивний інтерфейс, користувач може працювати, нічого не знаючи про мову SQL, незалежно від того, яка БД використовується: віддалена чи локальна . Такі СУБД, як Microsoft Access, Visual FoxPro чи Paradox, самі виконують дії, зв'язані з програмуванням запитів на SQL, пропонуючи користувачу засоби візуальної побудови запитів, наприклад, Query By Example (QBE) -- запит за зразком.

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

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

Код динамічного SQL-запиту формується чи змінюється при роботі програми. Такі запити звичайно застосовуються у випадку, коли при виконанні запиту потрібно враховувати дії користувача.

Прийнята нами класифікація не є однозначною. Так, у деяких випадках SQL-запити з параметрами теж відносять до розряду динамічних.

Мова SQL має кілька стандартів, з яких найбільш розповсюдженими серед виробників програмних продуктів є стандарти SQL-89 і SQL-92. Стандарт SQL92, підтриманий Американським національним інститутом стандартів (ANSI -- American National Standards Institute) і Міжнародною організацією по стандартизації (ISO -- International Standard Organization), також називають стандартом ANSI чи

ANSI/ISO. Наявність декількох стандартів і різна їхня інтерпретація породили безліч діалектів мови SQL, що у більшому чи меншому ступені відрізняються друг від друга.

У мові SQL можна виділити наступні основні підмножини операторів:

· визначення даних;

· обробки даних;

· керування привілеями (доступом до даних); керування транзакціями.

Розглянемо основні можливості, реалізовані у Delphi версії мови SQL. Ця версія трохи відрізняється від стандарту SQL-92, наприклад, у ній не можна працювати з переглядами і керувати привілеями.

У додатках Delphi для виконання операторів SQL можна використовувати набір даних Query. Нагадаємо, що текст SQL-запиту є значенням властивості sql компонента Query і формується при розробці додатка, чи під час його виконання. Компонент Query забезпечує виконання SQL-запиту й одержання відповідного набору даних. Формування набору даних виконується при активізації компонента Query шляхом виклику методу Оpen чи установкою властивості Active значення True. Іноді при відпрацьовуванні SQL-запиту немає необхідності одержувати набір даних, наприклад, при видаленні, чи вставці модифікації записів. У цьому випадку більш переважно виконувати запит викликом методу ExecSQL. При роботі в мережі виклик цього методу робить необхідну модифікацію набору даних, не передаючи в визиваючу програму (комп'ютер) запис набору даних, що істотно знижує навантаження на мережу.

Крім того, набрати і виконати в інтерактивному режимі текст SQL-запиту дозволяють інструментальні програми, що поставляються разом з Delphi 5, наприклад такі, як Database Desktop, SQL Explorer і SQL Builder. Відзначимо, що перші дві програми викликаються за допомогою однойменних команд меню Tools і Database, відповідно, а візуальний будівник запитів SQL Builder викликається через контекстне меню компонента Query.

Перевірка синтаксису і відпрацьовування запиту, убудованого в додаток (найчастіше за допомогою компонента Query), виробляються на етапі виконання програми. При наявності синтаксичних помилок у тексті SQL-запиту генерується виняткова ситуація, інтерпретувати яку часом непросто. Для налагодження SQL-запитів зручно використовувати програми з розвитим інтерфейсом, наприклад Database Desktop. Після налагодження текст запиту вставляється в розроблювальний додаток. При такому підході значно скорочується час створення запитів і істотно зменшується імовірність появи динамічних помилок.

Як результат виконання SQL-запиту може повертатися набір даних, що складають відібрані з його допомогою запис. Цей набір даних називають результуючим.

Зарезервовані слова мови SQL пишемо рядковими, а імена -- прописними буквами. Регістр букв не впливає на інтерпретацію операторів мови. Крапка з комою наприкінці SQL-операторів необов'язкова. Елементи в списках, наприклад, імена полів і таблиць, повинні бути розділені комами.

Імена таблиць і полів (стовпців) полягають в одиночні чи подвійні апострофи, наприклад, "First Name". Якщо ім'я не містить пробілів і інших спеціальних символів, то апострофи можна не вказувати.

У SQL-запиті допускаються коментарі, що пояснюють текст програми. Коментар обмежується символами /* і */.

Функції мови SQL

Мова SQL, як і інші мови, надає для використання ряд функцій, з яких найбільш уживані наступні:

Агрегатні чи статистичні функції:

AVG () -- середнє значення;

МАХ () -- максимальне значення;

MIN () -- мінімальне значення;

SUM () -- сума;

COUNT () -- кількість значень;

COUNT(*) -- кількість ненульових значень.

Функції роботи з рядками:

UPPER(Str) - перетворення символів рядка Str до верхнього регістра;

LOWER(Str) - перетворення символів рядка Str до нижнього регістра;

TRIM(Str) -- видалення пробілів на початку і наприкінці рядка Str;

SUBSTRING (Str FROM n1 to n2) -- виділення з рядка str підрядка,
що містить у собі символи, починаючи з номера (позиції) n1 і закінчуючи номером n2;

CAST ( <Expression> AS <Type>) -- приведення виразу Expression до типу Type;

- конкатенація (зчеплення) двох рядків.

Функції декодування дати і часу:

EXTRACT (<Елемент> FROM <вираз>) - з вираження, що містить значення чи дати часу, витягається значення, що відповідає
зазначеному елементу. Як елемент дати чи часу можна
вказувати значення: YEAR, MONTH, DAY, HOUR, MINUTE чи SECOND.

Відбір даних з таблиць

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

Оператор SELECT -- найважливіший оператор мови SQL. Він використовується для добору записів, що задовольняють складним критеріям пошуку, і має наступний формат:

SELECT [DISTINCT] {* I <Список полів>)

FROM <Список таблиць>

[WHERE <Умови добору >]

[ORDER BY <Список полів для сортування >]

[GROUP BY <Список полів для групування >]

[HAVING <Умови групування>]

[UNION <Вкладений оператор SELECT>]

Результат виконання SQL-запиту, заданого оператором SELECT, являє собою вибірку записів, що відповідають заданим у ньому умовам. При розгляді оператора SELECT будемо припускати, що SQL-запит набраний і виконаний за допомогою компонента Query. У цьому випадку результатом виконання запиту є відповідний цьому компонент набору даних.

У такому результуючому наборі даних можуть бути дозволені чи заборонені повторювані записи (тобто однакові значення, що мають, усіх полів). Цим режимом керує DISTINCT. Якщо він відсутній, то в наборі даних дозволяються повторювання записів.

В оператор SELECT обов'язково включається список полів і операнд FROM. інші операнди можуть бути відсутніми. У списку операнда FROM перелічуються імена таблиць, для яких відбираються записи. Список повинний містити як мінімум одну таблицю.

Список полів визначає склад полів результуючого набору даних, ці поля можуть належати різним таблицям. У списку повинне бути задане хоча б одне поле. Якщо в набір даних потрібно уключити всі поля таблиці (таблиць), то замість перерахування імен полів можна вказати символ "*". Якщо список містить поля декількох таблиць, то для вказівки приналежності полів до тієї чи іншої таблиці використовують складене ім'я, що включає в себе ім'я таблиці й ім'я полючи, розділені крапкою: <Ім'я таблиці>.<Ім'я поля>

Операнд WHERE задає умови (критерії) добору, яким повинні задовольняти запису в результуючому наборі даних. Вираження, що описує умови добору, є логічним. Його елементами можуть бути імена полів, операції порівняння, арифметичні і логічні операції, дужки, спеціальні функції LIKE, NULL, IN і інші.

Операнд GROUP BY дозволяє виділяти групи записів у результуючому наборі даних. Групою є записи з однаковими значеннями в полях, перерахованих за операндом GROUP BY. Виділення груп потрібно для виконання групових операцій над записами, наприклад, для визначення кількості якого-небудь товару на складі.

Операнд HAVING діє разом з операндом GROUP BY і використовується для добору записів усередині груп. Правила запису умов групування аналогічні правилам формування умов вибору в WHERE. Операнд ORDER BY містить список полів, що визначають порядок сортування записів результуючого набору даних. За замовчуванням сортування по кожному полю виконується в порядку зростання значень; якщо необхідно задати для полів сортування по зменшенню, то після імені цього поля вказується описувач DESC.

Оператори SELECT можуть мати складну структуру і бути вкладеними друг у друга. Для об'єднання операторів використовується операнд UNION, у якому розташовується вкладений оператор SELECT, названий також підзапитом. Результуючий набір даних представляють записи, відібрані в результаті виконання умов добору, заданих операндами WHERE обох операторів.

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

Статичний і динамічний запити

Як уже відзначалося, у залежності від способу формування SQL-запит може бути:

· статичним;

· динамічним.

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

Динамічний SQL-запит формується чи змінюється при виконанні додатка.

2.2.3 Таблиці

Таблиці - фундаментальні об'єкти реляційної бази даних, у яких зберігається основна частина програмних даних. Окрема таблиця найчастіше зберігає інформацію з конкретної теми (наприклад, відомості компанії, чи адреси замовників). Інформація в таблиці організується в рядки (запису) і стовпці (поля). Таблиці присутні два компоненти: структура таблиці і дані таблиць.

Структура таблиці (також називається визначенням таблиці) специфікується при створенні таблиці. Структура таблиці повинна бути спроектована і створена перед введенням у таблицю яких-небудь даних. Вона визначає, які дані таблиця буде зберігати, а також правила, асоційовані з уведенням, зміною чи видаленням даних (правила, чи обмеження).

Структура таблиці включає наступну інформацію:

Ім'я таблиці - Ім'я, по якому до таблиці можна звернутися у властивостях, методах і операторах SQL.

Стовпці таблиці - Категорії інформації, збереженої в таблиці. Кожен стовпець має ім'я і тип даних. Табличні і стовпцеві обмеження - Обмеження цілісності, визначені на рівні таблиці чи на рівні стовпця.

Кожен вертикальний стовпець таблиці STUDENTS представляє один елемент даних для кожного зі студентів. Наприклад, у стовпці GROUP містяться номери груп, у яких розташовані студенти. У стовпці DATE містяться дати народження кожного студента.

Дані таблиці - інформація, що збережена в таблиці. Усі дані таблиці зберігаються в рядках, кожна з який містить порції інформації в стовпцях, визначених у структурі таблиці. Дані - та частина таблиці, до якої повинні мати доступ користувачі програми (наприклад, дані таблиці можуть виводитися в елементах керування, розміщених у формах і звітах).

На перетинанні кожного рядка з кожним стовпцем таблиці міститься одне значення даних. Наприклад, у другому рядку в стовпці FAMILY міститься значення "ІВАНОВ". У стовпці PODGRP того ж рядка міститься значення 1, що є номером підгрупи, у якій знаходиться даний студент.

Усі значення, що містяться в тому самому стовпці, є даними одного типу. Наприклад, у стовпці FAMILY містяться тільки слова, у стовпці DATE містяться дати, а в стовпці NUMBER містяться цілі числа, що представляють ідентифікатори студентів. Безліч значень, що можуть міститися в стовпці, називається доменом цього стовпця. Доменом стовпця FAMILY є безліч прізвищ студентів. Доменом стовпця DATE є будь-як дата.

У кожного стовпця в таблиці є своє ім'я, що звичайно служить заголовком стовпця. Усі стовпці в одній таблиці повинні мати унікальні імена, однак дозволяється привласнювати однакові імена стовпцям, розташованим у різних таблицях. На практиці такі імена стовпців, як NUMBER, FAMILY, NAME, GROUP, DATE, PODGRP, часто зустрічаються в різних таблицях однієї бази даних.

Стовпці таблиці упорядковані ліворуч праворуч, і їхній порядок визначається при створенні таблиці. У будь-якій таблиці завжди є як мінімум один стовпець. У стандарті ANSI/ISO не вказується максимально припустиме число стовпців у таблиці, однак майже у всіх комерційних СУБД ця межа існує і звичайно складає приблизно 255 стовпців.

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

У таблиці може міститися будь-яка кількість рядків. Цілком припустиме існування таблиці з нульовою кількістю рядків. Така таблиця називається порожньою. Порожня таблиця зберігає структуру, визначену її стовпцями, просто в ній не містяться дані. Стандарт ANSI/ISO не накладає обмежень на кількість рядків у таблиці, і в багатьох СУБД розмір таблиць обмежений лише вільним дисковим простором комп'ютера. В інших СУБД мається максимальна межа, однак він дуже високий - біля двох мільярдів рядків, а іноді і більше.

2.2.4 Ключові поля

За допомогою запитів, форм і звітів реляційних баз даних, можна швидко знайти і зв'язати дані з різних. Для цього кожна таблиця повинна містити одне чи кілька полів, що однозначно ідентифікують кожен запис у таблиці. Ці поля називаються ключовими полями таблиці. Ключові поля ще також називають первинним ключем. Можна виділити три типи ключових полів: лічильник, простий ключ і складений ключ.

Оскільки рядки в реляційній таблиці не упорядковані, не можна вибрати рядок по його номеру в таблиці. У таблиці немає "першого", "останнього" чи "тринадцятого" рядка. Тоді яким чином можна вказати в таблиці конкретний рядок, наприклад рядок для студента з прізвищем Іванов?

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

Якщо поле містить унікальні значення, такі як коди чи інвентарні номери, то це поле можна визначити як простий ключ. Якщо обране поле містить повторювані чи порожні значення, то воно не буде визначено як ключове. Для визначення записів, що містять повторювані дані, можна виконати запит на пошук повторюваних записів. Якщо усунути повтори шляхом зміни значень неможливо, то випливає або додати в таблицю поле лічильника і зробити його ключовим, або визначити складений ключ.

На перший погляд, первинним ключем таблиці STUDENTS можуть служити і стовпець FAMILY. Однак у житті досить часто зустрічаються однофамільці, отже, стовпець FAMILY більш не може виконувати роль ключа. На практиці як первинні ключі таблиць звичайно варто вибирати ідентифікатори, такі як ідентифікатор студента NUMBER у таблиці STUDENTS.

Таблиця ORDERS являє приклад таблиці, у якій первинний ключ являє собою комбінацію стовпців. Такий первинний ключ називається складеним ключем.

Він застосовується у випадках, коли неможливо гарантувати унікальність значень кожного окремого поля. Стовпець NSTUD містить ідентифікатори студентів, перерахованих у таблиці, а стовпець NORDER містить номера, наказам. Може показатися, що стовпець NORDER міг би й один виконувати роль первинного ключа, однак ніщо не заважає одному студенту кілька разів потрапити під відрахування і потім відновитися на факультеті. Таким чином, як первинний ключ таблиці ORDERS необхідно використовувати комбінацію стовпців NSTUD і NORDER. Для кожного зі студентів, що містяться в таблиці, комбінація значень у цих стовпцях буде унікальною.

Первинний ключ для кожного рядка таблиці є унікальним, тому в таблиці з первинним ключем немає двох зовсім однакових рядків. Таблиця, у якій усі рядки відрізняються друг від друга, у математичних термінах називається відношенням. Саме цьому терміну реляційні бази даних і зобов'язані своєю назвою, оскільки в їхній основі лежать відносини (таблиці з несхожими друг від друга рядками).

Хоча первинні ключі є важливою частиною реляційної моделі даних, у перших реляційних СУБД (System/R, DB2, Oracle і інших) не була забезпечена явно їхня підтримка. Як правило, проектувальники бази даних самі стежили за тим, щоб у всіх таблиць були первинні ключі, однак у самих СУБД не було можливості визначити для таблиці первинний ключ. І тільки в СУБД DB2 Version 2, що з'явилася в квітні 1988 року, компанія IBM реалізувала підтримку первинних ключів. Після цього подібна підтримка була додана в стандарт ANSI/ISO.

2.2.5 Індекси

Індекси - об'єкти бази даних, що забезпечують швидкий доступ до окремих рядків у таблиці. Індекс створюється з метою підвищення продуктивності операцій запитів і сортування дані таблиці. Індекси також використовуються для підтримки в таблицях деяких типів ключових обмежень; ці індекси часто створюються автоматично при визначенні обмеження.

Індекс - незалежний об'єкт, логічно окремий від таблиці; створення чи видалення індексу ніяк не впливає на визначення даних індексованої таблиці. Він зберігає високо оптимізовані версії всіх значень одного чи більше стовпців таблиці. Коли значення запитується з індексованого стовпця, процесор (ядро) бази даних використовує індекс для швидкого перебування, необхідного значення. Індекси повинні постійно підтримуватися, щоб відбивати останні зміни індексованих стовпців таблиці.

Створити індекси, як і ключі, можна по одному чи декільком полям.

Складені індекси дозволяють при доборі даних групувати записи, у яких перші поля можуть мати однакові значення. Індексувати поля потрібно для виконання частих пошуків, сортувань чи об'єднань з полями з інших таблиць у запитах. Ключові поля таблиці індексуються автоматично. Не можна індексувати поля з типом даних поле МЕМО, чи об'єкту OLE. Для інших полів індексування використовується, якщо поле має текстовий, числовий, грошовий тип чи тип дати/часу і потрібно здійснювати пошук і сортування значень у полі. Якщо передбачається, що буде часто виконуватися сортування чи пошук одночасно по двох і більш полях, можна створити складений індекс. Наприклад, якщо для того самого запиту часто встановлюється критерій для полів Ім'я і Прізвище, то для цих двох полів має сенс створити складений індекс. При сортуванні таблиці по складеному індексі спочатку здійснюється сортування по першому полю, визначеному для даного індексу. Якщо в першому полі містяться записи з повторюваними значеннями, то сортування здійснюється по другому полю і т.д.

2.2.6 Зовнішні ключі

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

Зовнішній ключ, як і первинний ключ, теж може являти собою комбінацію стовпців. На практиці зовнішній ключ завжди буде складеним ( що складається з декількох стовпців), якщо він посилається на складений первинний ключ в іншій таблиці. Очевидно, що кількість стовпців і їхній типи даних у первинному і зовнішньому ключах збігаються.

Якщо таблиця зв'язана з декількома іншими таблицями, вона може мати кілька зовнішніх ключів. Реляційна модель даних має всі можливості мережної моделі по частині вираження складних відносин.

Зовнішні ключі є невід'ємною частиною реляційної моделі, оскільки реалізують відносини між таблицями бази даних. До нещастя, підтримка зовнішніх ключів була відсутня в перших реляційних СУБД. Вона була введена в системі DB2 Version 2 і тепер мається у всіх комерційних СУБД.

3. ПРОГРАМУВАННЯ ДОДАТКІВ MS OFFICE В DELPHI

3.1 Загальні принципи створення контролерів автоматизації MS Office

Office - це середовище, в якому більшість завдань можна вирішувати без якого-небудь програмування. Але вся цінність застосувань Office для розробника полягає в тому, що все, що можна зробити руками, можна зробити програмним шляхом з використанням засобів VBA (Visual Basic for Application). Крім того, додатки Office поставляють сервера COM, які надають інтерфейс доступу до додатку і його об'єктів. Завдяки цьому, розробник в середовищі Delphi має можливість, створивши контролер автоматизації, управляти сервером. Насправді додаток розглядається як сукупність об'єктів зі своїми методами, властивостями, подіями, які забезпечують скелет додатку. Програміст Office є не творцем додатку, як, наприклад це робиться в Delphi, а він бере участь в створенні системи документів. Таким чином, ДОКУМЕНТ, а не програма є метою розробки. Спадкоємство - могутній інструмент побудови нового класу, проте програмістам відомий ще один спосіб отримання класу - вбудовування. Як і спадкоємство, вбудовування транзитивне відношення. У об'єктній моделі Office немає спадкоємства в повному розумінні цього слова, а є тільки вбудовування.

Завжди існує кореневий об'єкт, він завжди називається Application. Кожний додаток Office має свій власний кореневий об'єкт - Word.Application, Excel.Application. Не дивлячись на це в об'єкт Application вбудовується вся решта об'єктів (учасники), які є властивостями головного об'єкту. У учасників можуть бути свої учасники і так далі.

Як тільки відкривається новий документ, будь то PowerPoint, Excel, Word, автоматично створюється каркас нового документа, який є набором бібліотек з класами.

Об'єкти цих класів будуть доступні в даному документі. Завданням розробника контролера автоматизації є дати доступ до кореневого об'єкту сервера, збудувати ланцюжок доступу до об'єктів - учасників (вбудованих об'єктів), правильно передати параметри.

Однією з чудових особливостей багатозадачних операційних систем є підтримка взаємодії і обміну інформацією між різними програмами. Операційна система (ОС) Windows -- не виключення з цього правила і надає безліч механізмів такої підтримки. Робота ОС Windows передбачає передачу і обробку повідомлень як між ОС і додатками, так і між додатками, а також використання динамічних бібліотек. Цей механізм був використаний ще в перших версіях Windows і відобразився на методах розробки додатків для цієї ОС. Основою програмування в перших версіях Windows стало програмування об'єктів, тому що будь-яка програма цієї ОС була об'єктом. З розвитком операційної системи розвивалися і механізми взаємодії програм.

Розвиток йшов від обміну повідомленнями, використання DLL (Dynamic Link Library, бібліотеки процедур і функцій, що динамічно підключаються) і механізму DDE (Dynamic Data Exchange, динамічний обмін даними) до сучасних технологій, заснованих на OLE (Object Linking and Embedding, зв'язок та впровадження об'єктів), COM (Component Object Model, компонентна модель об'єктів), DCOM (Distributed Component Object Model, розподілена компонентна модель об'єктів). Цей перехід був обґрунтований тим, що стало недостатнім використання тільки функцій і процедур, що надаються зовнішніми програмами і бібліотеками. На перший план вийшла необхідність управління цілими об'єктами, які є додатками або документами і розташовані як в одному адресному просторі програми, що управляє, так і поза цим простором або навіть на іншому комп'ютері локальної мережі. Така постановка завдання спричинила за собою революційні зміни як в структурі ОС Windows, так і в програмах, призначених для розробки додатків.

Додатки MS Office є об'єктами-серверами, які можуть управлятися зовнішніми програмами, і тут не останню роль грають механізми СОМ і OLE.

Модель СОМ надає можливість створення багато разів використовуваних об'єктів в різних додатках, що підтримують цей інтерфейс. Об'єктами СОМ є додатки-сервери, спеціальним чином оформлені і зареєстровані в системі. Вони можуть бути представлені у форматі ЕХЕ- або DLL-модулів. Ці сервери можуть завантажуватися і виконуватися як в адресному просторі додатку, так і у вигляді самостійного процесу, або на іншому комп'ютері мережі (розподілена модель СОМ -- DCOM). Вони повинні бути написані на будь-якій мові, що підтримує інтерфейс СОМ.

Розвиток технології СОМ продовжує її підмножину -- технологія OLE Automation (автоматизація OLE). Її відмінність в тому, що вона дозволяє використовувати можливості СОМ не тільки мовам-компіляторам, але і інтерпретаторам, і забезпечує зв'язок з методами, що викликаються, на стадії виконання додатку. Такий спосіб виклику називається пізнім зв'язуванням. Методи при такому способі виклику виконуються повільніше, причому наперед не можна перевірити правильність написання об'єктів і їх методів. Перевагою такого методу є незалежність вибору середовища розробки від об'єкту, який потрібно програмувати.

Середовище Delphi підтримує виклики методів серверів автоматизації. Сервер автоматизації є програмою, яка може управлятися зовнішньою програмою - контролером автоматизації.

Сервером в даному випадку є Word або Excel, а контролер розробляється програмістом.

Для цього використовуються змінні типу Variant, які містять посилання на об'єкти автоматизації.

На етапі виконання програми серверу автоматизації передається команда у вигляді рядка, заздалегідь записаного в змінну типу Variant. Розглянемо як приклад наступний фрагмент програми:

Завантаження Internet Explorer

Uses ComObj;

Var IE:variant;

procedure TMainForm.Button1Click(Sender: TObject);

begin

IE:=CreateOleObject('InternetExplorer.Application');

IE.Visible:=true;

end;

Змінна IE типу Variant не має ніяких властивостей і методів, але, проте, програма відкомпілюється і виконуватиметься. Якщо ми замість властивості Visible напишемо будь-яку іншу властивість, яка не підтримує IE, то компілятор помилки не видасть, а на стадії виконання відбудеться помилка. Це особливості пізнього зв'язування -- властивості і методи перевіряються в самому додатку-сервері на стадії виконання. Можна додати, що весь цей механізм працює за рахунок COM API.

Використовуючи контроллери автоматизації, в додатакх, створених в середовищі Delphi, можна так само просто, як при звичайній роботі з Word і Excel, створювати документи зі всіма можливими елементами. Таблиці, написи, текст, діаграми і інші компоненти повноцінних документів з'являться у такому вигляді, неначе вони створені користувачем.

Перейдемо безпосередньо до контроллерів автоматизації. З вже сказаного зрозуміло, що контроллер автоматизації -- це програма, яка "уміє" управляти додатками MS Office і процесом створення документів в середовищі Word і Excel. Для того, щоб все це працювало коректно, програма-контроллер повинна виконати наступні функції:

· Перевірити, запущений додаток (Word, Excel) чи ні.

· Якщо додаток не запущено, запустити його.

· Виконати ряд необхідних маніпуляцій із додатком, документом.

· Закрити документ і додаток.

· Очистити пам'ять.

3.2 Об'єктна модель MS Word

Текстовий процесор MS Word і табличний процесор MS Excel, що входить, до складу MS Office, є об'єктами СОМ. Це означає, що будь-яка програма, написана для сучасних версій Windows, може управляти цими об'єктами, якщо вона підтримує інтерфейс СОМ.

Як видно з рис. 3.1, об'єктна модель MS Word має деревовидну структуру, на вершині якої знаходиться об'єкт Application. Колекції (Collection), що входять до складу об'єктної моделі, є списками однотипних об'єктів, доступ до яких здійснюється по індексу. Окремі об'єкти можуть містити колекції, в свою чергу елементи колекції є звичайними об'єктами. Доступ до будь-якого об'єкту або елементу колекції можливий тільки через кореневий об'єкт Application. На рис. 3.1 об'єктна модель зображена в укрупненому вигляді. Можна виділити і детальніше розглянути деякі частини цієї моделі, наприклад, елемент колекції Documents -- об'єкт Document (документ). На рис. 3.2 представлена структура об'єкту Document в тому вигляді, який дає уявлення про його основні елементи і їх взаємозв'язок.

Рис. 3.1 Об'єктна модель MS Word

До складу об'єкту Document входять як елементи, що описують його в цілому, так і елементи, що є змістом документа. Наприклад, колекція властивостей, що описують призначені для користувача характеристики документа (назва, тема, автор і ін.), відноситься до документа в цілому і візуально не відображається в документі. Колекція таблиць -- елемент, який є частиною змісту документа і відображається на його сторінках. У свою чергу елемент колекції може містити свої об'єкти і колекції. Наприклад, кожна таблиця містить колекції рядків і стовпців, а також елементи типу "комірка". Колекції можуть включати не тільки повністю однотипні елементи, але і елементи, які можуть істотно відрізнятися один від одного. Колекція форм (Shapes) містить елементи, однотипні за способом створення і розміщення, а за змістом -- різні.

Рис. 3.2 Об'єктна модель документу MS Word

Елемент колекції Shapes може містити напис (Textbox), зовнішній об'єкт (OLEObject), лінію (Line), полілінию (Polyline) і інші типи об'єктів. Основний об'єкт документа це, звичайно, текст. Для доступу до тексту можна використовувати колекцію Words або об'єкт Range.

Елементи колекції Words -- об'єкти, які відображають слова в тексті і містять їх характеристики. Об'єкт Range описує текст або частину тексту цілком. На рис. 3.3 приведений загальний вид структури об'єктної моделі елементів управління MS Word.

Як видно з рис. 3.3, всі елементи управління MS Word зібрані в одну колекцію, що має деревовидну структуру, кожен вузол якої може містити як об'єкти, так і вкладені колекції. Цю структуру можна настроювати і доповнювати. Користувач і програміст, використовуючи певні інструменти, можуть додати, видалити, модифікувати або активізувати будь-який вузол або об'єкт цієї структури. При цьому будуть виконані методи, відповідні активізованим елементам управління.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.