Гнучка пошукова система обліку науково-дослідницької документації

 

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

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

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

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










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

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

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

«Гнучка пошукова система обліку науково-дослідницької документації»




Студента групи ГКС-06-з Короткого Юрія Ігоровича підпис_________

Керівник роботи ст. викл. Кислова Марія Алімовна підпис_________

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

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

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

нормоконтроль ст. викл. Супрунова Ю.А. підпис__________



Кривий Ріг, 2011

Анотація


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

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


Аннотация


Целью дипломной работы является создание системы, предназначенной для автоматизации учета научно-исследовательской документации в условиях Криворожского металлургического факультета НМетАУ. Разработанная система создана согласно заказу и внедрена в информационно-вычислительном центре этой организации.

В исследовательской части дипломной работы были рассмотрены особенности использования баз данных при проектировании информационных систем.

summary


The purpose of the diploma work is development of the system intended for automation of the research documents account in the conditions of Kriviy Rih metallurgical faculty of NMetAU. The developed system is created in obedience to the order and inculcated in the information-computer center of this organization.research part of diploma work there were the considered features of databases using at planning of the information systems.

ЗМІСТ


ВСТУП

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

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

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

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

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

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

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

. БАЗИ ДАНИХ ЯК СКЛАДОВА ЧАСТИНА АВТОМАТИЗОВАНИХ ІНФОРМАЦІЙНИХ СИСТЕМ

.1 Концепція баз даних - закономірний результат розвитку автоматизованих інформаційних систем

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

.2.1 Таблиці

.2.2 Ключові поля

.2.3 Індекси

.2.4 Зовнішні ключі

. ОСНОВИ ТЕХНОЛОГІЇ ACTIVEX DATA OBJECTS (ADO)

.1 Огляд технології ADO

.2. Огляд технології OLE DB

.2.1 OLE DB провайдери

.2.2 ODBC провайдери

.3. Архітектура технології ADO

.3.1 Огляд компонентів ADO в середовищі Delphi

.3.2 Інтерфейси архітектури ADO

.3.3 Використання компонента TADOConnection

.3.4 Використання параметрів запиту

.3.5 Синхронізація даних клієнта і сервера

.3.6 Робота з транзакціями

.3.7 Атрибути доступу до даних

. ТЕОРЕТИЧНЕ ДОСЛІДЖЕННЯ ОБЄКТНИХ МОДЕЛЕЙ ТА МЕТОДІВ СТВОРЕННЯ КОНТРОЛЕРІВ АВТОМАТИЗАЦІЇ MS OFFICE

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

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

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

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

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

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

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

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

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

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

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

.4 Програмна реалізація системи

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

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

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

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

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

ВИСНОВКИ

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


ВСТУП


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

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

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

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

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

Традиційно Delphi відносять до так званих RAD-систем (Rapid Application Development, швидка розробка додатків). Проте ця система володіє також практично всіма можливостями сучасних СУБД, таких як, наприклад, Microsoft Access або Visual FoxPro. Вона дозволяє створювати додатки за допомогою широкого набору інструментальних програмних засобів, візуально готувати запити до баз даних, а також безпосередньо писати запити на мові SQL.

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


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


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


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


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


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

Початок робіт: 01.11.10. Закінчення робіт: 25.05.11.


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


Гнучка пошукова система обліку науково-дослідницької документації була створена за допомогою інструментального засобу прискореної розробки програмного забезпечення Delphi та технології доступу до бази даних ADO з використанням бази даних в форматі Microsoft Access. В розробці були використані пакети альтернативних компонентів Development Express, Synactis та RXLib, за допомогою яких був реалізований інтерфейс системи. Використання пакету RXLib зумовлено вимогою замовника - можливістю застосування в системі редактору формул Microsoft Equation. Пакет компонентів Synactis призначений для відображення змісту файлів формату pdf.

Склад розробленої системи:

·ADOServer.exe - серверна частина системи;

·NAUKA_client.exe - клієнтська частина;

·baza.mdb - файл бази даних формату Microsoft Access;

·path.ini - зберігає інформацію про повний шлях до файлу бази даних;

·p2iagent.exe - консольний конвертор фалів формату pdf в формат bmp;

·Шаблон_карт.dot - шаблон документу MS Word для створення картки обліку патентів, що містить графічне зображення та короткий опис винаходу (формулу);

·Шаблон_таблиця.dot - шаблон документу, що призначений для експорту в MS Word переліку патентів на основі вибірки;

·Шаблон_статті.dot - шаблон документу, що призначений для експорту в MS Word переліку наукових публікацій.


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


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

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


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


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

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

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

·Додаткове програмне забезпечення: установка пакету MS Office, Acrobat Reader (на клієнтських ЕОМ), IBProvider - ODBC- провайдера доступу до бази даних (на сервері);

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

·IBM-Сумісний комп'ютер, не нижче Pentium III, RAM-512Mb, SVGA-800*600*16bit, вільний простір на жорсткому диску на сервері не менш 300 Мб, на клієнтській машині - біля 5 Мб.


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


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

·технічне завдання на реалізацію проекту;

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

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

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

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


2. БАЗИ ДАНИХ ЯК СКЛАДОВА ЧАСТИНА АВТОМАТИЗОВАНИХ ІНФОРМАЦІЙНИХ СИСТЕМ


2.1 Концепція баз даних - закономірний результат розвитку автоматизованих інформаційних систем


Широке використання ЕОМ призвело до автоматизації обробки і використання величезної кількості інформації у різних галузях діяльності людини. Ще в початковий період розвитку автоматизованих інформаційних систем (АІС) на основі ЕОМ першого і другого поколінь (кінець 50-х - початок 60-х років) різні організації почали накопичувати і зберігати дані про цікаві для них предметні області. Дані або були «зашиті» безпосередньо в програми, або програми мали змогу вибирати ці дані тільки з жорстко фіксованих (визначених усередині програми) пристроїв (носіїв інформації).

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

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

Користувачі АІС поступово усвідомлювали необхідність централізації управління даними і програмн ими додатками. Розуміння цієї необхідності приходило різними шляхами.

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

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

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

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

Усвідомлення значимості, даних, необхідності централізованого управління ними і прагнення розвязати наведені вище проблеми розвитку АІС призвели до виникнення нової концепції спільного використання даних - концепції баз даних.

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

Насамперед проголосимо основні ідеї, що лежать в основі концепції бази даних:

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

. Усунути надмірне дублювання даних.

. Централізувати управління даними.

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

Тобто всі дані розміщуються в єдиному сховищі. Користувачі АІС мають можливість звертатися до будь-яких даних, що їх цікавлять.

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

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

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

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

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

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

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

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

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

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

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

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

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

. Можливість представлення адекватних реальній предметній області структур даних (побудова адекватної інформаційної моделі предметної області).

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

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

. Можливість одночасного ефективного обслуговування великої кількості користувачів.

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

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

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

. Забезпечення необхідної продуктивності розвязування задач при обмежених витратах ресурсів ЕОМ.

. Забезпечення захисту інформації у БД від збоїв і відмов у роботі технічних засобів та помилок користувачів.

Основними перевагами застосування БД та СУБД під час реалізації на їхній основі АІС є:

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

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

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

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

. Спрощується підтримка цілісності (адекватності та узгодженості) даних.

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

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

. У разі централізованого управління базою даних спрощується стандартизація та уніфікація представлення даних у АІС.

Основними недоліками, з якими можуть зустрітися користувачі та розробники програмного забезпечення під час застосування БД та СУБД, є:

. Додаткові витрати ресурсів (оперативної та зовнішньої памяті, загальної продуктивності ЕОМ) під час розміщення і роботи СУБД.

. Додаткові витрати на встановлення і підтримку СУБД у робочому стані.

. Необхідність кваліфікованого персоналу для централізованого управління базою даних (адміністрації бази даних).

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

Таким чином, використання БД та СУБД щодо створення великих потужних АІС, що включають велику кількість взаємоповязаних програмних додатків, безперечно дає суттєві переваги порівняно з варіантами створення таких самих АІС на основі файлових систем.

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


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


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

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

·мережну;

·реляційну;

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

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

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

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

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

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


2.2.1 Таблиці

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


.2.3 Індекси

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

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

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


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

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

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

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

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


3. ОСНОВИ ТЕХНОЛОГІЇ ACTIVEX DATA OBJECTS (ADO)


Доступ до даних є найважливішою вимогою при розробці сучасних бізнес-додатків. Технологія ODBC забезпечує доступ до реляційних баз даних і це перший крок на шляху вирішення цієї проблеми. Однак, коли розроблювачі хочуть включити у свої проекти не реляційні джерела даних або працювати в середовищах, подібних Інтернет, вони стикаються з дилемою - або розробляти власні парадигми доступу до даних, або працювати на рівні API, що несумісне з новими середовищами. ActiveX об'єкти доступу до даних (ActiveX Data Object) вирішують цю дилему і забезпечують єдину модель, що працює з усіма джерелами даних у різних середовищах. У такий спосіб ADO забезпечує послідовний, високопродуктивний доступ до даних, із якими можливо створювати клієнтські програми для роботи з БД або бізнес-об'єкти середнього рівня, що використовують додатки, інструментарій, мова або, навіть, Інтернет-переглядач (Internet Explorer). ADO - це єдиний інтерфейс доступу до даних, що необхідний для створення одне- і багаторівневих додатків архітектури клієнт/сервер і Web-орієнтованих інформаційних систем.


3.1 Огляд технології ADO


Технологія ADO була вперше застосована в Microsoft Internet Information Server як інтерфейс доступу до БД. Використання ADO дозволяє мінімізувати мережний трафік у ключових Internet-сценаріях і зменшити кількість проміжних рівнів між клієнтським додатком і джерелом даних. ADO легко використовувати, тому що він (або вони (об'єкти) або вона (технологія)) застосовує звичну систему викликів - інтерфейс Автоматизації OLE, доступний сьогодні в більшості засобів розробки додатків. Через легкість застосування й вивчення популярність ADO буде рости й у підсумку ADO витисне технології RDO і DAO, що у даний час застосовуються дуже широко. Технологія ADO багато в чому подібна до RDO і DAO, наприклад, вона використовує ті ж угоди мови. ADO також підтримує аналогічну семантику і тому може бути легко освоєна розроблювачами ПЗ.є інтерфейсом програмного рівня до OLE DB, новітній і наймогутнішої парадигмі доступу до даних від MS. OLE DB забезпечує високопродуктивний доступ до багатьох джерел даних. ADO і OLE DB разом являють собою основу стратегію універсального доступу до даних (Universal Data Access). OLE DB дає можливість універсального доступу до багатьох даних і представляє розроблювачам можливість зробити це досить легко. Тому що ADO знаходиться на вершині OLE DB, те застосування ADO має всі привілеї універсального доступу до даних, що забезпечує OLE DB.


3.2 Огляд технології OLE DB

DB - це відкрита специфікація, розроблена на основі успіху специфікації ODBC і забезпечує відкритий стандарт доступу до усіх видів даним у системах масштабу підприємства. OLE DB - це ядро технології підтримуючий універсальний доступ до даних. На відміну від технології ODBC, що була створена для доступу до реляційних БД, технологія OLE DB розроблена для реляційних і не реляційних джерел даних, таких як сховища пошти (mail stores), текстів і графіки для Web, служби каталогів (directory services), IMS і VSAM сховищ даних на мейнфреймах.

Компоненти OLE DB складаються з провайдерів даних (data providers), що представляють свої дані, споживачів даних (data consumers), що використовують дані, і сервісних компонентів (service components), що обробляють і транспортують дані (наприклад, процесор запитів і механізм курсорів). OLE DB містить у собі міст із ODBC, щоб дати можливість розроблювачам використовувати ODBC-драйвера реляційних БД, широко розповсюджені в даний час.

3.2.1 OLE DB провайдери

Існує два типи OLE DB додатків: споживачі й провайдери. Споживачами можуть бути будь-які додатки, що використовують OLE DB інтерфейси. Наприклад, Delphi додаток, що використовує OLE DB інтерфейси для зв'язку із сервером БД - це OLE DB споживач. Об'єктна модель ADO, що використовує OLE DB інтерфейси, - це теж OLE DB споживач. Будь-який додаток, що використовує ADO, побічно використовує OLE DB інтерфейси через об'єкти ADO.

OLE DB провайдер здійснює OLE DB інтерфейси, тому, OLE DB провайдер дає можливість споживачам мати доступ до даним однаковим способом через ряд документованих інтерфейсів. У цьому змісті OLE DB провайдер подібний ODBC драйверові, що забезпечує універсальний механізм доступу до реляційних БД, але тільки для не реляційних типів даних. Більш того, OLE DB провайдер убудований у вершину OLE COM інтерфейсів, що додає йому велику гнучкість, а ODBC драйвер убудований у вершину C API специфікації.OLE DB SDK version 1.1 поставляє два OLE DB провайдери: ODBC провайдер і провайдер текстів. Провайдер текстів є прикладом, що демонструє докладну реалізацію OLE DB провайдеру. ODBC провайдер - це OLE DB провайдер для ODBC драйверів. Цей провайдер надає механізм для споживачів, щоб використовувати існуючі ODBC драйвери без необхідності термінової заміни існуючих ODBC драйверів на нові OLE DB провайдери.

пошукова система delphi аccess

3.2.2 ODBC провайдери

ODBC провайдер встановлює відповідність між OLE DB інтерфейсами і ODBC API. З ODBC провайдером OLE DB споживачі можуть зв'язуватися із сервером БД через існуючі ODBC драйвери. Споживач викликає OLE DB інтерфейс через ODBC провайдеру. ODBC провайдер викликає відповідні ODBC API інтерфейси і посилає запити до ODBC драйвера. Метою розробки ODBC провайдеру є здійснення усієї функціональності менеджера ODBC драйвера. Тому тепер немає необхідності в менеджері ODBC драйвера. Однак при використанні ODBC провайдером версії 1.1 менеджер ODBC драйвера усе ще потрібно для підтримки зв'язку з ODBC додатками.


.3 Архітектура технології ADO


ADO засновано на технології COM (Component Object Model) - компонентній обєктній моделі. Всі об'єкти й інтерфейси ADO є інтерфейсами й об'єктами COM.


Рис. 3.1 Архітектура ADO


3.3.1 Огляд компонентів ADO в середовищі Delphi

Для роботи з ADO на вкладці компонентів ADO є шість компонентів: TADOConnection, TADOCommand, TADODataSet, TADOTable, TADOQuery, TADOStoredProc.


Рис. 3.2 Палітра компонентів ADO

TADOConnection аналогічний компонентові BDE TDatabase і використовується для вказівки бази даних і роботи з транзакціями.- таблиця доступна через ADO.- запит до бази даних. Це може бути як запит, у результаті якого повертаються дані і бази (наприклад, SELECT), так і запит не повертає даних (наприклад, INSERT).- виклик збереженої процедури. На відміну від BDE і InterBase збережені процедури в ADO можуть повертати набір даних, по цьому компонент даного типу є нащадком від TDataSet і може виступати джерелом даних у компонентах типу TDataSource.і TADODataSet є найбільше загальними компонентами для роботи з ADO, але і найбільш складними в роботі. Обидва компоненти дозволяють виконувати команди мовою провайдера даних (так у ADO називається драйвер бази даних).

Різниця між ними в тім, що команда, що виконується через TADODataSet, повинна повертати набір даних і цей компонент дозволяє працювати з ними засобами Delphi (наприклад, прив'язати компонент типу TDataSource). А компонент TADOCommand дозволяє виконувати команди не повертають набір даних, але не має штатних засобів Delphi для наступного використання повернутого набору даних.

Очевидно, що усі компоненти повинні зв'язуватися з базою даних. Робиться це двома способами або через компонент TADOConnection або прямим указівкою бази даних в інших компонентах. До TADOConnection інші компоненти прив'язуються за допомогою властивості Connection, до бази даних прямо через властивість ConnectionString.

База даних може бути зазначена двома способами через файл лінка до даних (файл у форматі Microsoft Data Link, розширення UDL), або прямим завданням параметрів з'єднання.

Значення властивості всіх ConnectionString цих компонентів можуть бути введені прямо в текстовій формі, але куди простіше викликати редактор властивості натиснувши на кнопку «…» наприкінці отримавши введення. Вікно завдання цієї властивості виглядає так:


Рис. 3.3 Вікно завдання властивостей ConnectionString


При виборі «Use data link file» і натисканні на кнопку «Browse...» з'являється стандартний діалог вибору файлу. Цей файл можна створити в будь-якому вікні explorer-а (у цьому вікні відкриття файлу, у самому explorer, на desktop і т.д.) викликавши контекстне меню і вибравши пункт «New/Microsoft Data Link». Потім викличте локальне меню для створеного файлу і виберіть у ньому пункт «Open». Після цього з'явиться property sheet описаний трохи нижче. Ці ж вкладки містить і property sheet, викликуваний через пункт «Property» локального меню UDL файлу, але в ньому ще є вкладки стосовні до самого файлу.

Використання файлів Microsoft Data Link спрощує підтримку додатків, тому що можливо використовувати засобу Windows для настроювання додатка.

При виборі в редакторі властивості «Use connection string» і натисканні на кнопку «Build...» з'являється такою же property sheet, як і при виборі «Open» для Microsoft Data Link файлу.

У цьому вікні вибирається тип бази даних, місце розташування бази і параметри з'єднання.

На першій сторінці вибирається тип бази даних або Provider, у термінах ADO.


Рис. 3.4 Вибір типу бази даних (провайдера)


Бази MS Access доступні як через «Microsoft Jet OLE DB Provider», так і через «Microsoft OLE DB Provider for ODBC».

Наступна сторінка залежить від обраного типу бази, однак для всіх типів є кнопка «Test connection» що дозволяє перевірити правильність і повноту параметрів.

Для «Microsoft Jet OLE DB Provider» вона виглядає наступним чином (рис.3.5).«Blank password» придушує діалог введення ідентифікатора і пароля користувача при встановленні з'єднання, якщо поле пароля порожнє.«Allow saving password» зберігає пароль у рядку параметрів з'єднання. Якщо він не відзначений, то введений пароль буде використовуватися тільки при виконанні тестового з'єднання.


Рис. 3.5 Вибір джерела бази даних


Для «Microsoft OLE DB Provider for ODBC» ця сторінка виглядає так:


Рис. 3.6 Вибір джерела бази даних

Радіокнопка «Use data source name» дозволяє ввести аліас ODBC, а через «Use connection string» уводиться як аліаси так і тип ODBC драйвера і параметри з'єднання. Параметри ідентифікації користувача аналогічні вище описаним.

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


Рис. 3.7 Встановлення додаткових параметрів


На сторінці «All» можна відредагувати всі параметри з попередніх сторінок і параметри залежні від провайдера, але не ввійшли на сторінку «Connection». Редагування здійснюється у виді параметр - значення, причому в текстовій формі, ніяких діалогів немає. Допомоги те ж ні, ці параметри описані тільки в документації на провайдер. Її можна знайти в MSDN Data Access Services/Microsoft Data Access Components (MDAC) SDK/Microsoft Active Data Objects (ADO)/Microsoft ADO Programmer's Reference/Using Providers with ADO.


Рис. 3.8 Сторінка з усіма доступними параметрами відкриття


У компоненті TADOConnection є властивості Provider, DefaultDatabase і Mode які є альтернативним методом завдання частин рядка параметрів з'єднання - провайдеру, бази даних (наприклад, шляхи до бази MS Access) і режиму спільного використання файлів бази даних. Ці значення цих властивостей автоматично включаються в рядок з'єднання, якщо були задані до активізації компонента й автоматично виставляються після з'єднання.


3.3.2 Інтерфейси архітектури ADO

Інтерфейс Connection

Об'єкти цього типу виконують наступні функції:

·зв'язок із сервером;

·керування трансакціями;

·одержання інформації про помилки, що відбулися, (властивість Errors);

·одержання інформації про схему даних (таблиці, поля і т.д.).


Рис. 3.9 Схема взаємодії в ADO основних COM інтерфейсів


Інтерфейси Recordset і Field

Інтерфейс Recordset (на нижньому рівні ADO це IRowset) є аналогом TDataSet у Delphi.

Підтримує поточне положення і переміщення курсору, закладки (bookmarks), читання, зміна і видалення записів і так далі. Значення полів і їхніх типів доступні за допомогою властивості Fields.

Інтерфейс Field дозволяє одержувати значення полючи, його тип довжину і так далі.

Інтерфейси Command і Parameter

Ці два типи дозволяють працювати з командами джерела даних. Синтаксис команд для кожного з джерел свій.

Інтерфейс Property

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

Бібліотека досить заплутана, багато функцій дубльовані в різних об'єктах. Наприклад, Recordset можна створювати прямо, методом Open, (причому попередньо створювати Connection не обов'язково), можна одержати як результат виконання методу Command.Execute, або після Connection.Execute задавши команду без параметрів.

Особливості інтерфейсу Command та RecordSet

Інтерфейс Command інкапсульований в усі компоненти за винятком TADOConnection. Це зроблено тому, що в ADO немає можливості одержати дані не виконавши команду.

Інтерфейс Recordset інкапсульований у компоненти похідні від TCustomADODataSet. Це компоненти TADODataSet, TADOTable, TADOQuery, TADOStoredProc. Одержувати дані з них можливо штатними засобами Delphi.

Можливе одержання даних і при виконанні компонента TADOCommand. Метод цього компонента Execute повертає тип _Recordset. Після чого його можна, наприклад, зв'язати з компонентом TADODataSet у такий спосіб.RecordSet := ADOCommand1.Execute;

Компоненти TADOTable, TADOQuery і TADOStoredProc є окремими випадками команди, відповідно для таблиці, SQL запиту і збереженої процедури.

Тип Connection інкапсулюється в компонент TADOConnection.

Коли ви виконуєте команду попередньо не відкриваючи з'єднання, воно все рівно створюється. Одержати до нього доступ можливо через властивість Recordset. Прив'язати компонент TADOConnection до уже відкритого з'єднання можливо через властивість ConnectionObject.

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


3.3.3 Використання компонента TADOConnection

У цьому прикладі розглядається робота з компонентом TADOConnection, SQL запитами з параметрами і трансакціями.

Створимо додаток з наступних компонентів (рис. 3.10):

·Connect типу TADOConnection

·MasterSQL і DetailSQL типу TADODataSet

·MasterDS і DetailDS типу TDataSource

·MasterGrid і DetailGrid типу TDBGrid

Зв'язуємо MasterGrid, MasterDS, MasterSQL і DetailGrid, DetailDS, DetailSQL аналогічно попередньому прикладові, за винятком того, що замість типу TADOTable використовується тип TADODataSet.

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

Для введення SQL запитів необхідно відредагувати властивість CommandText компонентах MasterSQL і DetailSQL. Після натискання на кнопку "SQLString" з'явиться редактор компонентів, що виглядає в такий спосіб (рис.3.11).


Рис. 3.10 Master-detail форма на етапі проектування


Рис. 3.11 Редактор SQL-запиту


Кнопка «Add Table to SQL» додає в текст SQL запиту таблицю, обрану в списку «Tables», а «Add Field to SQL» поле таблиці, обране в списку «Fields».

Запит для MasterSQL:VendorNo, VendorName, Country, City, State, Preferred from vendors

Запит у DetailSQL повинний вибирати тільки ті деталі, постачальник яких є поточним у MasterSQL. Для цього установимо властивість DataSource компонента DetailSQL у значення MasterDS.

Запит для DetailSQL наступний:PartNo, OnOrder, OnHand, ListPrice, Description, Costparts where VendorNo =:VendorNoу частині where - параметр запиту. Параметри при встановленому DataSource беруться з нього.

Активізуємо MasterSQL і DetailSQL аналогічно попередньому прикладові.


3.3.4 Використання параметрів запиту

Тепер обмежимо вибірку постачальників за значенням полючи State. Для цього додамо до форми наступні компоненти StateEdit типу TEdit c вкладки Standard, QueryButton типу TButton c вкладки Standard

Змінимо запит у MasterSQL на StateID - параметр, замість якого при виконанні підставляється значення.VendorNo, VendorName, Country, City, State, Preferredvendors where State = :StateID

Додамо так само обробник події OnClick у QueryButton наступного змістуTForm1.QueryButtonClick(Sender: TObject);.Active := False;.Active := False;.Parameters.ParamByName('StateID').Value := StateEdit.Text;.Active := True;.Active := True; end;


.3.5 Синхронізація даних клієнта і сервера

У ADO використовуються три методи синхронізації даних на клієнті і сервері.

Перший - c допомогою методу Resync, що повторно зчитує запису набору. Цей метод використовується при виконанні методу Refresh Delphi.

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

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

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


.3.6 Робота з транзакціями

У компонентах ADO робота з транзакціями здійснюється через компонент TADOConnection.

Тип транзакції встановлюється у властивості IsolationLevel однієї з наступних констант:


Таблиця 3.1

Перелік констант типів транзакції

IlUnspecified Сервер буде використовувати кращий, на його думку, тип ізоляції. IlChaos Транзакції з більш високим рівнем ізоляції не можуть змінювати дані змінені, але не підтверджені в поточної транзакції.IlReadUncommittedЧитання даних змінених у не підтверджених транзакцій. Тобто зміни видні відразу після того як інша транзакція передала них на сервер.IlBrowseТе ж саме що і IlReadUncommittedIlReadCommittedЧитання даних змінених підтвердженими транзакціями. Тобто зміна даних буде вочевидь після виконання Commit в інший транзакції.IlCursorStabilityТе ж саме що і IlCursorStability.IlRepeatableRead Зміни, зроблені іншими транзакціями не видимі, але при виконанні перезапиту вони транзакція може одержувати новий набір даних.IlIsolated Трансакція не бачить змін даних зроблених іншими транзакціями.IlSerializable Те ж саме що і IlIsolated.

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

Властивість Attributes установлює чи відкривати нову транзакцію автоматично:

·xaCommitRetaining - при підтвердженні трансакції;

·xaAbortRetaining - при скасуванні трансакції.

Так саме, в компонента TADOConnection є три методи для роботи з транзакціями:

·BeginTrans - починає трансакцію;

·CommitTrans - підтверджує зроблені зміни;

·RollbackTrans - відкат транзакцію.


3.3.7 Атрибути доступу до даних

В усіх компонентах що мають набір даних (тобто в TADODataSet, TADOTable, TADOQuery, TADOStoredProc) є властивості CursorLocation, CursorType, LockType і MarshalOptions, що встановлюють параметри обміну із сервером. Усі ці властивості повинні бути встановлені до того, як набір даних відкривається. Якщо ви установите їх пізніше, те ефекту не буде.- визначає, де виконується робота з набором на клієнті (clUseClient) або на сервері (clUseServer). Якщо набір даних розташований на клієнті, то із сервера дані запитуються однократно (або до виконання повторного запиту), надалі уся вибірка даних і позиціювання йде на клієнті. Однак модифікація даних виробляється негайно.- установлює тип курсору. Значення одне може бути одним з:

·ctUnspecified - бібліотека ADO сама визначає оптимальний тип блокування.

·ctStatic - статичний курсор. Статична копія набору записів, що ви можете використовувати, наприклад, для генерації звіту. Додавання, зміни або видалення записів іншими користувачами не видимі.

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

·ctDynamic - динамічний курсор. Додавання, зміни і видалення іншими користувачами видимі і можливі всі типи пересування по наборі даних. Закладки (bookmarks) можливі тільки, якщо провайдер даних них підтримує.

·ctKeyset - курсор набору даних. Аналогічний динамічному курсорові, за винятком того, що ви не побачите записи додані іншими користувачами, а записи вилучені іншими користувачами недоступні з вашого набору даних. Зміни даних іншими користувачами видимі.

Треба помітити, що TDBGrid і інші компоненти, що одночасно працюють з декількома записами, можуть працювати тільки коли закладки підтримуються. Тому для компонентів з якими ви будите зв'язувати такі компоненти повинні використовуватися типи ctKeyset або ctDynamic. LockType - визначає тип блокування записів у наборі даних. Ця властивість може приймати наступні значення:

·ltUnspecified - бібліотека ADO сама визначає який тип буде використовуватися.

·ltReadOnly - тільки читання, зміна даних неможливо.

·ltPessimistic - песимістичне блокування. Запис блокується відразу після початку редагування і до збереження записів.

·ltOptimistic - оптимістичне блокування. Запис блокується тільки коли зміни зберігаються.

·ltBatchOptimistic - теж саме що і ltOptimistic, але використовується відкладене збереження змін записів. Більш докладно вона розглядається в наступному пункті.

·MarshalOptions - це властивість визначає чи будуть відправлені на сервер ті полючи, що не були змінені. При значенні moMarshalAll будуть, а при moMarshalModifiedOnly не будуть.


4. ТЕОРЕТИЧНЕ ДОСЛІДЖЕННЯ ОБЄКТНИХ МОДЕЛЕЙ ТА МЕТОДІВ СТВОРЕННЯ КОНТРОЛЕРІВ АВТОМАТИЗАЦІЇ MS OFFICE


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


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

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

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

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


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


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

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

На рис. 4.3 приведений загальний вид структури об'єктної моделі елементів управління MS Word.


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


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

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


.2 Загальні принципи створення контролерів автоматизації 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.3. Принципи створення контролерів автоматизації MS Word


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

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

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

Для відображення вікна додатку 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(Memo1.Text+'('+inttostr(nn)+') ' );:=nn+1;;TUG5CH22_.Button2Click(Sender: TObject);.ActiveDocument.Range.InsertBefore(Memo1.Text+'('+inttostr(nn)+') ' );:=nn+1;;

Зчитування тексту з відкритого документа Word можна організувати двома способами. Прикладом реалізації першого способу є наступний код:TUG5CH22_.Button3Click(Sender: TObject);o1.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.3.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;

begin

MyRange:=W.ActiveDocument.Range(W.ActiveDocument.Range.End-1,.ActiveDocument.Range.End-1);.ActiveDocument.Tables.Add (Range:=MyRange, NumRows:=2,: =3) ;.ActiveDocument.Range.InsertAfter(' ' );;

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

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

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

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

procedure TOKBottomDlg6.Button2Click(Sender: TObject);.Rows.Add;;

procedure TOKBottomDlg6.Button3Click(Sender: TObject);.Columns.Item(1).Delete;;

procedure 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,І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.3.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.3.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.Checked;

Доступ до панелей управління і їх властивостей здійснюється через об'єкти 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

[0KBottomDlg4.ListBoxl.Itemlndex+l].CONTROLS;a:=1 to MYCONTROLS.Count do:=MYCONTROLS.Item[a].Caption+'=

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


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


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


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

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

Розроблена гнучка система автоматизації обліку методичних матеріалів була реалізована з використанням системи програмування Delphi та технології доступу до бази даних ADO з використанням бази даних в форматі Microsoft Access.

В розробці були використані пакети альтернативних компонентів Development Express, Synactis та RXLib, за допомогою яких був реалізований інтерфейс системи. Використання пакету RXLib зумовлено вимогою замовника - можливістю застосування в системі редактору формул Microsoft Equation. Пакет компонентів Synactis призначений для відображення змісту файлів формату pdf.

Додаткове програмне забезпечення: установка пакету MS Office, Acrobat Reader (на клієнтських ЕОМ), IBProvider - ODBC- провайдера доступу до бази даних (на сервері);

Склад розробленої системи:

·ADOServer.exe - серверна частина системи;

·NAUKA_client.exe - клієнтська частина;

·baza.mdb - файл бази даних формату Microsoft Access;

·path.ini - зберігає інформацію про повний шлях до файлу бази даних;

·p2iagent.exe - консольний конвертор фалів формату pdf в формат bmp;

·Шаблон_карт.dot - шаблон документу MS Word для створення картки обліку патентів, що містить графічне зображення та короткий опис винаходу (формулу);

·Шаблон_таблиця.dot - шаблон документу, що призначений для експорту в MS Word переліку патентів на основі вибірки;

·Шаблон_статті.dot - шаблон документу, що призначений для експорту в MS Word переліку наукових публікацій.


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


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



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


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


При запуску на екрані з'являється вікно входу в систему (рис. 5.2). Вхід «Тільки для читання» доступний всім користувачам без введення пароля. Безпека при цьому визначається політикою локальної мережі.

Рис. 5.2 Вибір режиму входу до системи


Якщо ми виберемо варіант входу «З правами адміністратора», з'явиться список, в яким ми вибираємо логін зареєстрованого користувача і вводимо пароль (рис. 5.3).


Рис. 5.3 Ідентифікація користувача системи


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

Головне вікно програми має дві вкладки - Патенти і Наукові публікації (рис. 5.5). На екрані ми бачимо таблиці, в якій відображається основна інформація. За допомогою заголовків стовпців можна проводити сортування і фільтрацію по необхідних полях. Відфільтрований список ми можемо експортувати в MS Word.


Рис. 5.4 Редагування інформації про користувача


Рис. 5.5 Зовнішній вигляд головного вікна системи


В базі зберігається наступна інформація про патент:

·номер патенту;

·номер заявки;

·міжнародна патентна класифікація (МПК);

·назва патенту;

·автори патенту;

·власники прав на патент (автори чи організація, в якій вони працюють);

·дата подання заявки;

·дата вступу патенту в силу;

·дата публікації;

·номер бюлетеню;

·графічне зображення;

·формула (короткий опис винаходу).

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

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


ГоловнаНавігаціяАдмініструванняРис. 5.6 Зовнішній вигляд панелей інструментів

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


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


Рис. 5.8 Фрагмент робочого вікна у режимі визначення шляху до файлу


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

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

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

Рис. 5.9 Фільтрація по автору патенту


Якщо в наведеному списку вибрати значення «Настройка», на екрані зявиться вікно (рис. 5.10), за допомогою якого можна здійснити швидкий пошук необхідного документу. При цьому можна використовувати символи заміни для пошуку по частковому збігу.


Рис. 5.10 Вікно визначення параметрів пошуку


Наприклад, якщо ми введемо умови пошуку, які наведені на рис. 5.10, то отримаємо наступний результат (рис. 5.11):


Рис. 5.11 Результати пошуку

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


Рис. 5.12 Зовнішній вигляд панелі фільтрації


Кнопка „Customize призначена для побудови складного фільтру з багатьма умовами. При цьому створений фільтр можна зберегти у зовнішньому файлі та завантажити потім при необхідності.


Рис. 5.13 Вікно побудови складного фільтра


Увесь набір даних, що містить таблиця, ми маємо змогу експортувати в MS Word. Зовнішній вигляд отриманого переліку патентів наведений в додатку А.

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


Рис. 5.14 Вікно виводу детальної інформації про патент


Усі поля, що мають тип „дата ми маємо в змозі заповнювати за допомогою наступного елементу інтерфейсу:

Рис. 5.15 Ввід дати за допомогою календаря


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


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


Джерелом зображення може бути графічний файл або буфер обміну. Завантажувати ми можемо файли у форматі pdf, jpg або bmp.

Меню передбачає наступні функції:

·вирізання чи копіювання в буфер обміну;

·вставка з буферу обміну;

·видалення зображення;

·завантаження зображення з файлу;

·зберігання зображення.

При натисненні кнопки «Открыть формулу» на екрані зявляється вікно діалогу відкриття файлу (рис. 5.17). При цьому використовується фільтр - „Файли формату rtf або „Файл формату pdf.


Рис. 5.17 Діалогове вікно завантаження файлу „формули


Якщо формула представлена у форматі rtf, ми маємо можливість її відредагувати. Однією з вимог до розробленою системи була можливість зберігати та редагувати формули, що були створені за допомогою Microsoft Equations. На наступному рисунку наведений вигляд вікна в режимі редагування формули.


Рис. 5.18 Вигляд вікна в режимі редагування формули

При подвійному клацанні по зображенню, якщо воно в форматі jpg або bmp зявляється вікно (рис. 5.19), в якому зображення може бути відмасштабоване.


Рис. 5.19 Вікно перегляду зображення


Кнопки панелі „Масштаб (рис. 5.20) призначені для налаштування детального перегляду зображення.

Рис. 5.20 Панель масштабування зображення


Якщо інформація збережена у форматі pdf, ми маємо можливість скористатися засобами Adobe Acrobat для обробки зображення.

За допомогою кнопки «Экспорт в Word» вікна інформації про патент можна створити картку патенту на основі шаблону, який зберігається в тому ж каталозі, що і виконавчий файл системи. Приклад створеної картки патенту наведений в Додатку А.

Облік наукових публікацій реалізований за допомогою аналогічних елементів інтерфейсу. На рис. 5.21 наведено головне вікно системи в режимі перегляду наукових публікацій. Отфільтрований список ми також в змозі експортувати в файл формату MS Word.

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


Рис. 5.21 Вікно системи в режимі „Наукові публікації.


Рис. 5.22 Вікно „Відомості про публікацію


5.4 Програмна реалізація системи


База даних складається з трьох не взаємозв'язаних один з одним таблиць наступної структури.

Таблиця «Користувачі» містить інформацію про логін і пароль осіб, що володіють доступом до системи з правами адміністратора.


Рис. 5.23 Структура полів таблиці „Коритсувачі


Таблиця «Патенти» зберігає всю необхідну інформацію про винахід і має наступні особливості. Поле name_dir - зберігає ім'я директорії, що містить додаткову інформацію про патент, щодо файлу бази даних. Поле path - повний шлях до цієї директорії, що необхідне для реалізації гіперпосилання. Поле pic зберігає графічне зображення, при цьому підтримуються формати bmp, jpg і pdf. Для зберігання формули (короткого опису винаходу) призначені два поля. У першому випадку дані зберігаються у форматі rtf з можливістю подальшого редагування, в другому - це скановані сторінки у форматі pdf.


Рис. 5.24 Структура полів таблиці „Патенти


Таблиця «Статті» містить інформацію про публікації. Крім загальної інформації про публікації тут також міститься поле «Scan», в якому зберігається скануюче зображення у форматі pdf. Структура таблиці наведена на рис. 5.25.



Рис. 5.25 Структур а полів таблиці „Статті

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


Рис. 5.26 DataModule серверної частини системи


При розробці системи для звязку з базою даних використовуємо ODBC- провайдер IBProvider, що повинен бути встановлений на сервері. Звязок з провайдером відбувається за допомогою компоненту ADOConnection. На рис. 5.27 та рис. 5.28 наведені параметри настройки компоненту.


Рис. 5.27 Вибір провайдеру доступу до бази даних

Рис. 5.28 Визначення джерела даних


Клієнтська частина системи містить 8 форм, за допомогою яких користувач має змогу заносити, змінювати інформацію у базі даних та застосовуючи надані засоби фільтрування вибирати потрібні дані. Всі невізуальні компоненти, що призначені для роботи з базою даних розташовані на DataModule2. Інтерфейс системи, зокрема плаваючі панелі інструментів були реалізовані за допомогою компонентів, що входять до пакету Development Express.


Рис. 5.29 Вікно настройки параметрів компоненту dxBarManager

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


Рис. 5.30 Вікно, що дозволяє редагувати категорії та набір кнопок


Розглянемо більш детально процес автоматичного визначення повного шляху до каталогу, що містить файли стосовно патенту.Tmain.cxGrid1DBTableView1DBColumn13PropertiesButtonClick(: TObject; AButtonIndex: Integer);s:string;OpenDialog3 do //використовуємо компонент-діалог з фільтром „Всі файли для визначення повного шляху до каталогуexecute then:=ExtractFilePath(filename); //виділяємо шлях до папки з повного імені відкритого файлу.ADOTable1.Edit; //переводимо таблицю в режим редагування.ADOTable1path.AsString:=s; //у відповідне поле бази даних заносимо інформацію про шлях.ADOTable1.Post; //зберігаємо дані;;

При цьому повний шлях до цієї директорії прив'язаний до місця знаходження файлу бази даних, і змінюється при її переміщенні. Оновлення посилань проводиться по алгоритму , наведеному на рис. 5.31. Далі наведена процедура, що відповідає за оновлення гіперпосилань.Tmain.dxBarButton8Click(Sender: TObject);s,s1:string;:integer;.ADOTable1.First; // перехід на перший запис в таблиціnot DataModule2.ADOTable1.Eof do // перебираємо всі записи

таблиці Патенти:=DataModule2.ADOTable1name_dir.AsString; // зчитуємо ім'я папки,

що зберігається у базі данихlength(s)<>0 then // якщо довжина поля не рівна нулю (посилання створене):= s1+s; // формуємо повний шлях.ADOTable1.Edit;.ADOTable1path.AsString:=s; // заносимо повний шлях в

відповідне поле бази даних.ADOTable1.Post;;.ADOTable1.Next; // перехід на наступний запис;;


Рис. 5.31 Алгоритм оновлення гіперпосилань


Розглянемо процес створення каталогу патентів на винаходи на основі шаблону 'Шаблон_таблица.dot', що міститься в поточному каталозі системи.Tmain.dxBarButton5Click(Sender: TObject);i,j:integer;:string;:=createoleobject('word.application');.documents.add(ExtractFilePath(ParamStr(0)) + 'Шаблон_таблица.dot'); //створюємо документ MS Word на основі вказаного шаблону:= w.activedocument.tables.item(1); //створюємо посилання на таблицю, що міститься в документі

//Далі ми перебираємо усі записи, що містяться в наборі (і - номер рядка, j - номер стовпчика.

for i:=0 to cxGrid1DBTableView1.DataController.RecordCount-1 do.rows.add; //додаємо до таблиці Word рядокj:=0 to cxGrid1DBTableView1.ColumnCount-1j of

,1,2,3,4,5,9: begin

//в цих випадках дані мають строковий типcxGrid1DBTableView1.DataController.Values[i,j]<>null then

//перевірка, чи присутні дані в комірці - для запобігання виключних ситуацій:=cxGrid1DBTableView1.DataController.Values[i,j] else s:='';

//заносимо текст у відповідну комірку таблиці.cell(i+2,j+1).range.text:=s;;

//випадок, коли дані мають тип - дата

,7,8: begincxGrid1DBTableView1.DataController.Values[i,j]<>null then

//якщо тип даних - дата, використовуємо функцію перетворювання дати в строкову змінну:=datetostr(cxGrid1DBTableView1.DataController.Values[i,j]) else s:='';.cell(i+2,j+1).range.text:=s;;

//цей випадок призначений для ознаки, чи діє патент

:begincxGrid1DBTableView1.DataController.Values[i,j]<>null thencxGrid1DBTableView1.DataController.Values[i,j]=true then:= 'действует' else s:= 'не действует';

//якщо патент діє, строковій змінній привласнюється відповідне значенняelse s:=''; //випадок, коли дія патенту не визначена.cell(i+2,j+1).range.text:=s;;; //case; //for i.visible:=true; //візуалізація документу MS Word;

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

Стилі заливки визначаються при створені форми:Tmain.FormCreate(Sender: TObject);:= TcxStyle.Create(Self); //створення нового стилю.Color := $0080FFFF; //колір заливки рядку.TextColor := clMaroon ;//колір шрифту;

Наступна процедура відповідає за зміну кольору відповідного рядка:Tmain.cxGrid1DBTableView1StylesGetContentStyle(: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;: TcxCustomGridTableItem; out AStyle: TcxStyle);Present,d: TDateTime;, Month, Day,Year1, Month1, Day1,dn :word;:boolean; i:integer;:=0;ARecord.Values[cxGrid1DBTableView1DBColumn12.Index]=nullARecord.Values[cxGrid1DBTableView1DBColumn12.Index]=falseexit; //якщо патент не є дійсним на даний час або дата подання заявки не визначена - процедура завершується:=0;:=false; // ознака того, чи треба змінювати колір рядку:= Now; // визначення поточної дати(Present, Year, Month, Day); //за допомогою цієї процедури ми отримуємо окремо рік, місяць та день поточної датиARecord.Values[cxGrid1DBTableView1DBColumn5.Index]=null then exit;:= ARecord.Values[cxGrid1DBTableView1DBColumn5.Index];(d, Year1, Month1, Day1); // аналогічним чином отримуємо окремо рік, місяць та день подання заявки:=year1+1; // знаходимо рік закінчення дії заявкиyear=year1 then // якщо рік закінчення рівний поточномуmonth1-month<3 // якщо різниця між місяцем закінчення і поточним місяцем <3fl:=true // ознака того, що запис буде виділений(month1-month=3) and (day1<=day) // якщо різниця між місяцем закінчення і поточним = 3, але день закінчення заявки менший поточногоfl:=true // ознака того, що запис буде виділений

Рис. 5.32 Алгоритм зміни кольору рядка відповідно умові

else // аналогічно визначаємо різницю при переході між рокамиyear1-year=1 then12-month+month1<3 then fl:=true else(12-month+month1=3) and (day<=day1) then fl:=truefl:=true;flAStyle:=AYellowStyle // виділяємо комірку жовтим кольором;

При натисненні кнопки „Редагування на екрані зявляється форма, що містить більш повну інформацію про патент.Tmain.dxBarButton2Click(Sender: TObject);.ADOTable1.Insert;.ShowModal;

Розглянемо алгоритм завантаження зображення (рис. 5.33).

Спочатку відбувається визначення типу завантаженого зображення по розширенню файлу. Якщо файл формату bmp або jpg, відбувається завантаження зображення в стандартний компонент Image і його запис в базу даних. Якщо ж це файл формату pdf, відбувається завантаження файлу в альтернативний компонент PdfViewer. Даний компонент дозволяє вбудовувати Acrobat Reader в додаток і потім використовувати його функції. При цьому зберігається копія файлу в каталозі temp.

При закритті форми відбувається перетворення тимчасового pdf-файлу в бінарний формат і запис в базу даних. Далі наведений листинг процедури, що відповідає за завантаження зображення.TForma.N6Click(Sender: TObject);OpenPictureDialog1 doexecute then:=ExtractFileExt(filename); // визначення типу завантаженого зображення по розширенню файлу(ext='.bmp')or (ext='.jpg') then // файл формату bmp або jpg.Visible:=false;.Visible:=false;.Picture.LoadFromFile(filename); // завантаження зображення

у стандартний компонент Image і запис зображення в БД.Visible:=true;if ext='.pdf' then // файл формату pdf_pdf:=true;

// завантаження файлу в компонент PdfViewer.Enabled:=true;.Visible:=true;.Visible:=true;.FileName:=filename;.Open;

// збереження копії файлу у каталозі temp(pchar(PdfViewer2.filename),pchar

(ExtractFilePath(Application.ExeName)+'temp\temp.pdf'),true);;_z:=true; // ознака того, що зображення зберігається в форматі pdf

end;;

При закритті форми відбувається перетворення тимчасового pdf-файлу в бінарний формат і запис в БД.(DataModule2.ADOTable1pic).(PdfViewer2.FileName);.ADOTable1.Post;


Рис. 5.33 Фрагменти алгоритму, що ілюструє завантаження зображення в базу даних

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

За допомогою наступної процедури відбувається завантаження тексту „формули формату rtf в базу даних:TForma.BitBtn1Click(Sender: TObject);.ADOTable1.Edit;OpenDialog1 doExecute then.Lines.LoadFromFile(filename);;

Головна проблема експорту картки патенту в MS Word полягає в копіюванні зображення формату pdf. Вона була вирішена за допомогою використання зовнішнього конвертора p2iagent.exe. Даний безкоштовний консольний додаток перетворить файл формату pdf в групу файлів формату bmp, кількість яких рівна числу сторінок початкового документа. При цьому системою генерується bat-файл наступного змісту (рис. 5.34).


Рис. 5.34 Схема конвертації зображення із формату pdf в формат bmp

Наступний фрагмент алгоритму (рис. 5.35) ілюструє процес експорту багатосторінкового pdf-файлу в Word. Після визначення шляху до файлу-джерела і каталогу призначення відбувається формування і запуск bat-файлу. Після затримки виконання процедури на вказаний інтервал часу ми перебираємо одержані файли формату bmp. Потім завантажуємо файл в компонент Image і експортуємо зображення в MS Word. Після завершення процедури видаляємо тимчасові файли.


Рис. 5.35 Фрагмент алгоритму процесу експорту богатосторінкового файлу формату pdf в MS Word

Наступний лістинг демонструє процес експорту даних в файл формату MS Word, який створюється на основі шаблону. При цьому використовується функція пошуку та заміни тексту:FindAndInsert(FindText,replacementText:string):boolean;wdReplaceAll=2;.selection.find.text:=findtext;.selection.find.replacement.text:=replacementtext;:=w.selection.find.execute(replace:=wdreplaceAll);;

Тобто, шаблон містить деякі текстові константи (наприклад - #A), за допомогою яких відбувається підстановка відповідних значеньTForma.BitBtn2Click(Sender: TObject);i,j,ilengy:integer;:ansistring;, b, vstart, vend: OleVariant;:=createoleobject('word.application');.documents.add(ExtractFilePath(ParamStr(0)) + 'Шаблон.dot');('#A', cxDBTextEdit1.Text); //номер патенту('#B', cxDBDateEdit1.Text); //дата подання заявки('#C', cxDBTextEdit2.Text); //номер заявки('#D', cxDBDateEdit2.Text);// дата вступу патенту в силу('#E', cxDBTextEdit3.Text);// номер бюлетеню('#F', cxDBDateEdit3.Text); // дата публікації:='';

// наступним чином відбувається експорт даних із полів типу Memo

for i:=0 to cxDBMemo1.Lines.Count-1 do //перебираємо в циклі усі строки:=s+ cxDBMemo1.Lines[i];('#J', s); // експорт значення поля МПК:='';i:=0 to cxDBMemo4.Lines.Count-1 do:=s+ cxDBMemo4.Lines[i];('#I', s); // експорт значення поля „Назва:='';i:=0 to cxDBMemo2.Lines.Count-1 do:=s+ cxDBMemo2.Lines[i];('#K', s); // експорт значення поля „Автор:='';i:=0 to cxDBMemo3.Lines.Count-1 do:=s+ cxDBMemo3.Lines[i];('#L', s); // експорт значення поля „Власник:= w.activedocument.tables.item(1);

// Експорт зображення в файл MS Word відбувається наступним чином.cell(6,1).range.select; // обираємо комірку таблиці шаблону, в яку зображення буде експортовано.CopyToClipboard; // скопіюємо зображення в буфер обміну.Selection.Paste; // вставимо зображення у відповідну комірку

// Експорт тексту „формули проведемо за допомогою проміжного файлу 'temp.rtf'.Lines.SaveToFile(ExtractFilePath(ParamStr(0)) + 'temp.rtf'); //зберігаємо дані у тимчасовому файлі:=CreateOleObject('word.application');.documents.add(ExtractFilePath(ParamStr(0)) + 'temp.rtf') ;.activedocument.range.select; // виділяємо зміст проміжного файлу.selection.copy; // скопіюємо обране в буфер обміну.cell(7,1).range.select;.Selection.Paste; // текст „формули експортований у відповідну комірку таблиці.visible:=true; // візуалізація документу.quit;;

При подвійному клацанні мишею по зображенню на екрані зявляється форма для його повноекранного перегляду. Наступна процедура відбувається при появі форми на екрані.Tpict.FormShow(Sender: TObject);.Picture.Assign(forma.cxDBImage1.Picture);:=0;:=0;

// Налаштування розмірів вікна перегляду.ClientWidth:= Image1.Width;.ClientHeight:= Image1.Height+30;;

Як вже було зазначено раніше, система дозволяє масштабувати зображення. Наступна процедура дозволяє збільшити зображення на 10 процентів.Tpict.dxBarButton1Click(Sender: TObject);:=0;:=Image1.Width; // запамятовуємо початкові розміри зображення:=Image1.Height;.AutoSize:=false;:=i+1; // процент масштабування при збільшенні

// зміна розмірів зображення.Width:=round(w*(1+i/10));.Height:=round(h*(1+i/10));.Stretch:=true;;

Аналогічним чином реалізована процедура зменшення зображення:Tpict.dxBarButton2Click(Sender: TObject);:=0;:=Image1.Width;:=Image1.Height;.AutoSize:=false;:=j+1; // процент масштабування при зменшенні.Width:=round(w*(1-j/10));.Height:=round(h*(1-j/10));.Stretch:=true;.Width:=Image1.Width;.Height:=Image1.Height;;


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


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

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

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

Метою написання розділу є розрахунок затрат на створення системи обліку наукових розробок співробітників Криворізького металургійного факультету НМетеАУ. В ході розробки програмного продукту було використане програмне забезпечення Turbo Delphi 2006 Explorer, яке є безкоштовним. Для функціонування системи також необхідне встановлення пакету Microsoft Office.

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

Для роботи системи необхідно:

персональний компютер на базі процесору Intel з частотою не менше 2,4 ГГц, з ОЗУ рівним 512Мб, з SVGA - відеоадаптером і монітором 17 дюймів.


Таблиця 6.1

Вартість устаткування

№п/пНайменуванняМаркаК-тьЦінаСума1ЕОМ (зі встановленою операційною системою Windows XP)13700,153700,152Джерело безперебійного живленняAPC Back-Bk500 EI1343,00343,00Разом:4043,15

Таблиця 6.2

Матеріали для роботи

№ п/пНайменуванняНорма витрати на виробЦінаСума1Компакт диски53152Література11127,2Разом:142,2

Вартість устаткування збільшується на вартість транспортування - 10% і вартість монтажа- 15%. Разом вартість устаткування складе:

Соб = 4043,15+404,32+606,47=5053,94

Амортизація комп'ютера складає 15% в квартал від залишкової вартості, тобто


А = Фост × Н,


де Фост - залишкова вартість відповідно групи ОФ на початок кварталу. На - норма амортизації.квартал 5053,94 х 0.15 = 758,09

II квартал (5053,94 -758,09) х 0.15 = 644,37

III квартал (5053,94 -758,09 - 644,37) х 0.15 = 547,72

IV квартал (5053,94 -758,09 - 644,37 - 547,72) х 0.15 =465,56

Разом річна амортизація складе: 2415,74

Матеріали для роботи списуються у міру витрат.

Вартість необхідного програмного забезпечення - пакету Microsoft Office приймаємо рівним 2700 грн.

Амортизація програмного забезпечення на 3 роки складатиме:

Апр=2700/3=900,00 грн.

Витрати на електроенергію:


Е = N х В х t, де N - споживана об'єктом потужність від мережі (кВт/час)


t - Тариф на електроенергію- Регламентований час роботи об'єкту протягом року. ч/год.

В= кількість робочих днів в році х 8 годин =251 х 8 = 2008 (годин)

Е = 0,30 х 2008 х 0,24 = 144,58 грн./год.

Нормативне споживання електроенергії комп'ютером - 300 вт/година або 0,3 квт/час. Вартість 1 кВт електроенергії для підприємства 24 копійки або 0,24 грн.

Розрахунок заробітної плати:

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

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

Тт = Тр -(Тв+Тн)


де Тн - кількість святкових днів в році;

Тр - кількість днів в році;

Тт - кількість днів в тиждень;

Тв - кількість вихідних днів в році;

Тт =365 - ( 104+10) =251

Кількість робочих днів в місяць: 21.


Таблиця 6.3

Співробітники

№п/пНайменування посадПосадовий оклад грн./місяцьТрудомісткість виконанняСума зарплати, грн1.Інженер - програміст180030 днів30 х 86 = 2580

Середня денна заробітна платня = 1800 : 21 = 86 грн.,

За виконання завдання виплачується премія у розмірі 50%


Сума премії = Зп. Х П% =2580 х 0,5 = 1290


Разом зарплата інженера програміста: 2580+ 1290=3870

Єдиний соціальне нарахування становить 37,3%,

що дорівнює: 3870*37,3/100=1443,51

Зарплата інженера - програміста з нарахуваннями на соціальні потреби.

Зп. відр = 3870 + 1443,51= 5313,51

Раніше роботу виконували 2 лаборанта. Було звільнено 1 лаборанта, таким чином залишився працювати 1 робітник.


Таблиця 6.4

Економія заробітної плати

Кількість робітниківМісячна з/пл грн.Премія 20%Разом за рікЗаробітна плата 1 1200 240 17 280Нарахування на соціальні потреби (37,3 %) 1 6445,44РАЗОМ:23 725,44

Економія за рахунок зниження трудомісткості виконуваної роботи =

725,44- 5 313,51 =18 411,93;

а річний ефект рівний:

411,93- річна амортизація устаткування - річна амортизація програмного забезпечення - поточні витрати на матеріали - споживана електроенергія.

Е річн.еф. = 18 411,93- 2415,74 - 900,00 - 142,2- 144,58 = 14809,41грн.


,


де К- капітальні витрати, рівні 4 043,15 + 2700 = 6743,15 (вартість устаткування + вартість програмного забезпечення)

= 0,46 року.

- це термін окупності витрат.

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


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


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

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

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

Найбільш повним нормативним документом по забезпеченню охорони праці користувачів ПК є «Державні санітарні правила й норми роботи з візуальними дисплейними терміналами (ВДТ) електронно-обчислювальних машин» ДСанПіН 3.3.2.007-98.

В Україні затверджене положення про створення державних нормативних актів по охороні праці ДНАОП. Це норми, інструкції, вказівки й інші види державних нормативних актів по охороні праці обов'язкові по виконанню й керівництво підприємствами й установами, на які поширюється сфера дії цих актів.


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


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

До основних параметрів метеорологічних умов робочої зони приміщення відносять температуру, відносну вологість, швидкість переміщення повітря й барометричний тиск (таблиця 7.1). Метеоумови в робочій зоні приміщення визначаються ДЕРЖСТАНДАРТ 12.0.005.88 «Загальні санітарно-гігієнічні вимоги до повітря робочої зони».


Таблиця 7.1

Оптимальні норми температури, відносної вологості і швидкості руху повітря

Період рокуКатегорія роботиТемпература, °СВідносна вологість повітря, %Швидкість руху повітря, не більше м/сХолодний і перехіднийлегка21-2440-600,1Теплийлегка22-2540-600,2

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

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

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

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

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

Загальна чутливість зорової системи збільшується зі збільшенням рівня освітленості в приміщенні, але лише доти, поки збільшення освітленості не приводить до значного зменшення контрасту.

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

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

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

Крім освітленості, великий вплив на діяльність оператора роблять кольори фарбування приміщення й спектральних характеристик використовуваного світла. Рекомендується, щоб стеля відбивала 80-90%, стіни - 50-60%, підлога - 15-30% падаючого на них світла. Тому приміщення оператора пофарбоване в сині кольори, що відноситься до кольорів "холодного" тону (синій, зелений, фіолетовий), що створює враження спокою й викликає в людини відчуття прохолоді.

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

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

1)знижується гострота зору, слуху;

2)підвищується кров'яний тиск;

)знижується увага.

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

При використанні дисплеїв випромінюються електромагнітні хвилі які негативно впливають на здоров'я людини. Спектр випромінювання комп'ютерного дисплея містить у собі рентгенівські, ультрафіолетову й інфрачервону області, а також широкий діапазон електромагнітних хвиль інших частот. У ряді експериментів було виявлено, що електромагнітні поля із частотою 50 Гц (що виникають навколо ліній електропередач, відеодисплеїв і навіть внутрішньої електропроводки) можуть ініціювати біологічні зрушення (аж до порушення синтезу ДНК) у клітках тварин. На відміну від рентгенівських променів електромагнітні хвилі мають незвичайну властивість: небезпека їхнього впливу зовсім не обов'язково зменшується при зниженні інтенсивності опромінення, певні електромагнітні поля діють на клітки лише при малих інтенсивностях випромінювання або на конкретних частотах - в вікнах прозорості. Джерело високої напруги комп'ютера - строковий трансформатор - міститься в задній або бічній частині термінала, рівень випромінювання з боку задньої панелі дисплея вище, причому стінки корпуса не екранують випромінювання. Тому користувач повинен перебувати не ближче чим на 1,2 м від задніх або бічних поверхонь сусідніх терміналів.

За результатами виміру електромагнітних випромінювань встановлено, що максимальна напруженість електромагнітного поля на кожусі відеотермінала становить 3.6 В/м, однак у місці знаходження оператора її величина відповідає фоновому рівню (0.2-0.5 В/м); градієнт електростатичного поля на відстані 0.5м менш 300 В/см є в межах припустимого.

На відстані 5 см від екрана інтенсивність електромагнітного випромінювання становить 28-64В/м залежно від типу приладу. Ці значення знижуються до 0.3-2.4 В/м на відстані 30 см від екрана (мінімальна відстань очей оператора до площини екрана).

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

Все устаткування видавничого центру підєднане до мережі змінного струму (220 В, 50 Гц). Кабельне розведення виконане відповідно до вимог
ДНАОП 0.00-1.31-99 і Правилами побудови й експлуатації електроустановок. Підведення електроживлення до робочих місць виконано системою із закритою проводкою, що забезпечує додаткову безпеку працівників від поразки електричним струмом і підвищує пожежобезпечність. Все устаткування, використовуване в лабораторії при дотриманні елементарних вимог електробезпечності виключає можливість поразки електричним струмом. Для виключення можливого короткого замикання й поразки електрострумом у лабораторії застосовується устаткування й розетки із захисним заземленням. Для забезпечення безпеки при перевантаженнях живильної мережі на уведенні електропроводки в приміщення встановлений розподільний щит з автоматичними вимикачами С-16, які автоматично розмикають ланцюг при перевищенні силою струму значення 16 А.

7.2 Заходи щодо нормалізації небезпечних і шкідливих факторів


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

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

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

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

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

Для запобігання поразки персоналу електричним струмом всі розетки й вимикачі оснащені написами «Напруга 220 V». Передбачено щоквартальні профілактичні огляди стану електроустаткування й проводки, а також 2 рази в рік виміри опору ґрунту в місцях монтажу заземлюючого пристрою.

Електропостачання підстанції здійснюється напругою 6кВ трипровідними лініями з ізольованою нейтраллю.

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

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

Величину розрахункового струму замикання на землю визначаємо по наближеній емпіричній формулі:


(7.1)


де U - фазна напруга мережі, кВ;- довжина кабельних ліній, км;- довжина повітряних ліній, електрично об'єднаних в одну мережу, км.


(7.2)


Звідси опір заземлюючого пристрою дорівнює:


(7.3)


Тому приймаємо згідно ППЕ R0=4 Ом

Для виконання робочого заземлення приймаємо металеві труби довжиною l=1м і діаметром d=50мм, з'єднаних металевою смугою 48мм2.

Опір відстані струму визначаємо по наступній емпіричній формулі:


, (7.4)


де r =1×104 Ом×см - питомий опір глинистого ґрунту;- довжина провідника;- діаметр провідника.


, (7.5)


З огляду на сезонні коливання питомого опору ґрунту, приймаємо
коефіцієнт 1.2 тоді:

(7.6)


Необхідне число трубних стрижнів визначаємо зі співвідношення:


, (7.7)


де n-число трубних стрижнів;

hЕ=0,88 - коефіцієнт використання труб, що враховує їхню екрануючу взаємодію, при розташуванні між ними до 6 м, тоді:


(7.8)

Довжина смуги, що поєднує труби:


(7.9)


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


,(7.10)


де h=1,2 - глибина на якій перебуває смуга:=80 - ширина смуги.

З урахуванням коливання питомого опору ґрунту:


(7.11)


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


(7.12)


де hэл=0,91 - коефіцієнт використання сполучної смуги.


(7.13)

Опір розтікання захисного заземлення повинен бути не більше 4 Ом. У такий спосіб розрахований контур заземлення забезпечить надійний захист від поразки електричним струмом.


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


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

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

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

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

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

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

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

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

Автоматична установка й установка з механічним включенням відрізняється тільки засобами відкриття запірного крана. В автоматичних установках використаються різні датчики виявлення пожежі (по диму, тепловому й світловому випромінюванню), а в механічних спеціальні тросові системи з легкоплавкими замками. У цей час освоєні модульні порошкові установки ОПА-50, ОПА-100, УАПП.

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

У приміщенні видавничого центру застосовуються сповіщувачі типу ИП 104, які спрацьовують при перевищенні температури в приміщенні +600С. І сповіщувачі типу ИП 212, які спрацьовують при скупченні диму в приміщенні. На стінах всіх приміщеннях будинку не далі 50 м. друг від друга встановлені ручні пожежні сповіщувачі про загоряння, що передають сигнал на пульт пожежної охорони. На всіх поверхах перебувають пожежні щити з необхідним інвентарем (ПК, рукава, ящики з піском, лопати, сокири й т.д.) і номером телефону пожежної охорони.

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


ВИСНОВКИ


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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

. Коцюбинский А.О., Грошев С.В. Язык программирования 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.

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

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

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

[email protected] - адрес автора

.<http://www.delphikingdom.ru> // Королевство Delphi. Виртуальный клуб программистов

.<http://www.delphiworld.narod.ru> //Профессиональные программы для разработчиков

.<http://www.delphisources.ru> // Программирование на Delphi

.<http://www.delphibasics.ru> // Справочник - «Основы Delphi»

31.<http://www.delphimaster.ru> // Мастера Delphi


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

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ