Дослідження об’єктної моделі та методів створення контролерів автоматизації MS Office

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    1,66 Мб
  • Опубликовано:
    2012-09-22
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Дослідження об’єктної моделі та методів створення контролерів автоматизації MS Office

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

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

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

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








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

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

.091402 “Гнучкі комп’ютеризовані системи та робототехніка“

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

«Дослідження об’єктної моделі та методів створення контролерів автоматизації MS Office»


Студента групи ГКС-04-д Середюк Марини Едуардівни

Керівник роботи проф., к.т.н. Корнілов Георгій Іванович


Кривий Ріг

Анотація

контролер автоматизація оffice delphi

Метою дипломної роботи є створення системи, яка дозволяє наочно проілюструвати можливості управління додатками MS Office за допомогою програм, створених у середовищі Delphi. Система базується на використанні технології COM і об'єктних моделей MS Word і MS Excel.

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

Аннотация

Целью дипломной работы является создание системы, позволяющей наглядно проиллюстрировать возможности управления приложениями MS Office с помощью программ, написанных в среде Delphi. Система базируется на использовании технологии СОМ и объектных моделей MS Word и MS Excel.

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

summary

purpose of this diploma work is development of the system which allows for evidently illustrating possibilities of management of system MS Office by the programs, written in the Delphi. The system is based on the use of COM technology and objective models of MS Word and MS Excel.developed system can be used students as laboratory practical work at the study of programming of Delphi language.

ЗМІСТ

ВСТУП

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

.1 Найменування та галузь використання

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

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

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

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

.6 Джерела розробки

. ОСНОВИ ТЕХНОЛОГІЇ COM

.1 Загальні принципи СОМ-технології

.2 Розвиток СОМ-технологій

.3. Склад СОМ-додатку

.3.1 СОМ-інтерфейс

.3.2 СОМ-сервери

.3.3 СОМ-клієнти

. ТЕОРЕТИЧНЕ ДОСЛІДЖЕННЯ ОБ’ЄКТНИХ МОДЕЛЕЙ MS OFFICE

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

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

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

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

.2. Принципи створення контролерів автоматизації додатку MS Word

.2.1 Робота з об'єктом Word.Application

.2.2 Створення таблиць і робота з ними

.2.3 Настройка параметрів сторінки і друк документа

.2.4 Елементи управління додатку MS Word

.3. Принципи створення контролерів автоматизації MS Excel

.3.1 Створення об'єкту Excel.Application, запуск і візуалізація вікна додатку

.3.2 Робота з аркушами робочої книги

.3.3 Робота з комірками

.3.4 Пошук і заміна тексту

.3.5 Формули

.3.6 Діаграми

. ПРОГРАМНА РЕАЛІЗАЦІЯ І ОПИС ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ ПРОЕКТОВАНОЇ СИСТЕМИ

.1 Функціональне призначення та технологічні особливості розробки

.2 Розробка логіко-функціональної схеми системи

.3 Опис інтерфейсу користувача

.4. Програмна реалізація та опис основних процедур і функцій розробленої системи

.4.1 Настройка сторінки і друк документа MS Word

.4.2 Робота з таблицями документу

.4.3 Робота з панелями управління додатку Word

.4.4 Робота з книгами і аркушами додатку Excel

.4.5 Форматування комірок

.4.6 Робота з формулами і діаграмами

. ЕКОНОМІЧНЕ ОБҐРУНТУВАННЯ ДОЦІЛЬНОСТІ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ

.1 Визначення витрат на створення програмного продукту

.2 Витрати, пов'язані з розробкою програми на ПК

. ОХОРОНА ПРАЦІ

.1 Аналіз небезпечних та шкідливих факторів на робочому місці оператора ПК

.2 Заходи щодо нормалізації шкідливих та небезпечних факторів на робочому місці оператора ПК

.3 Пожежна безпека

ВИСНОВКИ

СПИСОК ЛІТЕРАТУРИ

ВСТУП

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

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

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

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

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

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

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

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

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

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

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


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

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


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

Початок робіт: 31.10.08. Закінчення робіт: 01.06.09.

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


Розроблена система реалізована в середовищі Delphi 6.0. та базується на використанні технології COM і об'єктних моделей MS Word і MS Excel.

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

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

·        databaze.mdb - файл, що містить таблиці баз даних, що використовуються в якості ілюстраціїї експорту даних в MS Word і MS Excel;

·    електронний підручник в форматі html, якій містить опис об’єктних моделей MS Word і MS Excel, структури колекцій, методів та властивостей.

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

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


Метою даної дипломної роботи є розробка система, яка наглядно ілюструє можливості управління MS Word і MS Excel за допомогою зовнішніх додатків.

 

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


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

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

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

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

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

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

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

 

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


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

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

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

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

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

2. ОСНОВИ ТЕХНОЛОГІЇ COM


2.1 Загальні принципи СОМ-технології


COM (Component Object Model) - це об'єктна модель компонентів. Дана технологія є базовою для технологій ActiveX і OLE. Технології OLE і ActiveX - всього лише надбудови над даною технологією. В якості прикладу можна навести об'єкт TObject, як базовий об'єкт VCL Delphi. Так само технологія СОМ є базовою по відношенню до OLE і ActiveX.

Технологія СОМ застосовується при описі API і двійкового стандарту для зв'язку об'єктів різних мов і середовищ програмування. СОМ надає модель взаємодії між компонентами і додатками. Технологія СОМ працює з так званими СОМ-об'єктами. СОМ-об'єкти схожі на звичайні об'єкти візуальної бібліотеки компонентів Delphi. На відміну від об'єктів VCL Delphi, СОМ-об'єкти містять властивості, методи і інтерфейси. Звичайний СОМ-об'єкт включає один або декілька інтерфейсів. Кожний з цих інтерфейсів має власний покажчик.

Технологія СОМ має два явні плюси:

створення СОМ-об'єктів не залежить від мови програмування. Таким чином, СОМ-об'єкти можуть бути написані на різних мовах;

СОМ-об'єкти можуть бути використані в будь-якому середовищі програмування під Windows. До числа цих середовищ входять Delphi, Visual C++, C++Builder, Visual Basic, і багато інших.

Всі СОМ-об'єкти зазвичай містяться у файлах з розширенням DLL або OCX. Один такий файл може містити як одиночний СОМ-об'єкт, так і декілька СОМ-об'єктів. Ключовим аспектом технології СОМ є можливість надання зв'язку і взаємодії між компонентами і додатками, а також реалізація клієнт-серверних взаємодій за допомогою інтерфейсів. Технологія СОМ реалізується за допомогою СОМ-бібліотек (до числа яких входять такі файли операційної системи, як OLE32.DLL і OLE-Aut32.DLL). СОМ-бібліотеки містять набір стандартних інтерфейсів, які забезпечують функціональність СОМ-об'єкту, а також невеликий набір функцій API, що відповідають за створення і управління СОМ-об'єктів. В Delphi реалізація і підтримка технології СОМ називається каркасом Delphi ActiveX (Delphi ActiveX framework, DAX). Реалізація DAX описана в модулі Axctris.

2.2 Розвиток СОМ-технологій


Однією з найважливіших задач, які ставила перед собою фірма Microsoft, коли просувала операційну систему Windows, була задача по забезпеченню ефективної взаємодії між різними програмами, що працюють в Windows. Найпершими спробами вирішити цю непросту задачу були буфер обміну, файли, що розділяються, і технологія динамічного обміну даними (Dynamic Data Exchange, DDE). Після цього була розроблена технологія зв’язування і запровадження об'єктів (Object Linking and Embedding, OLE). Перша версія OLE 1 призначалася для створення складних документів. Ця версія була визнана недосконалою і на зміну їй прийшла версія OLE 2. Нова версія дозволяла вирішити питання надання один одному різними програмами власних функцій. Дана технологія активно впроваджувалася до 1996 року, після чого їй на зміну прийшла технологія ActiveX, яка включає автоматизацію (OLE-автоматизацію), контейнери, управляючі елементи, Web-технологію і т.д.

2.3. Склад СОМ-додатку


При створенні СОМ-додатку необхідно забезпечити наступне:

·    СОМ-інтерфейс;

·        СОМ-сервер;

·        СОМ-клієнт.

Розглянемо ці три складові СОМ-додатку.

2.3.1 СОМ-інтерфейс

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

Рис. 2.1 СОМ-інтерфейс

Ключовими аспектами СОМ-інтерфейсів є:

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

·        За взаємною домовленістю, всі імена інтерфейсів починаються з букви I, наприклад IРersist, IМalloc.

·        Кожен інтерфейс гарантовано має свій унікальний ідентифікатор, який називається глобальним унікальним ідентифікатором (Globally Unique Identifier, GUID). Унікальні ідентифікатори інтерфейсів називають ідентифікаторами інтерфейсів (Interface Identifiers, IIDs). Ці ідентифікатори забезпечують усунення конфліктів імен різних версій додатку або різних додатків.

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

·        Інтерфейси не є самостійними об'єктами, вони лише забезпечують доступ до об'єктів. Таким чином, клієнти не можуть безпосередньо звертатися до даних, доступ здійснюється за допомогою покажчиків інтерфейсів.

·        Всі інтерфейси завжди є потомками базового інтерфейсу IUnknown.

Базовий СОМ-інтерфейс IUnknown

Базовий інтерфейс IUnknown забезпечує механізм обліку посилань (лічильник посилань на СОМ-об'єкт). При передачі покажчика на інтерфейс виконується метод інтерфейсу ІUnknown AddRef. Після закінчення роботи з інтерфейсом додаток-клієнт викликає метод Release, який зменшує лічильник посилань.

Під час виклику методу Querylnterface інтерфейсу ІUnknown в метод передається параметр IID, який має тип TGUID, тобто ідентифікатор інтерфейсу. Параметр методу out повертає або посилання на інтерфейс, що запрошувався, або значення NH.

Покажчики СОМ-інтерфейсу

Покажчик інтерфейсу - це 32-бітовий покажчик на екземпляр об'єкту, який є, у свою чергу, покажчиком на реалізацію кожного методу інтерфейсу. Реалізація методів доступна через масив покажчиків на ці методи, який називається vtable. Використання масиву vtable схоже на механізм підтримки віртуальних функцій в Object Pascal.

Рис. 2.2 Схема роботи покажчика СОМ-інтерфейсу

2.3.2 СОМ-сервери

СОМ-сервер є додатком або бібліотекою, яка надає послуги додатку-клієнту або бібліотеці. СОМ-сервер містить один або більше СОМ-об'єктів, де СОМ-об'єкти виступають як набори властивостей, методів і інтерфейсів.

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

Коли клієнт запрошує послугу від СОМ-об'єкту, він передає СОМ-об'єкту ідентифікатор класу (CLSID). CLSID - всього лише GUID, який застосовується при зверненні до СОМ-об'єкту. Після передачі CLSID, СОМ-сервер повинен забезпечити так звану фабрику класу, яка створює екземпляри СОМ-об'єктів.

СОМ-сервер повинен виконувати наступне:

·    реєструвати дані в системному реєстрі Windows для зв’язування модуля серверу з ідентифікатором класу (CLSID);

·        надавати фабрику СОМ-класу, що створює екземпляри СОМ-об'єктів;

·        забезпечувати механізм, який вивантажує з пам'яті сервери СОМ, які у даний момент часу не надають послуг клієнтам.

Фабрика класу

СОМ-об’єкти є екземплярами СoСlass. CoСlass - це клас, що підтримує один або більш інтерфейсів. СОМ-об'єкти можуть надавати тільки ті послуги, які визначені в інтерфейсах СoСlass. Екземпляри CoСlass створюються за допомогою спеціального типу об'єкта, який називається фабрика класу.

Фабрика класу - це спеціальний СОМ-об'єкт, який підтримує інтерфейс IСlassFactory і відповідає за створення екземплярів того класу, з яким асоційована дана фабрика класу.

Інтерфейс IСlassFactory має два методи:

·    Createlnstance, який створює екземпляр СОМ-об’єкта, асоційованої фабрики класу

·        LockServe, який застосовується для зберігання СОМ-сервера в пам’яті. Якщо параметр метода fLock має значення true, то лічильник посилань сервера збільшується, в іншому випадку - зменшується. Коли лічильник досягає значення 0, сервер вивантажується з пам’яті.

Кожного разу, коли послуги СОМ-об'єкта запрошуються клієнтом, фабрика класу створює і реєструє екземпляр об'єкту для конкретного користувача. Якщо послуга того ж СОМ-об'єкту запрошує інший клієнт, фабрика класу створює другий екземпляр об'єкту для обслуговування другого клієнта. СoСlass повинен мати фабрику класу і ідентифікатор класу CLSID. Використання CLSID для СoClass має на увазі, що вони можуть бути відкоректовані кожного разу, коли в клас вводяться нові інтерфейси. Таким чином, на відміну від DLL, нові інтерфейси можуть змінювати або додавати методи, не впливаючи на старі версії.

Локальні і вилучені сервери

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

·    внутрішній сервер (In-process server);

·        локальний сервер (Local server);

·    видалений сервер (Remote server).

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

Рис. 2.3 Схема взаємодії клієнта с внутрішнім сервером

Локальний сервер - це додаток ЕХЕ, який запущено в іншому процесі, але на одному комп'ютері разом з клієнтом. Наприклад, лист електронної таблиці Microsoft Excel пов'язаний з документом Microsoft Word. При цьому два різні додатки працюють на одному комп'ютері. Локальні сервери використовують СОМ для з'єднання з клієнтом.

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

Функції маршалінга:

·    приймати покажчик інтерфейсу з процесу серверу і робити покажчик проксі в процесі клієнта доступним;

·        передавати аргументи викликів інтерфейсу таким чином, ніби вони відбулися від клієнта і розміщувати аргументи в процесс видаленого об'єкту.

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

Таким чином, маршалінг - це процес пакування інформації, а демаршалінг - процес розпакування інформації.

Тип маршалінга залежить від об'єктної приналежності СОМ. Об'єкти можуть використовувати стандартний механізм маршалінга, що надається інтерфейсом IDispatch. Стандартний маршалінг дозволяє встановлювати зв'язок за допомогою стандартного системного видаленого виклику процедури (Remote Procedure Call, RFC).

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

Рис. 2.4 Схема взаємодії клієнта з сервером в різних процесах на одному комп’ютері

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

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

Рис. 2.5 Схема взаємодії клієнта з сервером на різних комп’ютерах

 

2.3.3 СОМ-клієнти

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

Типовим СОМ-клієнтом є диспетчер автоматизації (Automation Controller). Диспетчер автоматизації - це частина додатка, яка «знає» який тип інформації необхідний йому від різних об'єктів сервера, і вона запрошує дану інформацію у міру потреби.

3. ТЕОРЕТИЧНЕ ДОСЛІДЖЕННЯ ОБ’ЄКТНИХ МОДЕЛЕЙ MS OFFICE

 

3.1 Об'єктна модель 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 зібрані в одну колекцію, що має деревовидну структуру, кожен вузол якої може містити як об'єкти, так і вкладені колекції. Цю структуру можна настроювати і доповнювати. Користувач і програміст, використовуючи певні інструменти, можуть додати, видалити, модифікувати або активізувати будь-який вузол або об'єкт цієї структури. При цьому будуть виконані методи, відповідні активізованим елементам управління.

Рис. 3.3 Об'єктна модель елементів управління MS Word

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

 

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


Об'єктна модель MS Excel за загальними принципами ідентична об'єктній моделі MS Word. Ця модель також має ієрархічну структуру, в корені якої знаходиться об'єкт Application (ExcelApplication), через який забезпечується доступ до будь-якої колекції або внутрішнього об'єкту додатку MS Excel або до компонентів відкритих робочих книг. Загальна структура об'єктної моделі MS Excel представлена на рис. 3.4.

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

Як вже сказано, вершиною об'єктної моделі MS Excel є об'єкт Application, що безпосередньо включає такі об'єкти і колекції, як Selection - поточний виділений об'єкт, WorkBooks - колекція відкритих робочих книг, колекції різних елементів управління, діалогових вікон і інші властивості додатку MS Excel. Об'єкт Selection має властивості поточного виділеного об'єкту, тому немає сенсу розглядати тут структуру моделі цього об'єкту. Якщо виділена комірка, то Selection = Комірка, якщо діаграма, то Selection = Діаграма. Коли виділена область комірок, Selection = Колекції стовпців і рядків. Колекція робочих книг є списком відкритих робочих книг, доступ до яких здійснюється по індексу. Кожен елемент такої колекції є об'єктом "робоча книга". Панелі управління, меню, кнопки, діалоги і інші об'єкти, призначені для управління додатком, зібрані у відповідні колекції елементів управління.

Основним елементом об'єкту "робоча книга" є колекція робочих аркушів. Елементом колекції є окремий робочий аркуш, який може бути звичайним аркушем (у вигляді таблиці) або бути у вигляді діаграми. У останньому випадку він нічого, окрім діаграми, містити не може. Розглянемо варіант аркуша у вигляді таблиці (рис. 3.5).

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

Рис.3.5 Об'єктна модель аркуша робочої книги

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

Щоб переконатися в гнучкості, універсальності і великих можливостях для програмування об'єктів MS Office, розглянемо ще одну колекцію об'єктів, присутню як в Word, так і в Excel. Це колекція діалогів (діалогових вікон), які користувач звичайно відкриває натисненням тієї або іншої кнопки або вибором команди меню. Вона належить об'єкту Application. У об'єктній моделі всі діалоги представлені у вигляді елементів колекції Dialogs, доступ до яких забезпечується через числовий індекс. За допомогою параметрів методу Show елементу колекції відбуваються передача параметрів в діалог і його виконання - така модель діалогів для додатків Excel (рис. 3.6, а), для додатків Word модель діалогу дещо відрізняється. Відмінність полягає в тому, що в Word параметри передаються через властивості об'єкту-елементу колекції (мал. 3.6, б).

Рис. 3.6 Об’єктні моделі Знайти в Excel (а) и Знайти та змінити в Word (б)

У об'єкту Item() разом з типовими властивостями і методами присутні властиві тільки йому властивості і методи. Наприклад, у діалогу Знайти і замінити є властивість Find, що визначає текст для пошуку - до запуску діалогу.

У Excel об'єкт колекції Dialogs дещо відрізняється від діалогів Word. Розглянемо об'єктну модель колекції діалогів для Ехсel в цілому (рис. 3.7).

Рис. 3.7 Об’єктна модель діалогів MS Excel

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

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

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

 

4.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, автоматично створюється каркас нового документа, який є набором бібліотек з класами.

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

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

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

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

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

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

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

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

4.2 Принципи створення контролерів автоматизації додатку MS Word

 

.2.1 Робота з об'єктом Word.Application

Створення об'єкту Word.Application, запуск і візуалізація вікна додатку

Функція, що реалізовує механізм доступу до OLE-об'єкту, знаходиться в бібліотеці ComObj.pas - функція CreateOleObject. Її єдиним аргументом є рядок-ідентифікатор, а повертає вона посилання на об'єкт. Прикладом використання цієї функції є наступний програмний текст:ComObj;W:variant;TForml.ButtonlClick(Sender: TObject);:=CreateOleObject('Word.Application1);;

Для відображення вікна додатку Word необхідно встановити значення властивості Visible об'єкта Application в True.

Створення документа

Колекція Documents містить документи, їх властивості і методи для роботи з ними. Елементами колекції є відкриті зараз документи. Доступ до них здійснюється через об'єкти Item(doc:variant), де doc - ім'я або індекс документа в колекції. Поле Count колекції містить кількість елементів колекції, якщо Count=0, то немає жодного відкритого документа.

Для створення нового документа використовується метод ADD цієї ж колекції:.Documents.Add;

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

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

Відкриття документа

Раніше створений документ можна відкрити за допомогою методу Open. При виклику методу можна вказати і декілька аргументів, але головний з них - посилання на шлях і ім'я файлу. Фрагмент тексту програми для відкриття створеного раніше документа виглядає так:TForml.Button4Click(Sender: TObject);dir_:string;(0,dir_);not 0penDialog2.Execute then begin chdir(dir_); exit; end;(dir_);.Documents.Open(0penDialog2.FileName);;

Запис і зчитування тексту документа

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

Метод InsertBefore записує текст в початок вмісту об'єкту Range. Метод InsertAfter записує текст в кінець вмісту об'єкту Range. Практична реалізація виклику цих методів в додатках Delphi:TUG5CH22_.ButtonlClick(Sender: TObject);.ActiveDocument.Range.InsertAfter(Memol.Text+'('+inttostr(nn)+') ' );:=nn+l;;TUG5CH22_.Button2Click(Sender: TObject);.ActiveDocument.Range.InsertBefore(Memol.Text+'('+inttostr(nn)+') ' );:=nn+l;;

Зчитування тексту з відкритого документа Word можна організувати двома способами. Прикладом реалізації першого способу є наступний код:TUG5CH22_.Button3Click(Sender: TObject);.Text:=W.ActiveDocument.Range.Text;;

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

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

Коли документ відкритий, прочитаний, змінений, то, можливо, буде потрібно зберегти ці зміни.

Збереження документа

Найпростіший спосіб збереження документа полягає у виклику методу Save об'єкту-документа, наприклад:.ActiveDocument.Save;

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

Інший спосіб збереження нового документу полягає у використанні методу SaveAs. В специфікації мови Visual Basic він описаний так:.SaveAs (FileName, FileForroat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter)

Отже, ми відкрили документ, зчитали з нього текст, внесли в документ необхідні зміни і зберегли його. Тепер потрібно закрити його і закінчити роботу з додатком Word.

Закриття документа і додатку Word

Якщо додаток обробляв декілька документів, і всі вони вже збережені, то ці документи можна закрити одночасно з допомогою методу Close колекції Documents:.Application.Documents.Close;

Якщо вимагається вибірково закривати документи колекції, використовується метод Close об'єкта-документа. Наприклад, щоб закрити активний документ, використовується оператор:.ActiveDocument.Close;

Документи закриті, тепер можна закрити додаток Word і очистити пам'ять від об'єкту Application. Використовуємо метод Quit об'єкту Application і оператор W:=UnAssigned;:TForml.Buttonl6Click(Sender: TObject);.Quit;:=UnAs signed;;

4.2.2 Створення таблиць і робота з ними

Створення, виділення і видалення таблиць в документі

Документ Word може містити таблиці, які як об'єкти з'єднані в колекцію Tables. Розглянемо її основні властивості і методи. Властивість Count:integer містить інформацію про кількість таблиць в колекції. Якщо в документі немає жодної таблиці, то Count містить нуль. Метод Add додає нову таблицю в колекцію. При створенні таблиці визначається область де буде створена таблиця, і її основні параметри - кількість стовпців і рядків. Хоча колекція таблиць і належить документу, та сама таблиця може бути створена на будь-якому об'єкті або місці документа, на якому це можливо. Об'єкт Item(tab) - елемент колекції і є таблицею з порядковим номером tab даної колекції.

Для створення нової таблиці використовується метод Add. Його специфікація в Visual Basic має наступний вигляд:.Add(Range, NumRows, NumColumns), де Range - область, на якій створюється таблиця; NumRows і NumColumns - кількість рядків і стовпців створюваної таблиці.

Для створення наступної таблиці в тому ж документі необхідно в якості першого аргументу методу Add вказати область, яка вільна і не містить таблицю. Для завдання цієї області можна використовувати метод Range або, наприклад, властивість End об'єкту Range.

Наступна процедура створює нову таблицю в кінці документа:TForml.Button3Click(Sender: TObject);MyRange:variant;:=W.ActiveDocument.Range(W.ActiveDocument.Range.End-1, W.ActiveDocument.Range.End-1);.ActiveDocument.Tables.Add (Range:=MyRange, NumRows:=2, NumColuinns: =3) ;.ActiveDocument.Range.InsertAfter(' ' );;

Коли створено декілька таблиць, ми можемо визначити їх кількість. Це значення міститься у властивості Count колекції Tables. Приведена нижче процедура виводить список таблиць в компонент ListBox:TOKBottomDlg.FormShow(Sender: TObject);a_:integer;.Items.Clear;a_:=l to Forml.W.ActiveDocument.Tables.Count do.Items.Add('Таблица - '+inttostr(a_));;;

Використовуючи об'єкт Item колекції Tables і порядковий номер таблиці, можна виділити будь-яку таблицю зі всього списку таблиць документа для подальших маніпуляцій. Для виділення таблиці, яка міститься в колекції, використовується метод Select об'єкту Item. Цей об'єкт містить всі методи, колекції і об'єкти, властиві таблиці як об'єкту.

Додавання і видалення рядків і стовпців таблиці

Для збільшення таблиці призначений метод Add колекцій Rows і Columns, а для видалення елементів цих колекцій - метод Delete. Перший метод додає рядок або стовпець в кінець таблиці, а другий видаляє рядок або стовпець з вказаним індексом. Приклади процедур для зміни кількості рядків і стовпців таблиці:T0KBottomDlg6.ButtonlClick(Sender: TObject);.Columns.Add;;TOKBottomDlg6.Button2Click(Sender: TObject);.Rows.Add;;TOKBottomDlg6.Button3Click(Sender: TObject);.Columns.Item(1).Delete;;TOKBottomDlg6.Button4Click(Sender: TObject);.Rows.Item(1).Delete;;

Текст в комірках таблиці

Коли таблиця створена, можна заповнювати її текстом. Записувати інформацію безпосередньо в комірку таблиці дозволяє об'єкт Cell, який і є коміркою. Посилання на конкретну комірку одержують, звертаючись до об'єкту Cell з параметрами (номер рядка і стовпця). До складу об'єкту "комірка" входить об'єкт Range, який може містити текст. Використовуючи властивості комірки і об'єкту Range, запишемо текст в конкретну комірку:

// Компоненти RowІd і ColumnІd дозволяють користувачу вибрати комірку

// а Range_Text - ввести в неї текст.TOKBottomDlg7.RangeJTextChange(Sender: TObject);.Cell(RowІd.value, ColumnІd.value).Range.Text:=Range_Text.text;;

// Вирівнюємо текст в комірці по вертикалі, використовуючи властивість

// VerticalAlignment, яке може приймати значення - 0, 1, 2.TOKBottomDlg7.VerticalAlignmentChange(Sender: TObject);.Cell(RowІd.value, ColumnІd.value).VerticalAlignment:=.itemindex;;

// Горизонтальне вирівнювання здійснюється за допомогою властивості

// Alignment об'єкту ParagraphFormat, що належить об'єкту Range.TOKBottomDlg7.AlignmentChange(Sender: TObject);.Cell(RowІd.value, ColumnІd.value).Range.ParagraphFormat.Alignment:=.itemindex;;

Вибір шрифту для тексту комірки:TOKBottomDlg7.ButtonlClick(Sender: TObject);not FontDialogl.Execute then exit;(FontDialogl.font,table.Cell(RowІd.value, ColumnІd.value).Range.font);;

Дана процедура, що використовує шрифт, який повертається діалогом FontDialog1, змінює шрифт комірки Cell(RowId.value, ColumnІd.value).

Вибір кольору шрифту для тексту комірки:=0;=1;=2;=3;=4;=14;=15;TOKBottomDlg7.TextColorlndexChange(Sender: TObject);.Cell(RowІd.value, ColumnІd.value).Range.font.ColorIndex:=Іndex.itemindex;;

Напрям тексту

Ще одна властивість тексту в Word - напрям. Напрям тексту задається установкою властивості Orientation об'єкту Range в значення одній з трьох можливих констант.

Завдання напряму тексту:=2;=0;=3;TOKBottomDlg7.OrientationChange(Sender: TObject);Orientation.itemindex

:table.Cell(RowІd.value,ColumnІd.value).Range.Orientation:=;

:table.Cell(RowІd.value,ColumnІd.value).Range.Orientation:=;

:table.Cell(RowІd.value, ColumnІd.value).Range.Orientation:=;;;

4.2.3 Настройка параметрів сторінки і друк документа

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

Для доступу до параметрів сторінки використовуємо наступний оператор, що повертає посилання на об'єкт::=ActiveDocument.PageSetup;

Визначення параметрів сторінки:TOKBottomDlg7.FormCreate(Sender: TObject);:=Forml.W.ActiveDocument.PageSetup;.Itemlndex:=PageSetup.Orientation;.ItemIndex:=PageSetup.VerticalAlignment;.Checked:=PageSetup.LineNumbering.Active;.Value:=PageSetup.PageWidth;.Value:=PageSetup.PageHeight;.Value:=PageSetup.TopMargin;.Value:=PageSetup.LeftMargin;;

Друк документа здійснюється за допомогою методу PrintOut об'єкту "документ". Наступна процедура дозволяє виконати друк двох копій активного документа:TOKBottomDlg7.Button3Click(Sender: TObject);.W.ActiveDocument.Printout(Copies: =2);;

Для попереднього перегляду активного документа перед друком можна використовувати наступну процедуру:TOKBottomDlg7.Button2Click(Sender: TObject);.W.ActiveDocument.PrintPreview;;

4.2.4 Елементи управління додатку MS Word

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

Дослідимо деякі загальні властивості колекції CommandBars. Наприклад, властивість колекції LargeButtons дозволяє вибирати розміри кнопок всіх панелей - великі або маленькі - змінюючи значення цієї властивості:.CoramandBars.LargeButtons:=LargeButtons.Checked;

Іншою загальною властивістю колекції панелей управління є режим показу спливаючих підказок для кнопок, який визначається двома властивостями логічного типу: DisplayTooltips - визначає, включена або відключена підказка; DisplayKeysInTooltips - визначає присутність в підказці "гарячих клавіш". Зміна режиму підказок визначається просто установкою цих властивостей в певне значення:TForml.DisplayTooltipsClick(Sender: TObject);.CoramandBars.DisplayTooltips:=DisplayTooltips.Checked;;TForml.DisplayKeysInTooltipsClick(Sender: TObject);.CommandBars.DisplayKeysInTooltips:=DisplayKeysInTooltips.Checke;;

Доступ до панелей управління і їх властивостей здійснюється через об'єкти Item(i:integer), де i - індекс елемента в колекції.

Елементи колекції CommandBars, їх відображення і розташування

Для отримання списку всіх елементів, що входять в колекцію CommandBars, використовується властивість Count колекції і властивість елемента Name. Властивість Name має строковий тип і є ім'ям елемента. Його можна використовувати для доступу до будь-якого елемента колекції аналогічно індексу, що має числовий тип.

Властивість панелей Enabled дозволяє активувати або деактивувати панель в головному вікні додатку Word. Вона має тип Boolean і визначає можливість доступу користувача до них. Коли властивість Enabled має значення False, користувач не може користуватися даною панеллю - вона взагалі не відображається. Якщо встановити цю властивість в значення True, то панель буде доступна і займе своє колишнє місце у вікні додатку Word. Можливо, цією властивістю необхідно скористатися, коли вимагається блокувати доступ користувача до деяких елементів управління.

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

Для створення призначеної для користувача панелі використовується метод Add колекції CommandBars. У цього методу є декілька аргументів. Синтаксис виклику методу Add:(Name, Position, MenuBar, Temporary);

де Name:string - назва створюваної панелі, Position:integer - її розташування, MenuBar:boolean - ознака створення меню, Temporary:boolean - ознака створення тимчасової панелі. Використовуючи дані аргументи і їх комбінації ми можемо як створити звичайну панель з кнопками або меню, так і замінити існуюче головне меню додатку Word. Будь-який із створюваних компонентів колекції CommandBars може бути створений як тимчасовий об'єкт (на час одного сеансу роботи додатку) або як постійний об'єкт.

Елементи управління і їх властивості

Панель може містити кнопки і інші елементи управління, наприклад, списки або пункти меню, що розкриваються. Ці елементи у свою чергу належать самій панелі і з'єднані в колекцію Controls. За допомогою цієї колекції здійснюється доступ до всіх елементів управління вибраної панелі. Колекція Controls має декілька властивостей і один метод: властивості Count (кількість елементів колекції) і Item(i:integer) (елементи колекції, де i - індекс кнопки), метод Add, що дозволяє додавати на панель нові елементи.

Дослідимо зміст панелі і деякі властивості елементів управління. Якщо розглядати меню, то його основна відмінність від панелі з кнопками полягає в тому, що елементом управління у складі меню може бути як пункт меню так і підменю зі своїми елементами управління і т.д. Для аналізу властивостей панелі, використовують властивості Count і Item() колекції Controls, а також властивості Caption і TooltipText.

Завантаження списку елементів управління панелі:T0KBottomDlg5.FormCreate(Sender: TObj ect);a_:integer;_:string;:=OKBottomDlg4.CommandBars.Item [

KBottomDlg4.ListBoxl.Itemlndex+l].CONTROLS;a_:=l to MYCONTROLS.Count do begin_:=MYCONTROLS.Item[a_].Caption+'=

'+MYCONTROLS.Item[a_].TooltipText;.Items.Add(eee_);;:=MYCONTROLS.Item[ 1 ] ;;

4.3 Принципи створення контролерів автоматизації MS Excel

 

.3.1 Створення об'єкту Excel.Application, запуск і візуалізація вікна додатку

Запуск і візуалізація додатку Excel проводиться аналогічно запуску і візуалізації додатку Word, з тією лише різницею, що функція CreateOleObject звертається до об'єкту Excel.Application.

Створений і запущений екземпляр додатку Excel не містить жодної робочої книги. Всі робочі книги, які в даний момент можуть бути активними або належати об'єкту Application, є приналежністю колекції WorkBooks, яка у свою чергу належить кореневому об'єкту. Властивість Count:integer колекції WorkBooks містить кількість відкритих робочих книг.

Метод Add колекції WorkBooks дозволяє створити нову робочу книгу. При цьому якщо аргументом методу буде рядок, що вказує на файл шаблона, то нова книга буде створена на основі цього шаблона. Якщо аргументів немає, то буде створена звичайна книга в режимі "за умовчанням".

Використання методів колекції WorkBooks дозволяє не тільки створювати, але і відкривати наявні робочі книги, які зберігаються у файлах. Для цієї мети призначені методи Open і OpenText. Перший метод відкриває файл формату XLS, а другий - звичайні текстові файли. Частіше за все використовується метод Open з одним аргументом - рядком-покажчиком на файл.

Повна специфікація виклику методу Open має наступний вигляд:(FileName, UpdateLinks, Readonly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU);

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

Об'єкти Item(i:integer) містять посилання на всі робочі книги колекції WorkBooks (i:integer - індекс книги в колекції). Як аргумент при зверненні до Item може виступати і строкова змінна, що містить ім'я книги. Властивість Count колекції містить кількість відкритих документів колекції. Використовуючи ці властивості колекції ми можемо вивести список всіх робочих книг і взятися до роботи з будь-якою з них.

Одержання списку робочих книг і посилання на обрану робочу книгу:TOKBottomDlg2.FormCreate(Sender: TObject);a_:integer;:=Forml.E.WorkBooks;a_:=l to WorkBooks.count do begin.Items.Add(WorkBooks.Item[a_].name+

; '+Workbooks.Item[a_].FullName);;;TOKBottomDlg2.ListBoxlClick(Sender: TObject);.item[ListBoxl.Itemlndex+l].Activate;:=WorkBooks.item[ListBoxl.Itemlndex+l];;

Для активізації робочої книги із списку відкритих використовується метод Activate об'єкту Item(i:integer), де i - індекс відкритої робочої книги, а об'єкт Item(i:integer) є посиланням на робочу книгу.

Після того, як робоча книга вибрана, її можна редагувати, зберегти під колишнім або іншим ім'ям і закрити. Для цього використовуємо методи Save, SaveAs і Close.

Збереження робочої книги:TOKBottomDlg2.Button2Click(Sender: TObject);.Save;;TOKBottomDlg2.Button3Click(Sender: TObject);not SaveDialogl.Execute then exit;.SaveAs(SaveDialogl.FileName);;

Закриття робочої книги:TOKBottomDlg2.Button6Click(Sender: TObject);.Close;;

4.3.2 Робота з аркушами робочої книги

Аркуш, комірки якого безпосередньо зберігають інформацію, є приналежністю книги. В робочій книзі може бути більше одного аркуша. Доступ до списку аркушів або до будь-якого аркуша робочої книги можна отримати за допомогою колекції Sheets. Як і будь-яка колекція, вона містить властивість Count:integer (кількість елементів колекції) і набір об'єктів Item(i:integer) - власне аркуши, де i - індекс вибраного аркуша (від 1 до Count). Деякі методи колекції Sheets: Select - виділення всіх аркушів робочої книги, Copy - копіювання всіх аркушів в нову робочу книгу, PrintPreview - попередній перегляд друку, Printout - вивід на друк, Add - додавання нового аркушу в робочу книгу.

Розглянемо метод Add докладніше. Його можна використовувати як без аргументів, так і з аргументами, що визначають місце, куди будуть додані аркуші (аркуш), їх кількість і тип. Якщо використовувати метод Add так, як показано в наступному прикладі, то буде додано аркуш перед аркушем Sheet:TOKBottomDlg3.ButtonlClick(Sender: TObject);.Add(Before:=Sheet);;

Додавши аркуші або просто відкривши або створивши робочу книгу, ми можемо отримати список аркушів і доступ до будь-якого аркуша робочої книги.

Отримання списку аркушів робочої книги:TOKBottomDlg3.FormCreate(Sender: TObject);a_:integer;a_:=l to Sheets.count do ListBoxl.Items.Add(Sheets.Item[a_].name);;

Отримання доступу до аркуша робочої книги:Sheet:variant;TOKBottomDlg3.ListBoxlClick(Sender: TObject);:=Sheets . item[List.Boxl. ItemІndex+l];;

Для того, щоб перейменувати вибраний робочий аркуш, у властивість Name записується нове значення імені аркуша, наприклад:.Name: = 'Новий аркуш';

За допомогою методу Сору об'єкту Sheet можна скопіювати аркуш і його зміст. Цей метод дозволяє копіювати аркуш і вставляти копію або до, або після оригіналу - це залежить від значення аргументу методу Сору:.Copy(before:=Sheet);

або.Copy(after:=Sheet);

Після роботи з книгою може знадобитися видалити деякі аркуші. Для цього призначений метод Delete об'єкту Sheet:.Delete;

Для доступу до комірок можна використовувати два різні об'єкти - об'єкт типа Range, який асоціюється з областю комірок, або безпосередньо об'єкт Cell (комірка аркуша робочої книги). Якщо перший об'єкт зручний для роботи з цілими областями комірок, то другий більше підходить для роботи з окремо взятою коміркою. Ці об'єкти належать об'єкту "аркуш" і вимагають завдання координат комірки або області комірок при зверненні до них. Наприклад, для завдання об'єкту, асоційованого з областю комірок A1:D5 використовуємо наступний оператор::=Sheet.Range[Al:D5];

де Sheet - посилання на аркуш робочої книги. Після вдалого виконання даного оператора змінна MyRange:variant містить посилання на об'єкт, асоційований з вибраною областю комірок.

Забезпечити доступ до окремої комірки можна з допомогою як об'єкту Range, так і об'єкту Cell. Використання останнього в операторі отримання доступу до комірки може виглядати так::=Sheet.Cells[1,1];

При виконанні даного оператора змінна MyCell зберігатиме посилання на комірку А1.

Запис інформації в комірки аркуша робочої книги:T0KBottomDlg4.ButtonlClick(Sender: TObject);a_:integer;;a_:=l to 100 do Sheet.Cells(a_,1):=random(10000);;

Якщо для запису в комірки об'єкту Cells(row, column) привласнюється значення, то для зчитування даних використовується оператор, в якому строковій змінній привласнюється значення об'єкту Cells(row, column).

4.3.3 Робота з комірками

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

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

Так, наприклад, для отримання посилання на об'єкт-область можна використовувати наступний оператор:: =Е. ActiveSheet. Range [' В2 ' ] ;

Оператор з використанням об'єкту Cells::=E.ActiveSheet.Cells[2,2];

Змінна, яку відображає комірка, зберігається у властивостях Text і Value об'єкту Range (Cells), тому для того, щоб її отримати, достатньо зчитати значення однієї з цих властивостей. Якщо тип даних (формат) значення комірки невідомий використовуємо властивість Text, щоб отримати його у вигляді рядка. Коли тип даних відомий, можна спробувати використовувати властивість Value.

Висота і ширина комірки

Використовуючи властивості ColumnWidth і RowHeight об'єктів Range або Cells, можна змінити ширину і висоту комірки. Очевидно, що ці зміни спричинять зміни ширини стовпця і висоти рядка. Як приклад використання цих властивостей розглянемо процедури, що дозволяють змінити розміри заданої комірки:TOKBottomDlg5.ColumnWidthChange(Sender: TObject);.Item(col).ColumnWidth:=StrToFloat(ColumnWidth.Text);;TOKBottomDlg5.RowHeightChange(Sender: TObject);.Item(row).RowHeight:=StrToFloat(RowHeight.Text);;

Вирівнювання тексту в комірці

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

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

Вирівнювання тексту в комірці:= -4108;= -4108;TOKBottomDlg8.HorizontalAlignmentChange(Sender: TObject);.HorizontalAlignment:=xlHAlignCenter;;TOKBottomDlg8.VerticalAlignmentChange(Sender: TObject);.VerticalAlignment:=xlVAlignCenter;;

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

Перенос по словах:TOKBottomDlg8.WrapTextClick(Sender: TObject);.WrapText:=WrapText.Checked;;

Ще один спосіб зміни розташування тексту в комірці - його поворот. Поворот тексту, що відображає значення комірки, визначається властивістю Orientation і може бути заданий величиною від -90 до +90 градусів.

Поворот тексту в комірці:TOKBottomDlg8.OrientationChange(Sender: TObject);.Orientation:=Orientat ion.Value;;

Якщо довжина тексту, розміщуваного в комірці, настільки велика, що він не може бути розміщений там без істотних змін розмірів комірки, а за конкретних умов задачі розміри рядків і стовпців змінювати не можна, то слід використовувати режим об'єднання комірок. Об'єднання комірок здійснюється установкою в значення True властивості MergeCells об'єкту Range, асоційованого з областю комірок:T0KBottomDlg9.MergeCellsClick(Sender: TObject);.MergeCells:=MergeCells.Checked;;

Межі комірки

Комірка є прямокутною областю. Ця область, окрім значень, які відображаються в ній, має такі властивості, як заливка і межа. Як заливка осередку, так і межа мають відповідні властивості (колір, товщину, тип, узор, колір узору). Розглянемо ці властивості докладніше. Межі комірки є лініями, що обмежують її з чотирьох сторін. Лінії з'єднані в колекцію Borders, доступ до будь-якої з них здійснюється через елементи цієї колекції. Кожний елемент колекції надає доступ до відрізка прямій, прилеглому до тієї або іншої сторони комірки. Діагоналі комірки також є елементами цієї колекції. Кожний елемент колекції Borders є об'єктом і має свої індивідуальні властивості, що дозволяє задати тип лінії і колір окремо для кожної лінії межі комірки. Наступні процедури дозволяють встановити товщину, тип і колір лінії межі вибраної комірки:

// Встановлюємо товщину лінії межі коміркиTOKBottomDlg6.WeightChange(Sender: TObject);.Weight:=Weight.Itemlndex;;

// Встановлюємо тип лінії межі коміркиT0KBottomDlg6.LineStyleChange(Sender: TObject);.LineStyle:=xlDouble;;

// Встановлюємо колір лінії межі коміркиT0KBottomDlg6.ButtonlClick(Sender: TObject);not ColorDialogl.Execute then exit;. Color: =ColorDialogl. Color;;

Заливка комірки

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

Колір заливки визначається властивістю Color об'єкту Interior і задається як комбінація трьох кольорів: Color:=RGB(R, G, В); де R, G, В - числові значення, відповідні червоному, зеленому і синьому кольорам. Колір заливки можна також задати як вибраний на палітрі кольорів - для цього використовується властивість ColorІndex об'єкту Interior.

Узор заливки області комірки визначається властивістю Pattern, а її колір - властивістю PatternColor об'єкту Interior. Колір також можна вибрати на палітрі кольорів Excel шляхом запису у властивість PatternColorІndex індексу вибраного кольору.

4.3.4 Пошук і заміна тексту

Пошук тексту виконується шляхом виклику методу Find.

Повна специфікація виклику методу Find:(What, After, Lookln, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte);

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

Після успішного пошуку тексту метод Find повертає посилання на об'єкт-комірку, використовуючи який можна змінити зміст комірки. Повторюючи пошук і заміну багато разів, можна сформувати необхідний документ, але для цього є більш ефективний спосіб - використання функції пошуку і заміни. Ця функція в Excel реалізується методом Replace, який має два обов'язкові аргументи - шуканий текст і текст для заміни. Повна специфікація методу Replace:(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte);

4.3.5 Формули

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

Можливо також використання майстра функцій, що є послідовністю діалогових вікон, які дозволяють конструювати формулу для даної комірки по кроках. Для активізації даного способу необхідно викликати метод FunctionWizard об'єкту Range:TOKBottomDlg2.ButtonlOClick(Sender: TObject);.FunctionWizard;;

Іноді вимагається перевірити, що знаходиться в комірці - значення, записане користувачем, або сформоване в результаті виконання формули. Для цього можна аналізувати вміст властивості Formula об'єкту Range, але краще використовувати властивість HasFormula. Якщо воно має значення True, то комірка містить формулу, якщо False - то ні.

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

Процедура читання формули може бути такою:TOKBottomDlg2.Button8Click(Sender: TObject);.Text:=Range.Formula;;

4.3.6 Діаграми

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

Для того, щоб створити нову діаграму, а потім маніпулювати загальним списком діаграм і діставати доступ до окремої діаграми, достатньо скористатися однією властивістю і двома методами колекції Charts. Властивість Count має тип Integer, його значення дорівнює кількості діаграм в робочій книзі. Метод Add створює нову діаграму і повертає посилання на неї. Метод Item() повертає посилання на створену раніше діаграму, що належить колекції Charts. Аргументом методу Item() є порядковий номер (індекс) або ім'я діаграми в колекції. В другому випадку аргументом методу Item є рядок, що містить ім'я діаграми. Індексом може бути ціле число із значенням в діапазоні від 1 до Charts.Count.

Наступна процедур демонструє як можна створити діаграму, отримавши посилання на неї:TForml.ButtonlClick(Sender: TObject);:=E.Charts.Add;.ChartType:=xl3DColumn;.SetSourceData(Source:=E.ActiveWorkbook.Sheets.Item[2].['Al:F5'],PlotBy:=xlColumns);;

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

Важливою характеристикою діаграми також є місце, де розташована сама діаграма, що визначається за допомогою методу Location об'єкту Chart. У цього методу два аргументи. Перший аргумент (типу Integer) визначає, діаграма знаходитиметься на окремому аркуші або на звичайному аркуші з даними. Якщо вибраний другий варіант, то другий аргумент методу Location визначає ім'я аркуша, на якому розташовуватиметься діаграма.

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

Наступна процедура демонструє спосіб застосування властивості ChartType:TForml.ChartTypeClick(Sender: TObject);.ChartType:=ChartType.Itemlndex+51;;

Зчитування і зміна властивостей заголовка діаграми проводяться за допомогою об'єкту ChartTitle, але для доступу до цього об'єкту необхідно активізувати заголовок, інакше об'єкт ChartTitle і сам заголовок будуть недоступні. Це робиться шляхом установки властивості Chart.HasTitle в значення True. Отримавши доступ до заголовка, ми можемо змінити і його зміст і параметри області, в якій він розміщений. Для цього використовуємо властивості Font (шрифт), Border (лінія межі), Interior і Fill (властивості заливки), Shadow (наявність тіні), Left і Тор (координати розташування заголовка) об'єкту ChartTitle.

Доступ до властивостей легенди діаграми здійснюється за допомогою об'єкту Legend, що є властивістю діаграми Chart. Для відкриття доступу до об'єкту Legend необхідно привласнити властивості HasLegend об'єкту Chart значення True, після чого легенда діаграми відобразиться в області діаграми і буде доступна для змін.

Легенда є прямокутною областю, для якої можна змінити візуальні властивості заливки і лінії межі. Оператор Legend:=Chart.Legend; повертає в змінну Legend:variant посилання на об'єкт "легенда". Після цього можна безпосередньо звертатися до цієї легенди.

Доступ до лінії межі легенди забезпечує властивість Border, до заливки - властивість Interior або Fill.

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

Елемент колекції Axes є об'єктом Axis, об'єднуючим в собі всі властивості вибраної осі. Для вибору об'єкту Axis з колекції осей використовується метод Item(i). Аргумент i методу є числовою константою, вибраною з трьох можливих (xlCategory=l, xlValue=2, xlSeriesAxis=3). Відповідно можна отримати посилання на один з об'єктів: вісь категорій, вісь значень або вісь ряду даних.

Розглянемо властивості вибраної осі. Кожна вісь може містити заголовок (назва), мітки осі, основні і проміжні лінії сітки. Всі ці елементи мають такі властивості, як колір, тип і товщина ліній, заливка, ширина міток і шрифт тексту. Крім того, можна видалити або відобразити вибрану вісь. Для цього використовується властивість HasAxis(i) об'єкту Chart. Наприклад, оператор Chart.HasAxis(xlValue):=True; відобразить, а оператор Chart.HasAxis(xlValue):=False; приховає вісь значень. Сама вісь значень має такі ж властивості, як звичайна лінія, їх можна настроювати; доступ до її властивостей здійснюється за допомогою об'єкту Axis. Border.

Доступ до заголовка осі здійснюється за допомогою об'єкту Axis.AxisTitle. Заголовок осі складається з лінії межі, заливки і тексту. Тому у об'єкту AxisTitle є властивості Border, Interior, Fill, Caption і Font пов'язані з відповідними візуальними елементами заголовка.

Мітки осі є текстом, що відображає відповідне значення. Доступ до властивостей міток здійснюється за допомогою об'єкту TickLabels, що належить об'єкту Axis. Властивості NumberFormat, Orientation Font об'єкту TickLabels дозволяють задавати формат, напрям і шрифт тексту міток.

Лінія осі також може містити лінії основних і проміжних міток. Тип цих ліній визначається шляхом запису числових констант у властивості MajorTickMark і MinorTickMark об'єкту Axis.

 

5. ПРОГРАМНА РЕАЛІЗАЦІЯ І ОПИС ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ ПРОЕКТОВАНОЇ СИСТЕМИ


5.1 Функціональне призначення та технологічні особливості розробки


Розроблена система призначена для управління MS Word і MS Excel за допомогою додатків створених у середовищі Delphi. В ході виконання роботи були дослідженні об’єктні моделі MS Word і MS Excel та методи створення контролерів автоматизації MS Office.

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

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

Оптимальний склад технічних засобів, при яких працює система:

·    IBM-сумісний комп'ютер, не нижче Pentium-ІІІ продуктивністю не менше 1,7 ГГц;

·        Оперативна пам'ять не менше 256 МГбайт;

·        Монітор із SVGA адаптером;

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

·    Компакт-дисковий носій (CD);

·        Клавіатура, маніпулятор типу "миша".

Система повинна функціонувати під керуванням операційної системи Windows ХР. Програмна оболонка повинна мати інтуїтивно зрозумілий інтерфейс. Додаткове програмне забезпечення: інсталяція MS Office 2003 або наступних версій.

5.2 Розробка логіко-функціональної схеми системи


Логіко-функціональна схема системи наведена на рис. 5.1.

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

5.3 Опис інтерфейсу користувача


Після запуску системи на екрані з’являється вікно, яке має наступний вигляд:

Рис.5.2 Загальний вигляд вікна системи із стартовою сторінкою

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

Крім того, користувач може обрати роботу з додатком Word або додатком Excel. Якщо обрано додаток Word, на екрані з’являється вікно, в якому можна обрати необхідний напрямок роботи з додатком:

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

Так після натискання кнопки «Демонстрація» для пункту «Настройка сторінки і друк» на екрані з’являється форма, зображена на рис.5.4:

Рис.5.3 Вікно для роботи з Word

Рис.5.4 Вікно для настройки сторінки і друку

З допомогою компонентів розміщених на цій формі можна змінювати деякі параметри сторінки і друкувати документ Word.

Після натискання кнопки «Демонстрація» для пункту «Работа з таблицями» на екрані з’являється форма, яка містить компоненти для управління таблицями у документі:

Рис.5.5 Вікно для роботи з таблицями

Для роботи з панелями управління додатку Word призначене вікно, зображене на рис.5.6:

Рис.5.6 Вікно для роботи з панелями управління

Якщо була вибрана робота з додатком Excel, на екрані з’явиться вікно аналогічне за структурою вікну для роботи з Word:

Рис.5.7 Вікно для роботи з додатком Excel

Для роботи з книгами, аркушами і комірками у додатку створені наступні модулі:

Рис.5.8 Вікно для роботи з книгами і аркушами

Рис.5.9 Вікно для форматування комірок робочої книги

Рис.5.10 вікно для роботи з формулами та діаграмами

5.4. Програмна реалізація та опис основних процедур і функцій розробленої системи


Система створена засобами середовища Delphi 6.0 і відповідає всім необхідним вимогам, які пред’явлені в постановці завдання до дипломної роботи.

Система містить 11 форм, за допомогою яких користувач може працювати з додатками Word I Excel. Ієрархія форм наведена на рис.5.11:

Рис.5.11 Ієрархія форм розробленої системи

5.4.1 Настройка сторінки і друк документа MS Word

Для запуску і візуалізації додатку Word та створення нового документу в обробник події OnClick для BitButton1 записується наступна процедура:

Uses ComObj; // підключаємо модуль ComObj;

Var w, pagesetup: variant; // визначаємо глобальні змінні

procedure TForm4.BitBtn1Click(Sender: TObject);

try

// підключаємося до запущеного додатку Word

w:=GetActiveOleObject('word.application');

except

// якщо немає запущених екземплярів додатку, то запускаємо новий

w:=CreateOleObject('word.Application');;.Visible:=true; // візуалізуємо вікно додатку

w.Documents.add; // створюємо документ

end;

end;

Вставка нової сторінки у кінець існуючого документа реалізовується таким чином:TForm4.BitBtn2Click(Sender: TObject);.activedocument.Range(w.activedocument.range.end-1).(Type:=wdPageBreak);;

Зміна орієнтації сторінки:

// книжна орієнтаціяTForm4.RadioButton1Click(Sender: TObject);RadioButton1.Checked then.activedocument.pagesetup.orientation:=wdOrientPortrait;;

// альбомна орієнтаціяTForm4.RadioButton2Click(Sender: TObject);radioButton2.Checked then.Activedocument.pagesetup.Orientation:=wdOrientLandscape;;

В обробник події OnClick компонента SpinEdit1 (зміна масштабу) записано наступну процедуру:TForm4.SpinEdit1Change(Sender: TObject);.ActiveWindow.ActivePane.View.Zoom.Percentage:=spinedit1.value;;

Вставка номера сторінки реалізована за допомогою наступної процедури:TForm4.BitBtn5Click(Sender: TObject);mysection, mypagenumbers, mypagenumber: variant;

// якщо CheckBox2 вибрано, то номер вверху сторінки, інакше - внизуCheckBox2.Checked then:=w.ActiveDocument.Range.Sections.item(1);:=mysection.headers.item(1).PageNumbers;:=mysection.headers.item(1).PageNumbers.add

(pagenumberalignment:=ComboBox2.ItemIndex,:=CheckBox1.Checked);:=w.ActiveDocument.Range.Sections.item(1);:=mysection.footers.item(1).PageNumbers;:=mysection.footers.item(1).PageNumbers.add

(pagenumberalignment:=ComboBox2.ItemIndex,:=CheckBox1.Checked);;;

Зміна значень полів і палітурки відбувається за допомогою компонентів SpinEdit:

// ліве полеTForm4.SpinEdit2Change(Sender: TObject);.activedocument.pagesetup.LeftMargin:=SpinEdit2.Value;;

// праве полеTForm4.SpinEdit3Change(Sender: TObject);.activeDocument.PageSetup.RightMargin:=SpinEdit3.Value;;

// нижнє полеTForm4.SpinEdit4Change(Sender: TObject);.activeDocument.PageSetup.BottomMargin:=SpinEdit4.Value;;

// верхнє полеTForm4.SpinEdit5Change(Sender: TObject);.activeDocument.PageSetup.TopMargin:=SpinEdit5.Value;;

// палітуркаTForm4.SpinEdit6Change(Sender: TObject);.activeDocument.PageSetup.Gutter:=SpinEdit6.Value;;

Для попереднього перегляду сторінки перед друком напишемо для обробника події OnClick кнопки «Перегляд»:TForm4.BitBtn3Click(Sender: TObject);.activeDocument.PrintPreview;;

Для обробника події OnClick кнопки «Друк»:

// у SpinEdit7 вказано кількість копій для друкуTForm4.BitBtn4Click(Sender: TObject);.activeDocument.PrintOut(copies:=SpinEdit7.Value);;

5.4.2 Робота з таблицями документу

При натисканні кнопки «Створити таблицю», у щойно створений документ вставляється таблиця:TForm5.BitBtn2Click(Sender: TObject);my_range: variant;: integer;_range:=w.activedocument.range;.activedocument.tables.add

(range:=my_range, numrows:=2, numcolumns:=3);.activedocument.range.InsertAfter(' ');:=i+1;.Items.Add('Таблиця'+IntToStr(i));;

У компонент ListBox1 виводиться список таблиць у поточному документі, у компоненти ListBox2 і ListBox3 виводиться список стовпців і рядків обраної таблиці:TForm5.ListBox1Click(Sender: TObject);i: integer;:= w.activedocument.tables.Item(ListBox1.ItemIndex+1);.clear;.clear;i:=1 to table.columns.count do.Items.add(IntToStr(i));i:=1 to table.rows.count do.Items.add(IntToStr(i));;

Вставка стовпця та строки у обрану таблицю:

// вставка стовпцяTForm5.BitBtn3Click(Sender: TObject);.columns.add;;

// вставка рядкаTForm5.BitBtn4Click(Sender: TObject);.rows.add;;

Видалення стовпця або рядка з обраної таблиці:

// видалення останнього стовпцяTForm5.BitBtn5Click(Sender: TObject);.columns.Item(table.columns.count).delete;;

// видалення останнього рядкаTForm5.BitBtn6Click(Sender: TObject);.rows.Item(table.rows.count).delete;;

Зміна значення ширини стовпця виконується за допомогою компоненту SpinEdit1:TForm5.SpinEdit1Change(Sender: TObject);.columns.width:=SpinEdit1.value;;

Запис тесту з компоненту Edit1 у комірку таблиці:TForm5.BitBtn9Click(Sender: TObject);.cell(ListBox3.ItemIndex+1,.ItemIndex+1).Range.Text:=Edit1.Text;;

Шрифт обраної комірки змінюється натисканням відповідної кнопки:TForm5.BitBtn10Click(Sender: TObject);.cell(ListBox3.ItemIndex+1,.ItemIndex+1).Range.Select;.selection.Font.Color:=clRed;.selection.Font.size:=16;.selection.Font.Italic:=1;;

Вирівнювання тексту у комірці:

// по горизонталіTForm5.Button11Click(Sender: TObject);.cell(ListBox3.ItemIndex+1,.ItemIndex+1).Range.ParagraphFormat.alignment:=.ItemIndex;;

// по вертикаліTForm5.Button12Click(Sender: TObject);.cell(ListBox3.ItemIndex+1,.ItemIndex+1).VerticalAlignment:=.ItemIndex;;

Колір заливки комірки обирається у компоненті ComboBox3:TForm5.BitBtn11Click(Sender: TObject);.cell(ListBox3.ItemIndex+1, ListBox2.ItemIndex+1).Shading.BackGroundpatterncolorindex:=ComboBox3.ItemIndex;;

Зміна напрямку тексту:TForm5.BitBtn12Click(Sender: TObject);.cell(ListBox3.ItemIndex+1,ListBox2.ItemIndex+1).Range.Orientation:=ComboBox4.ItemIndex;;

Для експорту даних з бази даних, розміщуємо на формі компоненти ADOConnection і ADOTable. Підключаємо ADOConnection1 до database.mdb, а ADOTable1 - до ADOConnection1. Для обробника події OnClick кнопки «Експорт даних у Word» записуємо:TForm5.BitBtn13Click(Sender: TObject);i: integer;.activedocument.tables.add(Range:=w.activedocument.range,numrows:=1,numcolumns:=1);:=w.activedocument.tables.Item(1);.First;not ADOtable1.Eof do.rows.add;:=i+1;.cell(i,1).Range.text:=ADOtable1Amount_goods.AsString;.Next;;;

Напишемо функцію, яка використовуватиметься для процедури створення рахунку-фактури:FindRowColumnInTable(FindText:string;var tab:variant; var Row,Column:integer):boolean;:=false;.Selection.Find.Text:=FindText;w.Selection.Find.Execute then:=w.Selection.Cells.Item(1).ColumnIndex;:=w.Selection.Cells.Item(1).RowIndex;:=w.Selection.Tables.Item(1);:=true;;:=false;;;

Для обробника події OnClick кнопки «Створення рахунку-фактури» запишемо:TForm5.BitBtn7Click(Sender: TObject);table_:variant;_,Column_:integer;.documents.Add(ExtractFileDir(Application.ExeName)+'\Шаблон счета-фактуры.dot');(handle, 'Шаблон создан! Переходим к заполнению.', 'Внимание!',0);

// Підставляємо текст в заголовок документа('###НОМЕР&','1');('###Дата',datetostr(date));('###ПРОДАВЕЦ&','Domoтроника');('###АДРЕС_ПРОДАВЦА&','г.Кривой Рог, ул. ХХ партсъезда, 4');('###ИНН_ПРОДАВЦА&','1234567890');('###ГРУЗООТПРАВИТЕЛЬ&',' Domoтроника');('###ГРУЗОПОЛУЧАТЕЛЬ&','ООО "ДиосБуд"');('###ДОКУМЕНТ&','1');('###ДАТА_ДОКУМЕНТА&',datetostr(date));('###ПОКУПАТЕЛЬ&', 'ООО "ДиосБуд"');('###АДРЕС_ПОКУПАТЕЛЯ&','г.Кривой Рог, ул. Землячки, 1');('###ИНН_ПОКУПАТЕЛЯ&','0987654321');

// Якщо знайшли текстову константу, то починаємо формування табличної частиниFindRowColumnInTable('###ТАБЛИЦА&',table_,Row_,Column_) then.Selection.InsertRows(2-1);

// Формуємо перший рядок табличної частини_.Cell(Row_,Column_+0).Range.Text:='Котел THESI 23 e';_.Cell(Row_,Column_+1).Range.Text:='шт';_.Cell(Row_,Column_+2).Range.Text:='1';_.Cell(Row_,Column_+3).Range.Text:='EUR 547.45';_.Cell(Row_,Column_+4).Range.Text:='EUR 547.45';_.Cell(Row_,Column_+6).Range.Text:='EUR 47.95';_.Cell(Row_,Column_+7).Range.Text:='EUR 80,00';_.Cell(Row_,Column_+8).Range.Text:='EUR 675,4';(Row_);

// Формуємо другий рядок табличної частини_.Cell(Row_,Column_+0).Range.Text:='Радиатор Radel TYPE 33 H500 L=700';_.Cell(Row_,Column_+1).Range.Text:='шт';_.Cell(Row_,Column_+2).Range.Text:='5';_.Cell(Row_,Column_+3).Range.Text:=' EUR 96.45';_.Cell(Row_,Column_+4).Range.Text:='EUR 482,25';_.Cell(Row_,Column_+6).Range.Text:='EUR 12,30';_.Cell(Row_,Column_+7).Range.Text:='EUR 38,63';_.Cell(Row_,Column_+8).Range.Text:='EUR 533,18';

// Формуємо підпис табличної частиниFindRowColumnInTable('###ИТОГ&',table_,Row_,Column_)then begin_.Cell(Row_,Column_+0).Range.Text:='EUR 1029,97';_.Cell(Row_,Column_+1).Range.Text:='EUR 60,25';_.Cell(Row_,Column_+2).Range.Text:='EUR 1208,58';;;

// Заповнюємо текст в кінці документа('###ВСЕГО_К_ОПЛАТЕ&','Одна тысяча двести восемь евро 58 евроцентов');;

5.4.3 Робота з панелями управління додатку Word

При виборі прапорця «Великі кнопки» змінюється розмір кнопок панелей інструментів:TForm6.CheckBox1Click(Sender: TObject);.commandbars.LargeButtons:=CheckBox1.Checked;;

Спливаючі підказки включаються або виключаються за допомогою компонентів CheckBox2 і CheckBox3:TForm6.CheckBox2Click(Sender: TObject);.commandbars.DisplayTooltips:=Checkbox2.Checked;;TForm6.CheckBox3Click(Sender: TObject);.commandbars.DisplayKeysInTooltips:=CheckBox3.Checked;;

Після натискання кнопки «Створення панелі», з’являється нова панель, на якій можна розмістити всі необхідні кнопки:TForm6.BitBtn3Click(Sender: TObject);:=w.commandbars.add('Моя панель',1, false, true);.visible:=true;;

Розміщення кнопки на щойно створеній панелі:TForm6.BitBtn4Click(Sender: TObject);:=mycommandbar.controls.add(type:=1, Id:=3);;

Список всіх панелей інструментів виводиться у компонент CheckListBox1 після натискання кнопки «Список панелей управління»:TForm6.BitBtn2Click(Sender: TObject);i: integer;i:=1 to w.Commandbars.Count do begin.Items.Add(w.commandbars.Item[i].name+' = '+w.commandbars.Item[i].NameLocal);.Checked[i-1]:=w.commandbars.Item[i].Visible;;;

Обираючи значення за списку ComboBox1, можна змінити розташування обраної панелі інструментів:TForm6.ComboBox1Change(Sender: TObject);.commandbars.item[checklistbox1.itemindex+1].position:=.ItemIndex;('Невозможно изменить расположение');;;

Доступність панелей управління змінюється встановленням або зняттям відповідного прапорця:TForm6.CheckBox4Click(Sender: TObject);i: integer;i:=1 to w.commandbars.count do.commandbars.item[i].Enabled:=checkbox4.checked;;

При натисканні кнопки «Список кнопок» з’являється нове вікно, у якому виводиться список кнопок обраної панелі і їх опис:TForm6.BitBtn5Click(Sender: TObject);:=w.commandbars.item[checklistbox1.itemindex+1];.ShowModal;;

Для компонента ListBox1 нової форми у обробник події OnClick запишемо:TForm7.ListBox1Click(Sender: TObject);:=panel.controls.item[ListBox1.ItemIndex+1];.Text:=button.descriptionText;;

Видимість або невидимість обраної кнопки:TForm7.CheckBox1Click(Sender: TObject);.Visible:=checkbox1.Checked;;

Для обробника події OnClick кнопки «Виконати операцію»:TForm7.BitBtn1Click(Sender: TObject);.execute;;

5.4.4 Робота з книгами і аркушами додатку Excel

Напишемо для обробника події OnClick кнопки «Запуск Excel»:

Uses ComObj, Unit5;e, w_book, m_sheet: variant;TForm9.BitBtn1Click(Sender: TObject);:=getactiveoleobject('excel.application');:=CreateOleObject('excel.application');;.visible:=true;;

Створюємо нову книгу, натискаючи кнопку «Створити книгу»:TForm9.BitBtn2Click(Sender: TObject);_book:=e.workbooks.add;;

Щоб створити книгу на основі шаблону натискаємо кнопку «Створити книгу на основі шаблону»:TForm9.BitBtn3Click(Sender: TObject);_book:=e.workbooks.add(extractFileDir(application.ExeName)+ '\Шаблон.xlt');;

Відкриття існуючої книги:TForm9.BitBtn4Click(Sender: TObject);OpenDialog1.execute then_book:=e.workbooks.add(OpenDialog1.FileName);;

Збереження нової або зміненої книги:TForm9.BitBtn5Click(Sender: TObject);SaveDialog1.execute then_book:=e.workbooks.saveAs(SaveDialog1.FileName);;

Список аркушів робочої книги виводиться у компонент ListBox1 після натискання кнопки «Список аркушів»TForm9.BitBtn7Click(Sender: TObject);i:integer;.Clear;i:=1 to w_book.sheets.count do.Items.Add(w_book.sheets.Item[i].Name);;

Процедура для отримання доступу до аркушів робочої книги:TForm9.ListBox1Click(Sender: TObject);_sheet:=w_book.sheets.Item[ListBox1.ItemIndex+1];;

Натискання кнопки «Додати аркуш» вставляє новий аркуш у поточну робочу книгу:TForm9.BitBtn6Click(Sender: TObject);_book.sheets.add;Click (sender);('Невозможно добавить лист');;;

Натискання кнопки «Видалити вибраний аркуш» видаляє вибраний аркуш з поточної робочої книги:TForm9.BitBtn10Click(Sender: TObject);_sheet.delete;Click (sender);('Невозможно удалить лист');;;

Для обробника події OnClick кнопки «Перейменувати аркуш»:TForm9.Button8Click(Sender: TObject);_sheet.name:=Edit1.Text;Click(Sender);('Невозможно переименовать лист');;;

За допомогою кнопок «Скопіювати аркуш в кінець книги» і «Скопіювати аркуш в початок книги» ми маємо змогу скопіювати вибраний аркуш у кінець або початок робочої книги, відповідно:TForm9.BitBtn8Click(Sender: TObject);_sheet.copy(after:=w_book.sheets.item[w_book.sheets.count]);Click (sender);('Невозможно скопировать лист');;;TForm9.BitBtn9Click(Sender: TObject);_sheet.copy(before:=w_book.sheets.item[1]);Click (sender);('Невозможно скопировать лист');;;

Функція пошуку та заміни тексту:FindAndReplace(find, rep: string): boolean;range: variant;:= e.range['A1:EL1000'].Replace(what:=find, replacement:=rep);:=true;:=false;;;

Обробник події OnClick кнопки «Пошук і заміна тексту»:TForm9.BitBtn11Click(Sender: TObject);('Поиск', 'Замена');;

Для обробника події OnClick кнопки «Запис випадкових чисел у комірки»:TForm9.Button12Click(Sender: TObject);i:integer;;i:=1 to 10 do_sheet.cells[2,i]:=Random(100);;

Після натискання кнопки «Експорт із БД» у комірки робочої книги записуються данні з бази даних:TForm9.BitBtn12Click(Sender: TObject);.Active:=true;not ADOTable1.Eof do_sheet.cells[ADOtable1.RecNo,1]:=ADOTable1Amount_goods.AsString;.Next;;;

Закриття робочих книг та додатку Excel:

// закриття активної робочої книгиTForm9.BitBtn13Click(Sender: TObject);.activeworkbook.close;;

// закриття всіх робочих книгTForm9.BitBtn14Click(Sender: TObject);.workbooks.close;;

// закриття додатку ExcelTForm9.BitBtn15Click(Sender: TObject);.quit;;

5.4.5 Форматування комірок

Для реалізації заливки комірки, напишемо для обробника події OnClick кнопки «Заливка» наступну процедуру:TForm10.BitBtn2Click(Sender: TObject);ColorDialog1 doexecute then_range.Interior.color:= color; // колір обирається з панелі кольорів;

Для обробника події OnClick кнопки «Межі комірки»:TForm10.Button3Click(Sender: TObject);_range.borders.linestyle:=1; // тип лінії межі комірки_range.borders.weight:=3; // ширина лінії межі коміркиColorDialog1 doexecute then_range.borders.Color:= color; // колір лінії межі комірки;

Вставка тексту у комірку:TForm10.BitBtn3Click(Sender: TObject);_range.value:=Edit3.Text;;

Для зміни розмірів комірки напишемо для обробника події OnClick кнопки BitBtn4:TForm10.BitBtn4Click(Sender: TObject);_range.rowheight:=SpinEdit2.value; // висота комірки_range.columnwidth:=SpinEdit3.Value; // ширина комірки;

Зміна шрифту обраної комірки:TForm10.BitBtn7Click(Sender: TObject);_range.Font.bold:=SpeedButton1.Down; // напівжирний_range.Font.italic:=SpeedButton2.Down; // курсив_range.Font.Underline:=SpeedButton3.Down; //підкреслений_range.Font.Name:=ComboBox3.Text; // шрифт;

Для кнопки BitBtn5 напишемо наступну процедуру:TForm10.BitBtn5Click(Sender: TObject);

// вирівнювання тексту в комірці по горизонталіComboBox1.ItemIndex of

: my_range.horizontalalignment:=-4131;

: my_range.horizontalalignment:=-4108;

: my_range.horizontalalignment:=-4152;;

// вирівнювання тексту в комірці по вертикаліComboBox2.ItemIndex of

: my_range.verticalalignment:=-4160;

: my_range.verticalalignment:=-4117;

: my_range.verticalalignment:=-4107;;_range.Wraptext:=CheckBox1.Checked; // перенос тексту по словах_range.Mergecells:=CheckBox2.Checked; // об’єднання комірок_range.orientation:=SpinEdit1.Value; // поворот тексту;

Для обробника події OnClick кнопки «Декларація НДС» напишемо:TForm10.BitBtn8Click(Sender: TObject);.showmodal;;

Для обробника події OnCreate форми «Заповнення податкової декларації», яка з’являється після натискання кнопки «Декларація НДС», напишемо:TForm8.FormCreate(Sender: TObject);;.Text:=currtostr(1000+random(1000));.Text:=datetostr(date);;

Д

Напишемо функцію пошуку і заміни, яка буде використовуватися для процедури заповнення декларації:FindAndReplace(find_,rep_:string):boolean;range:variant;:=false;find_<>'' then begin:=E.Range['A1:EL230'].Replace(What:=find_,Replacement:=rep_);:=true;:=false;;;;

Для обробника події OnClick кнопки «Створення документу по шаблону»:TForm8.BitBtn2Click(Sender: TObject);.WorkBooks.Add(ExtractFileDir(application.ExeName)+'\Декларация НДС.xlt');;

Для обробника події OnClick кнопки «Заповнення шаблону»:TForm8.Button3Click(Sender: TObject);a_:integer;('#ИНСПЕКЦИЯ&',inspekcia.Text);('#ОРГАНИЗАЦИЯ&',organizacia.Text);a_:=1 to 12 do FindAndReplace('И+inttostr(a_)+'&',INN.Text[a_]);a_:=1 to 9 do FindAndReplace('К'+inttostr(a_)+'&',KPP.Text[a_]);a_:=1 to 15 do FindAndReplace('C'+inttostr(a_)+'&',(SUMMA.Text+' ')[a_]);a_:=1 to 2 do FindAndReplace('Д'+inttostr(a_)+'&',DATA.Text[a_]);a_:=1 to 2 do FindAndReplace('М'+inttostr(a_)+'&',DATA.Text[a_+3]);a_:=1 to 4 do FindAndReplace('Г'+inttostr(a_)+'&',DATA.Text[a_+6]);;

5.4.6 Робота з формулами і діаграмами

Для вставки готової формули в обрану комірку використовується наступна процедура:TForm11.BitBtn3Click(Sender: TObject);i: integer;i:=1 to ADOTable1.RecordCount do:=m_sheet.range['C'+IntToStr(i)];.formula:='=A'+inttostr(i)+'+B'+inttostr(i);;;

Для виклику майстра функцій використовують таку процедуру:TForm11.BitBtn4Click(Sender: TObject);:=m_sheet.range['C1'];.functionwizard;;

Для обробника події OnClick кнопки «Побудувати діаграму» напишемо:TForm11.BitBtn6Click(Sender: TObject);_chart:=e.charts.add;

// область побудови діаграми:=m_sheet.range['A1:B1'+IntToStr(ADOTable1.RecordCount)]; m_chart.SetSourceData(Source:=myrange,PlotBy:=2); // дані для побудови діаграми_chart.hastitle:=true; // доступність заголовку_chart.Charttitle.text:=edit1.Text; // назва (заголовок) діаграми_chart.haslegend:=Checkbox2.Checked; // наявність легенди_chart.hasdatatable:=CheckBox3.Checked; // відображається таблиця даних чи ні

// вибираємо тип діаграмиcombobox1.ItemIndex of

: m_chart.ChartType:=51;

: m_chart.ChartType:=54;;

// якщо CheckBox1 вибрано, то діаграма будується на окремому аркуші, інакше - на аркуші з данимиCheckBox1.Checked then_chart.location(where:=1)_chart.location(where:=2, name:=m_sheet.name);;;

6. ЕКОНОМІЧНЕ ОБҐРУНТУВАННЯ ДОЦІЛЬНОСТІ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ


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

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

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

В розробці користуємося мовою програмування Borland Delphi v.6.0.

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

·    IBM-сумісний комп'ютер, не нижче Pentium IІ, RAM-1024Mb;

·    Монітор із SVGA адаптером;

·        НЖМД 80 Гбайт;

·        НГМД 3,5 дюйми;

·   
Компакт-дисковий носій (CD);

·        Клавіатура, маніпулятор типу "миша".

6.1 Визначення витрат на створення програмного продукту


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

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

Таблиця 6.1

Календарний план виконання робіт по створенню програми

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

Кількість затрачених годин

Знайомство з проблемою і визначення шляхів її вирішення

2

Розробка структури інформаційної системи

5

Розробка моделі дослідження контролерів MS Office

5

Розробка програмного продукту

10

Налагодження програми на ПК

1

Підготовка документації по програмному забезпеченню

5


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

tрозр.= tпробл.+ tстр..+ tмод.+ tпрогр.+ tнал.+ ttдок , де

tпробл. - час на знайомство з проблемою й визначення шляхів її вирішення,стр. - час на розробку структури інформаційної системи,мод. - час на розробку моделі бази даних;прогр... - час на розробку програмного продукту,нал..- час на налагодження програми на ПК,док...- час на підготовку документації по задачі,розр. = 2+5+5+10+1+5 = 28 [люд./годин]

Для визначення середньої годинної оплати програміста необхідно спочатку визначити його річний фонд грошового забезпечення. Це можна зробити, знаючи місячне грошове забезпечення програміста. Воно складає приблизно 1200,00 гривень. Крім того він отримує раз на рік матеріальну допомогу на оздоровлення в розмірі 360 гривень та щомісячну премію в розмірі 420 гривень.

Таким чином, річний фонд грошового забезпечення програміста складає 19 800 гривень.

Нарахування на ФОП:

1.   Безробіття 1,6%

2.       Пенсійний фонд 33,2%

.        Соцзабезпечення тимчасової непрацездатності 1,4%

.        Соцзабезпечення від нещасних випадків 1%

Підсумок: 37,2%

Далі визначимо число робочих годин у році, за формулою:

n(p) = (N - N(п) - N(в)) * 8, де

N - загальне число днів у році,(п) - число святкових днів у році,(в) - число вихідних днів у році,

Число святкових днів у році - 10, вихідних - 104. Отже, число робочих годин у році дорівнює:(p) = ( 365 - 10 - 104) * 8 = 2008 [години]

Середньо годинна оплата програміста визначається співвідношенням:

Срозр. = ФЗПсн / n(p), де

ФЗПсн - річний фонд грошового забезпечення,

Срозр. = 19800 / 2008 = 9,86 [гривень]

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

Зрозр. = 28 * 9,86 = 276,08 [гривень]

Зрозр.нарах.= 276,08 + 276,08 * 37,2% = 378,78 [гривень]

 

.2 Витрати, пов'язані з розробкою програми на ПК


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

СПК = ЗгПК / ТгПК

Розрахунок річного фонду тривалості робочого часу ПК (у годинах)

Визначивши дійсний річний фонд тривалості робочого часу ЕОМ у годинах, маємо можливість оцінити собівартість машинного часу. Дійсний річний фонд тривалості робочого часу ЕОМ дорівнює числу робочих годин у році для оператора, за винятком часу, затраченого на профілактику й ремонт ЕОМ. Час профілактики: щомісячно - 5 годин; щорічно - 6 діб.

ТгПК = n(p) - (6 * 8 + 5 * 12),

ТгПК = 2008 - (6 * 8 + 5 * 12) = 1900 [години]     

Річні поточні витрати на експлуатацію визначаються за формулою:

ЗгПК = ЗгАМ + ЗгЭЛ + ЗгРЕМ + ЗгМАТ + ЗгДР, де

ЗгАМ - річні відрахування на амортизацію,

ЗгЭЛ - річні витрати на електроенергію для ПК,

ЗгРЕМ - річні витрати на ремонт ПК,

ЗгМАТ - річні витрати на додаткові комплектуючі ПК,

ЗгДР - інші витрати.

Амортизаційні відрахування

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

Заключний етап в нарахуванні податкової амортизації - це щоквартальний розрахунок суми амортизації. Норми амортизації встановлені у відсотках до балансової вартості 4 групи основних фондів і складають 60% на рік, так як нарахування амортизації відбувається щоквартально, то норма амортизаційних відрахувань у квартал складає (60% / 4 ) = 15%.

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

ЗгАМ = ЦПК * НА, де

ЦПК - балансова вартість ПК,

НА - норма амортизаційних відрахувань, що дорівнює 15% (у квартал).

Балансова вартість ПК :

Цпк = Цр * ( 1+ Кун ), де

Цр - ринкова вартість ПК,

Кун - коефіцієнт, що враховує витрати на установку й налагодження, рівний 12%.

Ринковою вартістю ПК, будемо вважати ту вартість до якої входить повна комплектація ПК, вона становитиме 2600 грн.

Цпк = 2600 * ( 1 + 0.12 ) = 2912 [гривень],

кв. = 2912 * 0,15 = 437,25 [гривень],

кв. = (2912 - 437,25) * 0.15 = 371,21 [гривень],

кв. = (2912 - 437,25 - 371,21) * 0.15 = 315,53 [гривень],

кв. = (2912 - 437,25 - 371,21 - 315,53) * 0,15 = 268,20 [гривень],

ЗгАМ = 437,25 + 371,21 + 315,53 + 268,20 = 1392,19 [гривень]

Витрати на електроенергію, споживану ПК

Витрати на електроенергію, затрачену ПК, визначаються за формулою:

ЗгЭЛ = РчПК * ТгПК * ЦЭЛ * А, дечПК - потужність ПК ( PчПК = 0.3 [кВт.]),

ТгПК - річний фонд корисного часу роботи машини,

ЦЭЛ - вартість 1 квт/годину електроенергії (ЦЭЛ = 0,2436 [грн.]),

А - коефіцієнт інтенсивного використання ПК ( 0.9 - 1 ).

Таким чином, кількість витрат на електроенергію, споживану ПК, складає:

ЗгЭЛ = 0.3 * 1900 * 0,2436 * 1.0 = 138,85 [гривень]

Витрати на поточний і профілактичний ремонт

Витрати на поточний і профілактичний ремонт приймаються рівними 6% від вартості ПК:

ЗгРЕМ = ЦПК * 0.06,

ЗгРЕМ = 2912* 0.06 = 174,72 [гривень]

Витрати на матеріали

Витрати на матеріали - витрати, необхідні для забезпечення експлуатації ПК, приймаються рівними 2% від вартості ПК.

ЗгМАТ = ЦПК * 2%,

ЗгМАТ = 2912 * 0.02 = 58,24 [гривень]

Непрямі витрати.

Непрямі витрати, пов'язані з експлуатацією ПК, приймаються рівними 5 - 10% вартості ПК.

ЗгДР = ЦПК * 5%,

ЗгДР = 2912 * 0.05 = 145,60 [гривень]

Повні витрати на експлуатацію ПК

Повні витрати на експлуатацію ПК протягом року складають:

ЗгПК= 1392,19 + 138,85 + 174,72+58,24+145,60 = 1909,60 [гривень]

Собівартість однієї години роботи машини ( CПК ) складає:

СПК = 1909,60 / 1900 =1,01 [гривень]

Витрати машинного часу.

У ході розробки програмного комплексу машина використовувалася на етапах програмування:

·    написання програми за готовою схемою алгоритму;

·        налагодження програми на ПК;

·        підготовки документації по задачі.

Таким чином, витрати машинного часу склали (tмаш):

tмаш = tпрог.+ tотл. + tдок,маш = 10 + 1 + 5 = 16 [чол./часів]

Витрати на оплату машинного часу можна розрахувати за формулою:

Змаш = tмаш * СПК,

Змаш = 16* 1,01 =16,16 [гривень]

Загальні витрати на створення програмного комплексу:

Зразом = З розр. + З маш,

Зразом = 378,78 + 16,16 = 394,94 [гривень]

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

Таким чином, економія від використання розробки програми становитиме:

Курс долара США у НБУ - 7,7 гривень

Ек = 100 * 7,7 - 394,94 = 375,06 [гривень]

7. ОХОРОНА ПРАЦІ


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

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

Законодавство України про охорону праці складається із загальних законів України та спеціальних законодавчих актів. Загальними законами України, що визначають основні положення з охорони праці є Конституція України, Закон України «Про охорону праці», Кодекс законів про працю (КЗпП), Закон України «Про загальнообов'язкове державне соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності», Закон України „Про забезпечення санітарного та епідемічного благополуччя населення” де вказані основні вимоги гігієни та санітарії, параметри мікроклімату на робочих місцях регламентовані ГОСТ 12.1.005-88 і СанПіН 2.24.548-96. Норми штучного та природного освітлення визначені БНіП ІІ-4-79/85. Пожежна безпека викладена в законі України „Про пожежну безпеку” і „Правила про пожежну безпеку в Україні”.

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

7.1 Аналіз небезпечних та шкідливих факторів на робочому місці оператора ПК


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

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

Оператор ЕОМ може зіткнутися з наступними фізично небезпечними й шкідливими факторами:

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

·        підвищений рівень шуму;

·        недостатнє або надмірне освітлення.

·        підвищений рівень рентгенівських випромінювань;

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

·        психофізіологічні шкідливі і небезпечні виробничі чинники.

Відповідно діючим нормативним документам (СН 512-78 та ДСанПіН 3.3.2.007-98) площа на одне робоче місце становить 13,0 м²; об’єм - 32,5 м³. Стіна, стеля, підлога приміщення виготовляються з матеріалів, дозволених для оформлення приміщень санітарно-епідеміологічним наглядом. Підлога приміщення вкрита діелектричним килимком, випробуваним на електричну міцність.

Висота робочої поверхні столу для оператора ПЕОМ - 690 мм, ширина повинна забезпечувати можливість виконання операцій в зоні досягнення моторного ходу; висота столу 725 мм, ширина 800 мм, глибина 900 мм. Простір для ніг: висота 600 мм, ширина 500 мм, глибина на рівні колін 500 мм, на рівні витягнутої ноги 650мм.

Ширина й глибина сидіння 400 мм, висота поверхні сидіння 450 мм, кут нахилу поверхні від 15º вперед до 5º назад. Поверхня сидіння плоска, передній край закруглений.

Мікроклімат виробничих приміщень і стан повітряної середи в робочій зоні - головні чинники, які визначають умови праці. Основні параметри мікрокліматичних умов - температура, вологість, швидкість руху повітря і барометричний тиск впливають на теплообмін і загальний стан організму людини. Норми виробничого мікроклімату встановлені системою стандартів безпеки праці ГОСТ 12.1.005-88 та СанПіН 2.24.548-96.

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

В холодні періоди року температура повітря, швидкість його руху і відносна вологість повітря відповідно складають: 22-24 С°; 0,1 м/с; 40-60%; в теплі періоди року температура повітря - 23-25 Сº; відносна вологість 40-60 %; швидкість руху повітря - 0,1 м/с.

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

На організм людини і обладнання ПЕОМ великий вплив виявляє відносна вологість. При відносній вологості повітря більш 75-80% знижується опір ізоляції, змінюються робочі характеристики елементів, зростає інтенсивність відмов елементів ПЕОМ. Швидкість руху повітря виявляє вплив на функціональну діяльність людини і роботу приладів ПЕОМ.

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

При роботі на ПЕОМ людина наражається на шумовий вплив з боку багатьох джерел, наприклад, шум, викликаний роботою принтера (70 дБА). Діючи на слуховий аналізатор, шум змінює функціональний стан багатьох систем органів людини внаслідок взаємодії між ними через центральну нервову систему. Це виявляє вплив на органи зору людини, вестибулярний апарат і рухові функції, а також призводить до зниження мускульної дієздатності. При роботі в умовах шуму спостерігається підвищена втомлюваність і зниження дієздатності, погіршується увага і мовна комутація, створюються передумови до помилкових дій працюючих. Згідно з вимогами СанПіН 2.2.2.542-96 гранично допустимий рівень шуму становить 50 дБА.

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

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

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

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

 

.2 Заходи щодо нормалізації шкідливих та небезпечних факторів на робочому місці оператора ПК


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

Ефективне рішення проблеми захисту від впливу шуму досягається проведенням комплексу заходів, в які входить ослаблення інтенсивності цього шкідливого виробничого чинника в джерелах і на шляху розповсюдження звукових хвиль.       Зниження виробничого шуму в приміщеннях, де розміщені ПЕОМ, досягається за рахунок акустичної обробки приміщення - зменшення енергії відбитих хвиль, збільшення еквівалентної площі звукопоглинаючих поверхонь, наявність в приміщеннях штучних звукопоглиначів.      З метою зниження шуму в самих джерелах встановлюються шумогасячі прокладки або амортизатори. В якості засобів звукопоглинання застосовуються не горючі або тяжко горючі спеціальні перфоровані плити, панелі, мінеральна вата з максимальним коефіцієнтом поглинання в межах частот 31.5-8000 Гц.

При правильно розрахованому і виконаному освітленні очі працюючого за комп’ютером протягом тривалого часу зберігають здатність добре розрізняти предмети не втомлюючись. Це сприяє зниженню професійного захворювання очей, підвищується працездатність. Штучне освітлення в приміщеннях експлуатації ПЕОМ реалізується системою загального рівномірного освітлення.        У виробничих і адміністративно-суспільних приміщеннях, у випадках переважної роботи з документами, допускається застосування системи комбінованого освітлення (до загального освітлення додатково встановлюються світильники місцевого освітлення, призначені для освітлення зони розташування документів).

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

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


Де: Ф - світловий потік лампи, люмен;

Е - нормована освітленість, люкс;

kз - коефіцієнт запасу (для люмінесцентних ламп kз = 1,1);

S - площа освітлювального приміщення, м2;

Z - коефіцієнт мінімальної освітленості (для люмінесцентних ламп

Z = 1,1);

N - кількість електричних ламп;

η - коефіцієнт використання світлового потоку.

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


Де: L і b - довжина та ширина приміщення, м;

В приміщенні з розмірами L = 6 м, b = 4 м, h = 3 м робітнича поверхня знаходиться на рівні 0,8 м від полу, тому hn = 2,2 м.

Отже, показник приміщення рівний:


По довіднику визначаємо величину коефіцієнту використання світлового потоку η = 0,45 для і = 1,1 та коефіцієнтів відбивання світла - 70%, 50%, 30%.

Для освітлення використовується люмінесцентна лампа типу ЛБ, потужністю 40 Вт, світловий потік лампи 3000 лм. При загальному типі освітлення значення Е = 300 лк.

Підставимо всі отримані дані в формулу і визначимо необхідну кількість світильників:


Отже, за результатами проведених розрахунків можна зробити висновок, що для оптимального освітлення у приміщенні площею 24 м2, необхідно встановити 7 світильників з люмінесцентними лампами потужністю 40 Вт.

Електронно-променеві трубки, магнетрони, тиратрони та інші електровакуумні прилади, що працюють при напрузі вище 6 кВ, є джерелами „м’якого” рентгенівського випромінювання.         При технічній експлуатації апаратури, в якій напруга вище 15 кВ, використовують засоби захисту для відвертання рентгенівського опромінення операторів і інженерно-технічних робітників, бо при такій напрузі рентгенівське випромінювання розсіюється в навколишньому просторі виробничого приміщення.    Засобами захисту від „м’якого” рентгенівського випромінювання є застосування поляризаційних екранів, а також використання в роботі моніторів, що мають біокерамічне покриття і низький рівень радіації.                В якості засобів захисту від чинності м’яких рентгенівських променів застосовуються екрани з сталевого листа (0,5-1 мм) або алюмінію (3 мм), спеціальної гуми.                Для відвертання розсіювання рентгенівського випромінювання по виробничому приміщенню встановлюють захисні огорожі з різноманітних захисних матеріалів, наприклад, свинцю або бетону.

На сьогоднішній день основним засобом захисту від електромагнітних випромінювань, що застосовуються в обчислювальній техніці є екранування джерел випромінювання. Сьогодні всі монітори, що випускаються, а також блоки живлення мають корпус, виконаний зі спеціального матеріалу, що практично повністю затримує проходження електромагнітного випромінювання. Застосовуються також спеціальні екрани, що зменшують ступінь впливу електромагнітних і рентгенівських променів на оператора. Для зниження електромагнітного впливу на людину-оператора використовуються також раціональні режими роботи, при яких норма роботи на ПЕОМ не повинна перевищувати 50 % робочого часу.

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

застосування захисного заземлення або обнуління;

ізоляцією струмопровідних частин;

дотриманням умов безпеки при настанові і заміні агрегатів;

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

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

 

7.3 Пожежна безпека


По класифікації приміщень з ПЕОМ по пожежній небезпеці відносяться до категорії В (БНіП 2.09.02-85), що характеризуються наявністю твердих горючих і важко горючих речовин і матеріалів, а також легкозаймистих матеріалів. Технологічні об’ємні підлоги виконуються з негорючих або тяжко горючих матеріалів з межею вогнестійкості не менше 0,5. Підпільні простори під об’ємними підлогами відділяють негорючими перегородками з межею вогнестійкості не менше 0,75 на ділянки площею не більш 250 м2.

Причинами пожежі можуть бути:

паління;

використання нагрівальні прилади в приміщеннях з ПЕОМ;

усування несправності за наявності напруги в мережі;

визначання наявність напруги в ланцюзі, замиканням клем;

використання електроприладів у важко провітрених приміщень.

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

Для гасіння пожеж передбачена наявність первинних засобів пожежегасіння, (згідно «Правил пожежної безпеки в Україні») так і пожежні крани із брезентовими рукавами, пожежні щити (1 щит на 5000м2). В кімнаті знаходиться вогнегасник (ВВ-5). При розміщенні вогнегасників виключений безпосередній вплив на них сонячних променів, опалювальних і нагрівальних пристроїв. За конструкцією, матеріалами, методами контролю, умовами змісту, обслуговуванням вогнегасник відповідає вимогам Правил пристрою і безпечної експлуатації судин, що працюють під тиском.

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

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

ВИСНОВКИ

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

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

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

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

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

СПИСОК ЛІТЕРАТУРИ

1.  Бобровский С. Delphi 5 - CПб.: Питер, 2000

.    Гаевский А. Разработка программных приложений на Delphi 6 - М.: Киев, 2000.

.    Галисеев, Г.В. Программирование в среде Delphi 8 for .NET. Самоучитель. :- М.: Издательский дом "Вильяме", 2004.

.    Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi. Учебное пособие. СПб.: ДиаСофтЮП, 2003. - 208 с.

.    Гофман В., Хомоненко А. Delphi 6. CПб.: БХВ-Петербург, 2004.

6.  Грибачев К. Г. Delphi и Model Driven Architecture. Разработка приложений баз данных. - СПб.. Питер, 2004.

.    Грибачев К. Тонкие базы данных и инструменты для их разработки в Delphi и C++Builder. - КомпьютерПресс, 2003, № 7, 8.

.    Дарахвелидзе П. Г., Марков Е. П. Delphi - среда визуального программирования. СПб.: BHV- Санкт-Петербург, 1999.-352с.

.    Елманова Н., Трепалин С., Тенцер А. Delphi 6 и технология COM. - CПб.: Питер, 2002. - 640 с.

.    Калверт Ч. Delphi 5. Энциклопедия пользователя. СПб.: ДиаСофтЮП, 2003.

.    Климова Л. М. "Delphi 7. Самоучитель. М.: ИД КУДИЦ-ОБРАЗ, 2005. - 480с.

.    Корняков В.Н. Программирование документов и приложений MS Office в Delphi. - CПб.: БХВ-Петербург, 2005. - 496 с.

.    Коцюбинский А.О., Грошев С.В. Язык программирования Delphi 5 - М.: "Издательство Триумф", 1999

.    Леонтьев В. Delphi 5 - М.: Москва "Олма-Пресс", 1999

.    Мадрел Тео. Разработка пользовательского интерфейса/ Пер. с англ.- М.:ДМК,2001.

.    Матросов А. В. и др. MS Office ХР: разработка приложений / Матро-

сов А. В., Новиков Ф. А., Усаров Г. Е., Харитонова И. А. / Под ред. Ф. А. Новикова. - СПб.: БХВ-Петербург, 2003.

17.          Немнюгин С.А. Программирование - CПб.: Питер, 2000.

.    Озеров В. Delphi. Советы программистов (2-е издание). - СПб.: Символ- Плюс, 2002.

.    Пономарев В. Самоучитель Delphi 7. CПб.: БХВ-Петербург, 2005.

.    Ревнич Ю. В. Нестандартные приемы программирования на Delphi. - СПб.: БХВ-Петербург, 2005.

.    Ремизов Н. Delphi - CПб.: Питер, 2000

.    Симонович С.В., Евсеев Г.А. Занимательное программирование: Delphi. - М.: АСТ-ПРЕСС Кнрга, 2001. - 368 с.

.    Фараонов В. Система программирования Delphi. CПб.: БХВ-Петербург, 2005.

.    Ханекамп Д.. Вилькен П. Программирование под Windows/ Пер. с нем. -М.: ЭКОМ, 1996.

.    Хомоненко А.Д Delphi 7. CПб.: БХВ-Петербург, 2005.-1216с. :ил.

.    http://www.dclphikingdom.info

.    http://www.delphiworld.narod.ru

.    http://www.delphirus.com.ru

.    http://www.williamspublishing.com

30.          http://www.delphimaster.ru

Похожие работы на - Дослідження об’єктної моделі та методів створення контролерів автоматизації MS Office

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!