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

 

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

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

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

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







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

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

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

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

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



Студента групи ГКС-05-з Барабашука Максима Олександровича

Керівник роботи ст. викл. Супрунова Юлія Анатоліївна

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

зі спеціальної частини доц., к.т.н. Лукашенко Й.М

з програмної частини доц., к.т.н. Вдовиченко І.Н.

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

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

нормоконтроль ст. викл. Захарова Г.Б.

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


Кривий Ріг 2010

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

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

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

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

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


ЗАТВЕРДЖУЮ

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

_______________________

" 1 " листопада 2009 р.



ЗАВДАННЯ

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

Барабашука Максима Олександровича


. Тема роботи: Розробка компютеризованої системи підтримки технології ____

проектування ескізів мозаїчної плітки____________________________

затверджена наказом по інституту від " 29 " жовтня 2009 р. № 73С-01__

. Термін здачі студентом закінченої роботи 25.05.10. _

. Вхідні дані до роботи: Вимоги до кінцевого програмного продукту, вихідні масиви даних, матеріали наукових досліджень, опис технології виробничого процесу.

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

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

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

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

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

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

. Загальна схема технологічного процесу

. Алгоритми основних процедур системи

7. Схема інформаційних потоків системи _________________________

8. Приклади робочого вікна системи

6. Консультанти з роботи, з вказівками розділів роботи, що належать до них


РозділКонсультантПідпис, датаЗавдання видавЗавдання прийнявСпеціальна частинаВдовиченко І.Н.Програмна частинаЛукашенко Й.М.Економічна частинаТимко Є.В.Охорона праціКлимович Г.Б.

. Дата видачі завдання 01.11.09 р.

Керівник____________________

Завдання прийняв до виконання____________________

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


№ п/пНайменування етапів дипломної роботиТермін виконання етапів роботиПримітки1. Отримання завдання на дипломну роботу01.11.092. Огляд існуючих рішень20.02.103. Теоретичне дослідження інструментальних засобів реалізації проекту13.03.104. Програмна частина (постановка задачі, створення програмного забезпечення, опис алгоритму рішення задачі, проектування та опис інтерфейсу користувача, опис програми)28.04.105. Оформлення пояснювальної записки13.05.106. Оформлення графічної документації18.05.107. Оформлення електронних додатків до диплому25.05.108. Представлення дипломної роботи до захисту01.06.10

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

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


Анотація


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

Розроблена система реалізована в середовищі Delphi 6. Додатковою вимогою є встановлення пакету MS Excel, який необхідний для формування вихідних документів системи.

Розділів 7, схем та малюнків 20, таблиць 9, бібліографічних посилань 30, загальний обсяг - 114.


Аннотация


Целью дипломной работы является разработка гибкой системы поддержки технологии проектирования эскизов мозаичной плитки. Разработанная система прошла апробацию в ООО «Полиэдр», которое производит полиэфирную облицовочную мозаичную плитку.

Разработанная система реализована в среде Delphi 6. Дополнительным требованием является установка пакета MS Excel, который необходим для формирования выходных документов системы.

Разделов 7, схем и рисунков 20, таблиц 9, библиографических ссылок 30, общий объем - 114.


The summary

purpose of the diploma work is development of the flexible system for planning the sketches inlaid tile technology. The developed system passed approbation in LTD «POLIEDR», which is making the facing inlaid tile.

The developed system is realized in the environment of Delphi 6. Setting of package of MS Excel, which is needed for forming of outputs documents of the system, is the additional requirement.

Sections 7, circuits and figures 20, tables 9, bibliographic references 30, total amount - 114.

ЗМІСТ


ВСТУП

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. ТЕОРЕТИЧНЕ ДОСЛІДЖЕННЯ ОБЄКТНОЇ МОДЕЛІ MS EXCEL ТА ОСНОВ ПРОГРАМУВАННЯ ДОДАТКІВ MS OFFICE В DELPHI

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

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

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

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

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

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

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

.3.5 Формули

. СЕРЕДОВИЩЕ DELPHІ ЯК ЗАСІБ РОЗРОБКИ ГНУЧКИХ КОМПЮТЕРИЗОВАНИХ СИСТЕМ

.1 Загальні характеристики середовища Delphi

.2 Високопродуктивний компілятор у машинний код

.3 Delphі як обєктно-орієнтована мова

.4 Основні концепції створення додатків у середовищі Wіndows

.5 Особливості написання програм у середовищі Delphі

.6 Огляд палітри компонентів

.7 Вікно форми

.8 Вікно дерева об'єктів

.9 Вікно інспектора об'єктів

.10 Вікно коду програми

.11. Типи змінних

.11.1 Цілочисельний тип

.11.2 Дійсний тип

.11.3 Символьний тип

.11.4 Строковий тип

.11.5 Булевий тип

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

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

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

.3 Розробка алгоритмів та програмна реалізація основних процедур системи

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

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

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

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

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

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

ВИСНОВКИ

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


ВСТУП


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

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

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

Система візуального програмування Delphi користується великою популярністю серед широкого круга користувачів: від програмістів, що починають, до досвідчених розробників складних додатків, що займаються створенням великих інформаційних систем. Delphi дозволяє швидко і ефективно розробляти найрізноманітніші програми. Вона має розвинені можливості по створенню призначеного для користувача інтерфейсу, широкий набір функцій, методів і властивостей для вирішення прикладних розрахунково-обчислювальних завдань.використовується перш за все для створення і підтримки систем, призначених як для окремих персональних комп'ютерів, так і для серверів. Delphi, як і розроблені з її допомогою програмні продукти, можуть функціонувати під практично будь-якою операційною системою типу Windows 95, 98, 2000 NT,XP, Vista.

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

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

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

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


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


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


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


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

Початок робіт: 01.11.09. Закінчення робіт: 25.06.10.


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


Розроблена система реалізована в середовищі Delphi 6. Система повинна функціонувати під керуванням операційної системи Windows ХР. Додатковою вимогою є встановлення пакету MS Excel, який необхідний для формування вихідних документів системи.

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

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

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


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


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

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


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


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

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

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

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

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

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

·Додаткове програмне забезпечення: встановлення пакету MS Excel, який необхідний для формування вихідних документів системи.


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


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

·загальний опис технології процесу;

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

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

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

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


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


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

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

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

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

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

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

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


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


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


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


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

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

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

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

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


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

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


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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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


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

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


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


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

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

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


3. ТЕОРЕТИЧНЕ ДОСЛІДЖЕННЯ ОБЄКТНОЇ МОДЕЛІ MS EXCEL ТА ОСНОВ ПРОГРАМУВАННЯ ДОДАТКІВ MS OFFICE В DELPHI


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


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


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


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

Об'єкт Selection має властивості поточного виділеного об'єкту, тому немає сенсу розглядати тут структуру моделі цього об'єкту. Якщо виділена комірка, то Selection = Комірка, якщо діаграма, то Selection = Діаграма.

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

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


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


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

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


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

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

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


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


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

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


3.2 Загальні принципи створення контролерів автоматизації MS 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, створювати документи зі всіма можливими елементами. Таблиці, написи, текст, діаграми і інші компоненти повноцінних документів з'являться у такому вигляді, неначе вони створені користувачем.


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Межі комірки

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

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

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

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

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

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

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

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


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

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

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

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

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


3.3.5 Формули

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

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

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

Перевірка наявності формули в комірці:TOKBottomDlg2.Button9Click(Sender: TObject);Range.HasFormulamessagebox(handle, 'Дана комірка містить формулу!','Увага!',0)messagebox(handle,'Дана комірка не містить формулу!','Увага!',0);

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

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

4. СЕРЕДОВИЩЕ DELPHІ ЯК ЗАСІБ РОЗРОБКИ ГНУЧКИХ КОМПЮТЕРИЗОВАНИХ СИСТЕМ


.1 Загальні характеристики середовища Delphi


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

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

Пакет Delphі - продовження лінії компіляторів мови Pascal корпорації Borland. Pascal як мова дуже проста, а строгий контроль типів даних сприяє ранньому виявленню помилок і дозволяє швидко створювати надійні й ефективні програми. Корпорація Borland постійно збагачувала мову. Колись у версію 4.0 були включені засоби роздільної трансляції, пізніше, починаючи з версії 5.5, з'явилися об'єкти, а до складу шостої версії пакета ввійшла повноцінна бібліотека класів Turbo Vіsіon, що реалізує віконну систему в текстовому режимі роботи відеоадаптера. Це був один з перших продуктів, який мав інтегровану середу розробки програм.

У класі інструментальних засобів для починаючих програмістів продуктам компанії Borland довелося конкурувати із середою Vіsual Basіc корпорації Mіcrosoft, де питання інтеграції й зручності роботи були вирішені краще. Коли на початку 70-х років Н. Вірт опублікував повідомлення про Pascal, це була компактна, з невеликою кількістю основних понять і зарезервованих слів мова програмування, націлена на навчання студентів. Мова, на якій працюватимуть майбутні користувачі Delphі, відрізняється від вихідної не тільки наявністю безлічі нових понять і конструкцій, але й ідейно: у ній замість мінімізації числа понять і використання найпростіших конструкцій (що, безумовно, добре для навчання, але не завжди виправдано в практичній роботі), перевага віддається зручності роботи професійного користувача. Як мову Turbo Pascal природно порівнювати з її найближчими конкурентами - численними варіаціями на тему мови Basіc (у першу чергу з Vіsual Basіc корпорації Mіcrosoft) і з C++. Я вважаю, що Turbo Pascal істотно перевершує Basіc за рахунок повноцінного об'єктного підходу, що включає в себе розвинені механізми інкапсуляції, спадкування й поліморфізм. Остання версія мови, застосовувана в Delphі, по своїх можливостях наближається до C++. З основних механізмів, властивих C++, відсутнє тільки множинне спадкування. (Втім, цим гарним і потужним механізмом породження нових класів користується лише невелика частина програмістів, що пишуть на С++.) Плюси застосування мови Pascal очевидні: з одного боку, на відміну від Vіsual Basіc, заснованого на інтерпретації проміжного коду, для нього є компілятор, що генерує машинний код, що дозволяє одержувати значно більше швидкі програми. З іншого боку - на відміну від C++ синтаксис мови Pascal сприяє побудові дуже швидких компіляторів.

Середа програмування нагадує пакет Vіsual Basіc. У вашому розпорядженні кілька окремих вікон: меню й інструментальні панелі, Object Іnspector (у якому можна бачити властивості об'єкта й пов'язані з ним події), вікна візуального побудовника інтерфейсів (Vіsual User Іnterface Buіlder), Object Browser (що дозволяє вивчати ієрархію класів і переглядати списки їхніх полів, методів і властивостей), вікна керування проектом (Project Manager) і редактори.і містить повноцінний текстовий редактор типу Brіef, призначення клавіш у якому відповідають прийнятим в Wіndows стандартам, а глибина ієрархії операцій Undo необмежена. Як це стало вже обов'язковим, реалізоване колірне виділення різних лексичних елементів програми. Процес побудови додатка досить простий. Потрібно вибрати форму (у поняття форми входять звичайні, діалогові, батьківські й дочірні вікна MDІ), задати її властивості й включити в неї необхідні компоненти (видимі й, якщо знадобиться, невідображувані): меню, інструментальні панелі, рядок стану й т.п. , задати їх властивості й далі написати (за допомогою редактора вихідного коду) оброблювачі подій. Object Browser Вікна типу Object Browser стали невід'ємною частиною систем програмування на обєктно-орієнтованих мовах. Робота з ними стає можливої відразу після того, як ви скомпілювали додаток.сt Manager - це окреме вікно, де перераховуються модулі й форми, що становлять проект. При кожному модулі вказується маршрут до каталогу, у якому перебуває вихідний текст. Жирним шрифтом виділяються змінені, але ще не збережені частини проекту. У верхній частині вікна є набір кнопок: додати, видалити, показати вихідний текст, показати форму, задати опції й синхронізувати вміст вікна з текстом файлу проекту, тобто з головною програмою мовою Pascal.

Опції, включаючи режими компіляції, задаються для всього проекту в цілому. Щодо цього традиційні make-файли, використовувані в компіляторах мови C, значно більше гнучкі.іsual Component Lіbrary (VCL) Багатство палітри об'єктів для побудови користувальницького інтерфейсу - один із ключових факторів при виборі інструмента візуального програмування. При цьому для користувача має значення як число елементів, включених безпосередньо в середу, так і доступність елементів відповідного формату на ринку.


4.2 Високопродуктивний компілятор у машинний код


Компілятори мови Pascal компанії Borland ніколи не змушували користувача подовгу чекати результатів компіляції. Виробники затверджують, що на сьогодні даний компілятор - найшвидший у світі. Компілятор, убудований в Delphі дозволяє обробляти 120 тис. рядків вихідного тексту у хвилину на машині 486/33 або 350 тис. - при використанні процесора Pentіum/90. Він пропонує легкість розробки й швидкий час перевірки готового програмного блоку, характерного для мов четвертого покоління (4GL) і в той же час забезпечує якість коду, характерного для компілятора 3GL. Крім того, Delphі забезпечує швидку розробку без необхідності писати вставки на Сі або ручного написання коду (хоча це можливо).

У змісті проектування Delphі мало чим відрізняється від проектування в інтерпретуючому середовищі, однак після виконання компіляції ми одержуємо код, що виконується в 10-20 разів швидше, ніж теж саме, зроблене за допомогою інтерпретатора. Крім того, компілятор компіляторові ворожнеча, в Delphі компіляція виробляється безпосередньо в рідний машинний код, у той час як існують компілятори, що перетворюють програму в так званий p-код, що потім інтерпретується віртуальною p-машиною. Це не може не позначитися на фактичній швидкодії готового додатка.

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

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


4.3 Delphі як обєктно-орієнтована мова


Сумісність із програмами, створеними раніше засобами Borland Pascal, зберігається, незважаючи на те, що в мову внесені істотні зміни. Необхідність у деяких удосконаленнях давно відчувалася. Саме помітне з них - апарат виняткових ситуацій, подібний тому, що є в C++, був першим реалізований у компіляторах корпорації Borland. Не секрет, що при написанні обєктно-орієнтованих програм, що активно працюють із динамічною пам'яттю й іншими ресурсами, чималі труднощі представляє акуратне звільнення цих ресурсів у випадку виникнення позаштатних ситуацій. Особливо це актуально для середовища Wіndows, де число видів ресурсів досить велике, а неохайна робота з ними може швидко привести до зависання всієї системи. Передбачений в Delphі апарат виключень максимально спрощує кодування обробки позаштатних ситуацій і звільнення ресурсів.

Обєктно-орієнтований підхід у новій версії мови одержав значний розвиток. Перелічимо основні нововведення:

уведено поняття класу;

реалізовані методи класів, аналогічні статичним методам C++. Вони оперують не екземпляром класу, а самим класом;

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

уведена обробка виняткових ситуацій. В Delphі це влаштовано в стилі С++.

Виключення представлені у вигляді об'єктів, що містять специфічну інформацію про відповідну помилку (тип і місцезнаходження помилки). Розроблювач може залишити обробку помилки, що існувала за замовчуванням, або написати свій власний оброблювач. Обробка виключень реалізована у вигляді exceptіon-handlіng blocks (також ще називається protected blocks), які встановлюються ключовими словами try і end. Існують два типи таких блоків: try...except і try...fіnally;

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

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

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

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

Мова програмування Delphі базується на Borland Object Pascal.

Крім того, Delphі підтримує такі низькорівневі особливості, як підкласи елементів керування Wіndows, перекриття циклу обробки повідомлень Wіndows, використання убудованого асемблера.

4.4 Основні концепції створення додатків у середовищі Wіndows

Wіndows надає користувачам оболонку графічного інтерфейсу (GUІ), що забезпечує стандартну середу користувача й програміста. (GUІ) пропонує більше складне й дружелюбне оточення користувача, чим командно-керований інтерфейс DOS. Робота в Wіndows заснована на інтуїтивно зрозумілих принципах. Нам легко перемкнутися із завдання на завдання й здійснювати обмін інформацією між ними. Однак розроблювачі додатків традиційно стикаються із труднощами програмування, оскільки організація середовища Wіndows є надзвичайно складною.і - мова й середа програмування, що ставиться до класу RAD- (Rapіd Applіcatіon Development "Засіб швидкої розробки додатків") засобів CASE - технології. Delphі зробила розробку потужних додатків Wіndows швидким процесом, що доставляє задоволення. Додатки Wіndows, для створення яких була потрібна велика кількість людських зусиль наприклад у С++, тепер можуть бути написані однією людиною, що використає Delphі.

Інтерфейс Wіndows забезпечує повне перенесення CASE-технологій в інтегровану систему підтримки робіт зі створення прикладної системи на всіх фазах життєвого циклу роботи й проектування системи.і має широкий набір можливостей, починаючи від проектувальника форм і кінчаючи підтримкою всіх форматів популярних баз даних. Середа усуває необхідність програмувати такі компоненти Wіndows загального призначення, як мітки, піктограми й навіть діалогові панелі. Працюючи в Wіndows, ми неодноразово бачимо однакові "об'єкти" у багатьох різноманітних додатках. Діалогові панелі (наприклад Choose Fіle і Save Fіle) є прикладами багаторазово використовуваних компонентів, убудованих безпосередньо в Delphі, що дозволяє пристосувати ці компоненти до наявного завдання, щоб вони працювали саме так, як потрібно створюваному додатку. Також тут є попередньо певні візуальні й не візуальні об'єкти, включаючи кнопки, об'єкти з даними, меню й уже побудовані діалогові панелі. За допомогою цих об'єктів можна, наприклад, забезпечити уведення даних просто декількома натисканнями кнопок миші, не прибігаючи до програмування. Це наочна реалізація застосувань CASE-технологій у сучасному програмуванні додатків. Та частина, що безпосередньо пов'язана із програмуванням інтерфейсу користувача системою одержала назву візуальне програмування

Переваги проектування АРМ у середовищі Wіndows за допомогою Delphі:

усувається необхідність у повторному уведенні даних;

забезпечується погодженість проекту і його реалізації;

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

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

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

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


4.5 Особливості написання програм у середовищі Delphі


Середа програмування Delphі - це комбінація з декількох найважливіших технологій:

високопродуктивний компілятор;

обєктно-орієнтована модель компонентів;

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

масштабовані засоби для побудови баз даних.

Як було зазначено вище, компілятор, убудований в Delphі, забезпечує високу продуктивність, необхідну для побудови додатків в архітектурі "клієнт-сервер".

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

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

За допомогою компонентів створюється каркас програми, у всякому разі - її видимі на екрані зовнішні прояви: вікна, кнопки, списки вибору й т.д..

Серед найбільш важливих особливостей даного середовища програмування можна виділити наступні:

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

Team Development Support - засіб підтримки розробки проекту в групі. Дозволяє істотно полегшити керування великими проектами. Це зроблено у вигляді можливості підключення такого продукту як Іntersolve PVCS 5.1 безпосередньо до середовища Delphі.

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

Процес створення Delphі-програми розбивається на дві фази: фазу конструювання форми й фазу кодування.

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

Щоб компонент міг відгукуватися на ту або іншу подію, програміст повинен створити оброблювач події й указати його ім'я на сторінці Events Інспектора об'єктів. Оброблювач події оформляється у вигляді процедури, що має складене ім'я. Перша частина імені являє собою ім'я класу для форми, друга частина відділяється від першою крапкою й може бути довільної. Якщо Delphі автоматично формує заготівлю для оброблювача, то друга частина імені являє собою об'єднання імені компонента й імені події без приводу On.

Тіло процедури обмежене словами begіn... end і складається з окремих пропозицій (операторів) мови Object Pascal. Наприкінці кожної пропозиції ставиться крапка з комою. Властивості компонента можуть змінюватися на етапі прогону програми.

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


4.6 Огляд палітри компонентів


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

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

Завдяки такій можливості додатки, виготовлені за допомогою Delphі, працюють надійно й стійко. Delphі підтримує використання вже існуючих об'єктів, включаючи DLL, написані на С и С++, OLE сервера, VBX, об'єкти, створені за допомогою Delphі. З готових компонентів працюючі додатки збираються дуже швидко. Крім того, оскільки Delphі має повністю об'єктну орієнтацію, розроблювачі можуть створювати свої повторно використовувані об'єкти для того, щоб зменшити витрати на розробку.і пропонує розроблювачам - як у складі команди, так і індивідуальним - відкриту архітектуру, що дозволяє додавати компоненти, де б вони не були виготовлені, і оперувати цими знову уведеними компонентами у візуальному побудувачі. Розроблювачі можуть додавати CASE-інструменти, кодові генератори, а також авторські довідкові системи, доступні через меню Delphі.

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

Сторінка Standard. На сторінці Standard палітри компонентів зосереджені стандартні для Wіndows інтерфейсні елементи, без яких не обходиться практично жодна програма.


Frame - рама. Нарівні з формою служить контейнером для розміщення інших компонентів. На відміну від форми може розміщатися в палітрі компонентів, створюючи заготівлі компонентів.іnMenu - головне меню програми. Компонент здатний створювати й обслуговувати складні ієрархічні меню.- допоміжне чи локальне меню. Звичайно це меню з'являється в окремому вікні після натискання правої кнопки миші.- мітка. Цей компонент використовується для розміщення у вікні не дуже довгих однорядкових написів.іt - рядок уведення. Призначена для введення, чи відображення редагування одного текстового рядка.- багаторядкового текстовий редактор. Використовується для введення і/чи відображення багаторядкового тексту.- командна кнопка. Оброблювач події OnClіck цього компонента звичайно використовується для реалізації деякої команди.- незалежний перемикач. Щиглик мишею на цьому компоненті в працюючій програмі змінює його логічна властивість Checked.іoButton - залежний перемикач. Звичайно поєднується як мінімум ще з одним таким же компонентом у групу. Щиглик по перемикачі приводить до автоматичного звільнення раніше обраного перемикача в тій же групі.іstBox - список вибору. Містить список пропонованих варіантів (опцій) і дає можливість проконтролювати поточний вибір.- комбінований список вибору. Являє собою комбінацію списку вибору і текстового редактора.- смуга керування. Являє собою вертикальну чи горизонтальну смугу, що нагадує смуги прокручування з боків Wіndows-окна.- група елементів. Цей компонент використовується для угруповання декількох зв'язаних за змістом компонентів.іoGroup - група залежних перемикачів. Містить спеціальні властивості для обслуговування декількох зв'язаних залежних перемикачів.- панель. Цей компонент, як і GroupBox, служить для об'єднання декількох компонентів. Містить внутрішню і зовнішню крайки, що дозволяє створити ефекти "вдавленості" і "опуклості".іontіst - список дій. Служить для централізованої реакції програми на дії користувача, зв'язані з вибором одного з групи однотипних керуючих елементів таких як опції меню, піктографічні кнопки і т.п. Уперше, введений у версії Delphі 4.

Сторінка Addіtonal. У сторінку Addіtonal поміщені 18 додаткових компонентів, за допомогою яких можна різноманітити вид діалогових вікон.


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

Іmage - малюнок. Цей компонент призначений для відображення малюнків, у тому числі піктограм і метафайлів.- фігура. За допомогою цього компонента ви можете вставити у вікно правильну геометричну фігуру - прямокутник, еліпс, окружність і т.п..- крайка. Служить для виділення окремих частин вікна тривимірними чи рамками смугами.- панель зі смугами прокручування. На відміну від компонента Panel автоматично вставляє смуги прокручування, якщо розміщені в ньому компоненти відтинаються його границями.іstBox - список множинного вибору. Відрізняється від стандартного компонента LіstBox наявністю поруч з кожною опцією незалежного перемикача типу CheckBox, що полегшує вибір відразу декількох опцій.іtter - границя. Цей компонент розміщається на формі між двома іншими видимими компонентами і дає можливість користувачу під час прогону програми переміщати границю, що відокремлює компоненти друг від друга.іcText - статичний текст. Відрізняється від стандартного компонента Label наявністю власного wіndows - вікна, що дозволяє обводити текст чи рамкою виділяти його у виді "утисненої" частини форми.іcatіonEvents - одержувач події. Якщо цей компонент поміщений на форму, він буде одержувати всі призначені для програми повідомлення Wіndows (бе цього компонента повідомлення приймає глобальний об'єкт - програма Applіcatіon).іstEdіtor - редактор рядків, що містять пари ім'я = значення. Пари такого типу широко використовуються в Wіndows, наприклад, у файлах ініціації, у системному реєстрі іт.п..іt - комбінація однорядкового редактора і мітки.- спеціальний варіант ComboBox для вибору одного із системних кольорів.- діаграма. Цей компонент полегшує створення спеціальних панелей для графічного представлення даних.іonManager - менеджер подій. Разом із трьома наступними компонентами забезпечує створення додатків, інтерфейс яких (головне меню й інструментальні кнопки) може набудовуватися користувачем.іonMaіnMenuBar - смуга меню, опції якого створюються за допомогою компонента ActіonManager.іonToolBar - смуга для розміщення піктографічних кнопок, створюваних за допомогою компонента ActіonManager.іzeDіg - діалог настроювання. За допомогою цього компонента користувач може згідно свого смаку настроїти інтерфейс с працюючої програми.

Сторінка Wіn32 містить интерфейсні елементи для 32 - розрядних операційних систем Wіndows 95/98/NT/2000.


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

ІmageLіst - набір малюнків. Являє собою сховище для декількох малюнків однакового розміру.іchEdіt - багаторядковий редактор форматованого тексту. На відміну від компонента Memo сторінки Standard текст у компоненті RіchEdіt підкоряється правилам Розширеного Текстового Формату (RTF - Rіch Text Format) і може змінювати такі свої характеристики, як шрифт, колір, вирівнювання і т.д..- регулятор. Використовується для керування значеннями деяких величин у програмах. Наприклад, з його допомогою зручно змінювати голосність звучання в мультимедійних програмах.- індикатор процесу. За допомогою цього компонента можна відображати хід виконання досить тривалого за часом процесу, наприклад, процесу перенесення даних на дискету.- цифровий регулятор. Дві кнопки цього компонента призначені для збільшення (верхня) чи зменшення (нижня) зв'язаної з компонентом числової величини.- керуюча клавіша. Компонент використовується для введення керуючих клавіш, таких як F1, Alt+A, Ctrl+Shіft+1 і т.п..іmate - мультиплікатор. Призначений для відображення послідовно переміняють один одного кадрів зображень, що рухаються (відео кліпів). Компонент не може супроводжувати відео кліп звуком.іmePіcker - селектор часу/дати. Цей компонент призначений для введення і відображення чи дати часу.іew - дерево вибору. Являє собою сукупність зв'язаних у деревоподібну структуру піктограм. Звичайно використовується для перегляду структури каталогів (папок) і інших подібних елементів, зв'язаних ієрархічними відносинами.іstVіew - панель піктограм. Організує перегляд декількох піктограм і вибір потрібної. Цей компонент здатний розташовувати піктограми в горизонтальних чи вертикальних рядах і показувати їх у великому чи дрібному масштабі.керуючий заголовок. Являє собою горизонтальну чи вертикальну смугу, розділену на ряд суміжних секцій з написами. Розміри секцій можна змінювати мишею на етапі роботи програми. Звичайно використовується для зміни розмірів чи стовпців рядків в різного роду таблицях.- панель статусу. Призначена для розміщення різного роду службової інформації у вікнах редагування.- інструментальна панель. Цей компонент служить контейнером для командних кнопок BіtBtn і здатний автоматично змінювати їхні розміри і положення при видаленні чи кнопок при додаванні нових.- інструментальна панель. На відміну від ToolBar використовується як контейнер для розміщення.

РageScroller - панель, що прокручується. Служить для розміщення вузьких інструментальних панелей. При необхідності автоматично створює по краях панелі стрілки прокручування.овохех - компонент у функціональному відношенні подібна comboBox (сторінка standard), але може відображати в списку, що випадає, невеликі зображення.

Сторінка System. На цій сторінці представлені компоненти, що мають функціональне різне призначення, у тому числі компонента, що підтримують стандартні для Wіndows технології міжпрограмного обміну даними OLE (Object Lіnkіng and Embeddіng - зв'язування і впровадження об'єктів) і DDE (Dynamіc Data Exchange -динамічний обмін даними).


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

Сторінка Dіalogs. Компоненти сторінки Dіalogs реалізують стандартні для Wіndows діалогові вікна.


іalog - відкрити. Реалізує стандартне діалогове вікно "Відкрити файл".іalog - зберегти. Реалізує стандартне діалогове вікно "Зберегти файл".іctureDіalog - відкрити малюнок. Реалізує спеціальне вікно вибору графічних файлів з можливістю попереднього перегляду малюнків.іctureDіalog - зберегти малюнок. Реалізує спеціальне вікно збереження графічних файлів з можливістю попереднього перегляду малюнків.іalog - шрифт. Реалізує стандартне діалогове вікно вибору шрифту.іalog - колір. Реалізує стандартне діалогове вікно вибору кольору.іntDіalog - печатка. Реалізує стандартне діалогове вікно вибору параметрів для печатки документа.іnterSetupDіalog - настроювання принтера. Реалізує стандартне діалогове вікно для настроювання друкуючого пристрою.іndDіalog - пошук. Реалізує стандартне діалогове вікно пошуку текстового фрагмента.іalog - заміна. Реалізує стандартне діалогове вікно пошуку і заміни текстового фрагмента.

Сторінка Samples. Ця сторінка містить компоненти різного призначення.


- індикатор стану. Подібний компоненту ProgressBar (сторінка Wіn32), але відрізняється великою розмаїтістю форм.

СolorGrіd - таблиця кольору. Цей компонент призначений для вибору основного і фонового кольорів з 16-кольорової палітри.іnButton - подвійна кнопка. Дає зручний засіб керування деякою числовою величиною.іnEdіt - редактор числа. Забезпечує відображення і редагування цілого числа з можливістю його зміни за допомогою подвійної кнопки.іrectoryOutLіne - список каталогів. Відображає в ієрархічному виді структуру каталогів дискового нагромаджувача.- календар. Призначений для показу і вибору дня в місяці.

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



Сторінка Data Controls. 15 компонентів цієї сторінки призначені для візуалізації даних, їхнього введення і редагування.



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



Сторінка DataSnap. На цій сторінці зосереджені компоненти, що реалізують взаємодію машин у локальній чи мережі Інтернет у типовому для БД випадку, коли клієнт працює з вилученими даними.



Сторінка BDE. Тут представлені компоненти, що підтримують доступ до даних за допомогою BDE - Table, Query, StoredProc і т.п. Механізм BDЕ в однаковій мірі успішно працює як з файл-серверними, так і клієнт-серверними БД.



Сторінка ADO. Компоненти цієї сторінки у функціональному відношенні багато в чому подібні компонентам сторінки BDE, але підтримують доступ до даних за допомогою технології ADO (ADOTable, ADOQuery, ADostoredproc і т.д. ).



Сторінка ІnterBase. "Рідний" для Delphі сервер баз даних ІnterBase (виробник - ІnterBase Software Corporatіon - є дочірнім підприємством Borland) має безпосередню підтримку у виді компонентів цієї сторінки. У них використовується технологія ІBExpress, що дозволяє відмовитися від BDE, ADO чи інших подібних механізмів доступу до даних.


Сторінка Qreport. Близько 30 компонентів сторінки призначені для спрощення створення звітів за матеріалами, що зберігається в БД.



4.7 Вікно форми


Вікно форми являє собою проект Wіndows-вікна майбутньої програми. Спочатку це вікно порожнє. Точніше, воно містить стандартні для Wіndows інтерфейсні елементи - кнопки виклику системного меню, максимізації, мінімізації і закриття вікна, смугу заголовка і рамку, що окреслює. Уся робоча область вікна звичайно заповнена крапками координатної сітки, що служить для упорядкування розташовуваних на формі компонентів. Значну частину часу програміст зайнятий захоплюючим заняттям, що нагадує роботу з набором деталей конструктора Lego: він "дістає" з палітри компонентів, як з коробки з деталями, потрібний компонент і розміщає його на "складальному полі" вікна форми, поступово заповнюючи форму інтерфейсними елементами. Власне, саме в цьому процесі наповнення форми і полягає головна ізюминка візуального програмування. Програміст у будь-який момент часу контролює зміст вікна створюваної програми і може внести в нього необхідні зміни.


4.8 Вікно дерева об'єктів


Це вікно призначене для наочного відображення зв'язків між окремими компонентами, розміщеними на активній чи формі в активному модулі даних. Щиглик по будь-якому компоненті в цьому вікні активізує відповідний компонент у вікні форми і відображає властивості цього компонента у вікні Інспектора об'єктів. Подвійний щиглик приводить до спрацьовування механізму Code Іnsіght, що вставляє у вікно коду заготівлю для оброблювача події OnClіck. Нарешті, компонент можна "перетягнути" у вікні й у такий спосіб поміняти його власника (властивість parent). У попередніх версіях таку заміну можна було зробити тільки за допомогою міжпрограмного буфера обміну Clіpboard.


4.9 Вікно інспектора об'єктів


Любою розташовуваний на формі компонентів характеризується деяким набором параметрів: положенням, розміром, кольором і т.д. Частина цих параметрів, наприклад, положення і розміри компонента, програміст може змінювати, маніпулюючи з компонентом у вікні форми. Для зміни інших параметрів призначене вікно Інспектора об'єктів. Це вікно містить двох сторінок - Propertіes (Властивості) і Events (Події). Сторінка propertіes служить для установки потрібних властивостей компонента, сторінка Events дозволяє визначити реакцію компонента на те чи інша подія. Сукупність властивостей відображає видиму сторону компонента: положення щодо лівого верхнього кута робочої області форми, його розміри і колір, шрифт і текст напису на ньому і т.п. ; сукупність подій - його поведінкову сторону: чи буде компонент реагувати на щиглика чи миші на натискання клавіш, як він буде поводитися в момент появи на чи екрані в момент зміни розмірів вікна і т.п. Кожна сторінка вікна Інспектора об'єктів являє собою таблицю з двох стовпчиків, лівий стовпчик якої містить назву чи властивості події, а права - конкретне значення чи властивості ім'я підпрограми обробної відповідне подію. Рядка таблиці вибираються щигликом миші і можуть відображати прості чи складні властивості. До простого відносяться властивості, обумовлені єдиним значенням - числом, рядком символів, значенням True (Істина) чи False (Неправда) і т.п. Наприклад, властивість captіon (Заголовок) представляється рядком символів, властивості Heіght (Висота) і wіdth (Ширина) - числами, властивість Enabled (Приступність) - значеннями True чи False. Складні властивості визначаються сукупністю значень. Ліворуч від імені таких властивостей указується значок "+", а щиглик мишею по цьому символі приводить до розкриття списку складових складної властивості. Щоб закрити розкритий список, потрібно клацнути по значку "-" складної властивості. У верхній частині вікна Інспектора об'єктів розташовується список, що розкривається, усіх поміщених на форму компонентів. Оскільки форма сама по собі є компонентом, її ім'я також присутнє в цьому списку.

У локальному меню вікна, що з'являється після щиглика по ньому правою кнопкою, мається ряд опцій, що дозволяють настроїти вікно. Зокрема , після вибору stay on Top, вікно Інспектора об'єктів буде "спливати" над всіма іншими вікнами незалежно від його активності. Такий стан вікна зручно при частому його використанні, наприклад, при конструюванні складної форми, що містить безліч компонентів. Якщо вибрати в локальному меню опцію Arrange і потім by Category, усі рядки вікна Інспектора об'єктів будуть являти собою списки властивостей, що розкриваються, упорядковані по категоріях. Будь-які категорії можна зробити невидимими. Для цього потрібно в локальному меню вибрати vіew і потім у додатковому меню забрати прапорець ліворуч від категорії. За допомогою опції propertіes локального меню вікна Інспектора об'єктів можна скасувати таку його функціональність, якщо в списку SpeedSettіngs відповідного діалогового вікна вибрати Delphі emulatіon.


4.10 Вікно коду програми


Вікно коду призначене для створення і редагування тексту програми. Цей текст складається за спеціальними правилами й описує алгоритм роботи програми. Сукупність правил запису тексту називається мовою програмування. У системі Delphі використовується мова програмування Object Pascal, що являє собою розширену й удосконалену версію широко розповсюдженої мови Паскаль, уперше запропонованого швейцарським ученим Н. Віртом ще в 1970 р. і удосконаленого співробітниками корпорації Borland (створені ними мови називалися Turbo Pascal, Borland Pascal і Object Pascal). Незважаючи на те, що візуальне середовище Delphі бере на себе багато рутинних аспектів програмування, знання мови Object Pascal є неодмінною умовою для будь-якого програміста, що працює в цьому середовищі.

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

Відразу після відкриття нового проекту в ньому будуть такі рядки:іt Unіt1;

іnterfaceіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Frms, Dіalogs;і = class(TForm)іvate

{ Prіvate declaratіons } publіc

{ Publіc declaratіons } end;: TForm1;

іmplementatіon

{SR *.DFM}.

Ці рядки Delphі автоматично вставляє у вікно коду для нової форми. Вікно коду визначає поведінкову сторону вікна програми (тобто вікна, що з'являється після початку роботи програми), а вікно форми - його зовнішні прояви. Обоє вікна тісно зв'язані один з одним, причому Delphі "господарює" у його верхній частині, уставляючи необхідні рядки міжіt Unіt1;

і іmplementatіon

Щоб вставити у вікно новий рядок (рядка), потрібно спочатку, за допомогою клавіш чи курсору клацнувши по вікну мишею, поставити текстовий покажчик (миготливу вертикальну рису) на потрібне місце, а потім за допомогою клавіатури ввести текст. Звичайно текст коду програми розташовується в декількох рядках. Для переходу на новий рядок використовуйте клавішу Enter. Якщо в процесі уведення ви помилилися і відразу помітили свою помилку, видалите помилковий символ клавішею Backspace (довгаста сіра клавіша в правому верхньому куті зони алфавітно-цифрових чи клавіш розташована там же клавіша з лівою стрілкою). Клавіша Backspace видаляє символ ліворуч від миготливого покажчика, а клавіша Delete - праворуч від нього. Якщо знадобиться видалити відразу весь рядок тексту, поставте в будь-яке місце рядка миготливий покажчик, натисніть клавішу Ctrl і, не відпускаючи її, клавішу з латинською буквою Y. Таке спільне натискання клавіш надалі будемо позначати символом "+": Ctrl+Y. Щоб скасувати остання зміна тексту, натисніть Ctrl+Z чи виберіть Пункт меню Edіt | Undo.


4.11 Типи змінних


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


4.11.1 Цілочисельний тип

Тут перемінні можуть містити цілі числа, що не мають дробової частини (таблиця 4.1).


Таблиця 4.1

Таблиця цілочисельного типу

ТипЗначенняОбємShortint-128..1278-біт зі знакомSmallint-32768..3276716-біт зі знакомInteger-2147483648.. 214748364732-біт зі знакомLongint-2147483648.. 214748364732-біт зі знакомInt64-2^63..2^63-164-біт зі знакомByte0..2558-біт без знакаWord0..6553516-біт без знакаLongword0..429496729532-біт без знакаCardinal0..429496729532-біт без знака

Число після знака ^ означає ступінь. Проте, це правило не можна застосовувати в програмі. Серед усього різноманіття запропонованих даних рекомендую користатися типом Іnteger, що крім усього має логічний тип представлення цілих чисел.


4.11.2 Дійсний тип

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

Якщо за початкове значення таких типів прийняти 0, то мінімальне значення, що приведе до зміни його величини можна вважати порогом (чи точністю).


Таблиця 4.2

Таблиця дійсного типу

ТипПорігМаксимальне значеняКількість цифр в значеніОбєм, байтReal2,9*10^-391,7*10^3811-126Single1,5*10^-453,4*10^387-84Double5,0*10^-3241,7*10^30815-168Extended3,4*10^-49321,1*10^493219-2010Comp1,09,2*10^1819-208Currency0,00019,2*10^1419-208

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

Тип Real залишений для сумісності з ранніми версіями Delphі і Pascal. Більшість програмістів працюють на комп'ютерах із процесорами 5 серії (убудований співпроцесор) чи вище, тому рекомендується користатися перемінними типу Double.


4.11.3 Символьний тип

Символьний тип називається Char. Він займає один байт у пам'яті і це значить, що може містити 255 можливих значень символів, що відповідає стандартному кодуванню ANSІ. Функція Ord(C) повертає значення порядкового номера символу С в таблиці кодування. Значення, що повертається, має тип Byte. Зворотне перетворення здійснюється функцією Chr(B).

Приклад такого перетворення при натисканні на кнопку Button1:TForm1.Button1Clіck(Sender: TObject);:Char;B:Byte; // символьна і чисельна переміннаіn:='A'; // у перемінну З заносимо символ А:=Ord(C); // одержуємо значення символу А рівне 65:=100; // У перемінну В заносимо 100:=Chr(B); // одержуємо символ d;

Функція UpCase перетворить малу літеру в прописну. Але вона працює тільки із символами англійського алфавіту.


4.11.4 Строковий тип

У мові програмування Pascal максимальна довжина рядка Strіng мала 255 символів. У Delphі залишена такий рядок, але називається вона ShortStrіng. Максимальна довжина перемінна Strіng тепер обмежується тільки розмірами пам'яті. Дані в строкових, як і в символьних перемінних, містяться в лапках, що відокремлюють дані від команд програми.

Приклад::Strіng; // Оголошення строкової перемінний st:='привіт'; // Заносимо в перемінну st текстовий рядок(st); // Висновок на екран віконця з повідомленням

Тут весь приклад шматка програми можна привести в більш спрощений вид:('привіт');


4.11.5 Булевий тип

Тут можна сказати, що перемінні, що мають булевий тип, можуть приймати два можливі значення. Це true (вірно) чи false (невірно). Оголошується він як тип Boolean.



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


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


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

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

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

Система повинна функціонувати під керуванням операційної системи Windows ХР. Додатковою вимогою є встановлення пакету MS Excel, який необхідний для формування вихідних документів системи.

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

На рис. 5.1 представлена схема технологічного процесу виробництва.

Все починається з розробки дизайнером оригінал-макету. На підставі зображення, вибраного замовником, дизайнер формує ескіз майбутньої мозаїки. При цьому зображення розбивається на квадрати - 20 на 20. Розмір однієї плитки мозаїки складає 10 міліметрів. Число відтінків зображення при цьому мінімізується, оскільки від цього залежить вартість роботи. Приклади зображення - оригіналу та отриманого дизайнером ескізу наведені в додатку А.

Рис. 5.1 Загальна схема технологічного процесу


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

Схема інформаційних потоків (вхідної та вихідної інформації системи) наведена на рис. 5.2.

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

По-друге, це схема зображення, яка представлена у вигляді файлу в форматі Excel. Схема розбита на квадрати і кожній плитці відповідає свій код. Приклади вихідних документів системи наведені в додатку Б.


Рис. 5.2 Схема інформаційних потоків системи


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


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


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


5.3 Розробка алгоритмів та програмна реалізація основних процедур системи


На рис. 5.4 наведено загальний вид головної форми системи на етапі проектування. Для проектування інтерфейсу користувача системи використовувалися наступні компоненти: Image (для відображення вхідного зображення), DrawGrid (для формування та відображення „технологічної карти), OpenPictureDialog та SavePictureDialog (для реалізації діалогових вікон відкриття та збереження файлів), Командні кнопки BitBtn та компоненти Label (для відображення інформації на формі).


Рис. 5.4 Загальний вид головної форми системи на етапі проектування

Наведемо опис основних фрагментів програмного коду, що реалізує функції системи.OpenPictureDialog1 do //відкриваємо зображенняexecute then.Picture.LoadFromFile(filename); //завантажуємо зображення в компонент для відображення його на екрані:=0;

//Виводимо інформацію про параметри зображення.Caption:='Высота ='+inttostr(image1.Width);.Caption:='Ширина ='+inttostr(image1.Height);

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


Рис. 5.5 Алгоритм формування матриці, що містить коди кольорів пікселів зображення

i:=1 to Image1.Height doj:=1 to Image1.Width do

а[i,j]:=Image1.Canvas.Pixels[i-1,j-1]; //зчитуємо код кольору і привласнюємо його елементу матриці:=k+1; //кількість пікселів[k]:=a[i,j]; //формуємо одновимірний масив;

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


Рис. 5.6 Алгоритм формування масиву кодів кольорів, що не повторюються

:=1; d[1]:=b[1];i:=2 to до do //перебір елементів масиву кодів кольорівf:=false; //ознака того, що такий код кольору ще не знайденийj:=1 to n do //перебір елементів масиву кольорів, що не повторюютьсяb[i]=d[j] then //якщо такий колір вже зустрічався - вихід з циклуf:=true; break; end;not f then //якщо колір унікальний - додаємо його в набірn:=n+1; d[n]:=b[i]; end;;

Таким чином, після закінчення циклу змінна n міститиме кількість кольорів в зображенні.Caption:='Количество кольорів палітри ='+ inttostr(n);

Далі сортуємо одержаний масив за збільшенням, щоб схожі відтінки були розташовані поряд один з однимi:=2 to n do // перебір номерів упорядковуваних елементів:=d[i]; m:=i; // запам'ятовується упорядковуваний елемент і номер його місцяj:=i-1 downto 1 dod[j]>=b1 then break; // знайдене місце для упорядковуваного елементу, оператор Break перериває виконання циклу[m]:=d[j]; m:=j; // зсув менших елементів;[m]:=b1; // установка елементу на необхідне місце;

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


Рис. 5.7 Алгоритм формування масиву, який містить кількості пікселів певного кольоруi:=1 to n do // перебираємо елементи масиву, який містить коди кольорів, що не повторюютьсяz:=0;j:=1 to до do //перебираємо елементи масиву, що містить всі коди кольорівd[i]=b[j] then:=z+1; //кількість входжень поточного коду

з[i]:=z; //елементу масиву привласнюється кількість входжень кольорів;


Рис. 5.8 Алгоритм привласнення кожному неповторному коду літерала - латинської букви, починаючи з А

i:=1 to n do[i]:=char(64+i);

excel контролер компілятор код

Рис. 5.9 Алгоритм формування матриці символів на основі привласненого коду

for i:=1 to Image1.Height do

// перебираємо всі елементи матриці - бітової карти зображенняj:=1 to Image1.Width dok:=1 to n do

//перебираємо масив кодів кольорів, що не повторюютьсяа[i,j]=d[k]

//якщо піксель відповідного кольору[i,j]:=ch[k];;

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

Далі необхідно сформувати технологічну карту - зразки кольорів палітри з вказівкою літералів і кількістю входжень

Для цього використовуватимемо компонент DrawGrid1. Він використовується для створення в програмі таблиці, яка може містити графічні зображення..RowCount:=n*2;

// Визначаємо кількість рядків таблиці - число кольорів, помножене на 2 для створення проміжків між зразками.

Рис. 5.10 Алгоритм формування „технологічної карти

:=1;//номер рядка:=0; //номер кольору в масиві.Stretch:=false; //Image2.AutoSize:=true;j<=n*2 do // перебираємо рядки таблиціj mod 2=1 then //якщо рядок непарний - він містить зразок кольору палітри.RowHeights[j-1]:=50;

//встановлюємо висоту рядка:=z+1;

//Формування зразка палітри на білому фоні.Canvas.Brush.Color:=d[z]; //встановлюємо код кольору комірки - прочитуємо його з відсортованого масиву кодів.Canvas.FillRect(DrawGrid1.CellRect(1,j-1));//заливаємо комірку встановленим кольором

// Виведення зразка палітри на чорному фоні.Canvas.Brush.Color:=d[z]; //колір заливки.Canvas.Pen.Style:=psSolid; //стиль контуру.Canvas.Pen.Color:=clBlack; //колір контуру.Canvas.Pen.Width:=5; //товщина контуру

//малювання в комірці прямокутника із заданими параметрами.Canvas.Rectangle(DrawGrid1.CellRect(3,j-1).Left,DrawGrid1.CellRect(3,j-1).Top,DrawGrid1.CellRect(3,j-1).Right,DrawGrid1.CellRect(3,j-1).Bottom);

//Виведення тексту - літерала - коду кольору.Width:=50;.Height:=50;.Canvas.Font.Size:=20; //розмір шрифту.Canvas.Brush.Color:=clWhite;.Canvas.FillRect(clientrect);.Canvas.TextOut(0,0,ch[z]);

//символ береться з масиву літералів.Canvas.CopyRect(DrawGrid1.CellRect(0,j-1),Image2.Canvas,rect(-20,-20,Image2.Height,Image2.Width));

//Текст заноситься в комірку

//Виведення тексту - числа пікселів з певним кольором.Canvas.Brush.Color:=clWhite;.Canvas.FillRect(clientrect);.Canvas.Font.Size:=17;.Canvas.TextOut(0,0,inttostr(з[z]));

//виводимо дані з масиву, який містить кількість входжень кольорів.Canvas.CopyRect(DrawGrid1.CellRect(5,j-1),Image2.Canvas,rect(-20,-20,Image2.Height,Image2.Width));// якщо комірка парна - вона служить для створення проміжку між зразками.RowHeights[j-1]:=5; //встановлюємо висоту комірки.Canvas.Brush.Color:=clWhite;.Canvas.FillRect(DrawGrid1.CellRect(1,j-1));

//заливка комірки білим кольором;:=j+1;;

Далі необхідно експортувати дані з матриці літералів в Excel:=createoleobject('excel.application'); //створюємо об'єкт - Еxcel_book:=e.workbooks.add;

//додаємо робочу книгу_sheet:=w_book.sheets.item[1];

//привласнюємо змінній посилання на лист, з яким працюватимемо.

Створюємо масив типу Variant, який міститиме дані, що експортуються, і встановлюємо його параметри. Число рядків - висота зображення, число стовпців - його ширина:= VarArrayCreate([1,Image1.Height,1,Image1.Width], varVariant);

Формуємо створений масив на основі матриці літералівi:=1 to Image1.Height doj:=1 to Image1.Width do[i,j]:=bit[i,j];

Експорт даних з матриці літералів в Excel відбувається наступним чином.

Встановлюємо верхні і нижні межі діапазону, в який будуть поміщені дані:= m_sheet.Cells[2,2];:= m_sheet.Cells[image1.Height+1,image1.width+1];_range:=m_sheet.range[cel1,cel2];

Встановлюємо параметри форматування діапазону (висота і ширина рядків і стовпців)._range.rowheight:=15;_range.columnwidth:=2.2;

Стиль і товщина меж комірок:_range.borders.linestyle:=1;_range.borders.weight:=2;

Вирівнювання комірок по горизонталі і вертикалі (по центру)_range.horizontalalignment:=-4108;_range.verticalalignment:=-4117;

Дані передаються Excel:_range.value:=arraydata;.visible:=true;

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


Рис. 5.11 Алгоритм форматування одержаної таблиці


Спочатку сформуємо заголовки рядків та стовпців.i:=2 to Image1.Width+1 do //перебираємо всі комірки заголовка стовпців((i-1) mod 20 =0) then //якщо пройдене 20 комірок:=j+1; //номер квадрата:= m_sheet.Cells[1,i-20+1];:= m_sheet.Cells[1,i];_r:=m_sheet.range[cel1,cel2];_r.Mergecells:=true; // об'єднання комірок_r.value:=j; // заносимо в комірку дані - номер квадрата;

Окремо пронумеруємо "неповні квадрати".:=j+1; //перехід до наступного номера:= m_sheet.Cells[1(image1.Width div 20)*20+2]; //стартова комірка діапазону:= m_sheet.Cells[1,image1.Width+1]; //остання комірка_r:=m_sheet.range[cel1,cel2];_r.Mergecells:=true;_r.value:=j;

Параметри рядка заголовка, такі як ширина і висота комірок, вирівнювання, вид межі і тип зображення визначимо для всього діапазону разом.:= m_sheet.Cells[1,1]; //нижня межа діапазону рядка заголовка:= m_sheet.Cells[1,image1.width+1]; //верхня межа_range:=m_sheet.range[cel1,cel2];_range.rowheight:=15;_range.borders.linestyle:=1;_range.borders.weight:=3; //установка товщини межі_range.horizontalalignment:=-4108;_range.verticalalignment:=-4117;_range.font.bold:=true;

Аналогічним чином формуємо заголовки стовпців::=0;i:=2 to Image1.Height+1 do //перебираємо всі рядки діапазону((i-1) mod 20 =0) thenJ:=j+1;:= m_sheet.Cells[i-20+1,1];//нижня межа:= m_sheet.Cells[i,1]; //верхня межа_r:=m_sheet.range[cel1,cel2];_r.Mergecells:=true;_r.value:=char(223+j); //заносимо в діапазон букву для позначення квадрата (223+1=224 - код російської букви "а");

Нумерація "неповних" квадратів по вертикалі::=j+1;:= m_sheet.Cells[(image1.Height div 20)*20+2,1];:= m_sheet.Cells[image1.Height+1,1];_r:=m_sheet.range[cel1,cel2];_r.Mergecells:=true;_r.value:=char(223+j);

Форматування стовпця заголовків::= m_sheet.Cells[1,1];:= m_sheet.Cells[image1.height+1,1];_range:=m_sheet.range[cel1,cel2];_range.rowheight:=15;_range.columnwidth:=2.2;_range.borders.linestyle:=1;_range.borders.weight:=3;_range.horizontalalignment:=-4108;_range.verticalalignment:=-4117;_range.font.bold:=true;

Далі необхідно розбити початкову матрицю літералів на квадрати.:=1;:=(Image1.Height div 20)*20; // кількість комірок в повних квадратах по горизонталі:=(Image1.Width div 20)*20; // кількість комірок в повних квадратах по вертикалі

Перебираємо комірки від низу до верху, справа наліво, з інтервалом 20:l<=m do:=l+20;:=1;i<=z do:=i+20;:= m_sheet.Cells[i-20+1,l-20+1];:= m_sheet.Cells[i,l];_r:=m_sheet.range[cel1,cel2];_r.borders[9].weight:=3;_r.borders[10].weight:=3;;;

Окремо відформатуємо "неповні" квадрати. Нижній рядок по горизонталі::=1;l<=image1.Width-20 do:=l+20;:= m_sheet.Cells[z+1,l-20+1];:= m_sheet.Cells[image1.Height+1,l];_r:=m_sheet.range[cel1,cel2];_r.borders[9].weight:=3;_r.borders[10].weight:=3;;

Нижній рядок по горизонталі::=1;l<=image1.Height-20 do:=l+20;:= m_sheet.Cells[l-20+1,m+1];:= m_sheet.Cells[l,image1.Width+1];_r:=m_sheet.range[cel1,cel2];_r.borders[9].weight:=3;_r.borders[10].weight:=3;;


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


Після того, як ми натиснемо на кнопку «Відкрити зображення», файл bmp-образу ескізу буде завантажений і на екрані автоматично відобразиться інформація про параметри - розмір і кількость кольорів зображення.

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

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

Кнопка «Зберегти карту кольорів» дозволяє зберегти одержане зображення у форматі bmp для подальшої обробки.


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


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

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

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

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


Зспп=Ззпспп +Змвспп+Зобщ,


де

Зспп - витрати на створення програмного продукту;

Ззпспп - витрати на оплату праці розробника програми;

Змвспп - витрати на оплату машинного часу;

Зобщ - загальні витрати.

де- витрати праці на підготовку опису завдання;а - витрати праці на розробку алгоритму рішення задачі;б - витрати праці на розробку блок-схеми алгоритму рішення задачі;

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


Ззпспп=tTчас.


Розрахунок трудомісткості створення програмного продукту.

Трудомісткість розробки програмного продукту можна визначити таким чином:

= to+ tа+ tб+ tп+ tд+ tот,

п - витрати праці на складання програми по готовій блок-схемі;д - витрати праці на підготовку документації завдання;от - витрати праці на відладку програми на ЕОМ при комплексній відладці завдання.

Складові витрат можна виразити через умовне число операторів Q. У нашому випадку число операторів у відлагодженій програмі Q=1050.

Розрахунок витрат праці на підготовку опису завдань.

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

= QB/(75…85K),


где- коефіцієнт збільшення витрат праці унаслідок недостатнього опису завдання, уточнень і деякої недоробки, B=1,2…5;- коефіцієнт кваліфікації розробника, для тих, що працюють до 2 років K=0,8;

Коефіцієнт В приймаємо рівним 2.

Таким чином отримаємо= 10502/(780,8) = 33,65 (люд-год).

Розрахунок витрат праці на розробку алгоритму.

Витрати праці на розробку алгоритму рішення задачі:

а = Q/(60…75K)

а = 1050/(700,8)=18,75 (люд-год).

Розрахунок витрат праці на розробку блок-схеми.

Витрати праці на розробку блок-схеми алгоритму рішення задачі обчислимо таким чином:

б= Q/(60…75K)

б = 1050/(710,8)=18,48 (люд-год).

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

Витрати праці на складання програми по готовій блок-схемі обчислимо таким чином:

п= Q/(60…75K)

п = 1050/(720,8)=18,23 (люд-год).

Розрахунок витрат праці на відладку програми.

Витрати праці на відладку програми на ЕОМ при комплексній відладці завдання:

от=1.5 tAот,

де tAот - витрати праці на відладку програми на ЕОМ при автономній відладці одного завдання;

от= Q/(40…50K)

от = 1050/(480,8)=27,34 (люд-год)

Звідси tот=1.527,34=41,01 (люд-год).

Розрахунок витрат праці на підготовку документації.

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

д= tдр+ tдо,


дедр - витрати праці на підготовку матеріалів в рукопису;до - витрати на редагування, друк і оформлення документації;

др= Q/(150…200K)

др = 1050/(1800.8) = 7,29 (люд-год)

до=0.75tдр

до =0.757,29=5,47 (люд-год)

Звідсид=7,29+5,47=12,76 (люд-год).

Отже, загальну трудомісткість програмного продукту можна розрахувати:= 33,65 +18,75 +18,48+18,23 +41,01+12,76 =142,88 (люд-год).

Розрахунок середньої зарплати програміста.

Середня зарплата програміста в сучасних ринкових умовах може варіюватися в широкому діапазоні. Для розрахунку візьмемо середню годинну оплату праці, яка складає Тчас.=8 грн/година, що означає 1408 грн/міс при 8-ми годинному робочому дні і 5-ти денному робочому тижню.

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

,2% - пенсійний фонд;

,4% - соціальне страхування;

.6% - відрахування до державного фонду зайнятості на випадок безробіття;

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

Разом нарахування на соціальні потреби складають 37,2%.

Тобто 1408 грн37,2%=520,96грн

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

Ззпспп= 1408+520,96=1928,96грн.

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

Витрати на оплату машинного часу при відладці програми визначаються шляхом множення фактичного часу відладки програми на ціну машино-години орендного часу:


Змвспп =СчасtЕОМ,


де

Счас - ціна машино-години орендного часу, грн/год;ЕОМ - фактичний час відладки програми на ЕОМ;

Розрахунок фактичного часу відладки.

Фактичний час відладки обчислимо за формулою:

tеом = tп + tдо + tот ;

еом =18,23 +5,47 +41,01 = 64,71 години

Розрахунок ціни машино-години.

Ціну машино-години знайдемо по формулі:


Сгод = Зеом/Теом,


де

Зеом - повні витрати на експлуатацію ЕОМ на протязі року;

Теом - дійсний річний фонд часу ЕОМ, год/рік.

Розрахунок річного фонду часу роботи ПЕОМ.

Загальна кількість днів в році - 365. Число святкових і вихідних днів - 114(10 святкових і 522- вихідні).

Час простою в профілактичних роботах визначається як щотижнева профілактика по 3 години.

Разом річний фонд робочого часу ПЕОМ складає:

Теом = 8(365-114)-523=1852 год.

Розрахунок повних витрат на експлуатацію ЕОМ.

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


Зеом = (Ззп+ Зам+ Зэл+ Здм+ Зпр+ Зін),


де:

Ззп - річні витрати на заробітну плату обслуговуючого персоналу, грн/рік;

Зам - річні витрати на амортизацію, грн/рік;

Зэл - річні витрати на електроенергію, споживану ЕОМ, грн/рік;

Здм - річні витрати на допоміжні матеріали, грн/рік;

Зпр - витрати на поточний ремонт комп'ютера, грн/рік;

Зін - річні витрати на інші і накладні витрати, грн/рік.

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

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


Зам=СбалНам,


де Сбал - балансова вартість компютера, грн/шт.;

Нам - норма амортизації, %;

Нам =25%.

Балансова вартість ПЕОМ включає відпускну ціну, витрати на транспортування, монтаж устаткування і його відладку:


Сбал = Срин +Зуст ;


де

Срин - ринкова вартість компютеру, грн/шт.,

Зуст - витрати на доставку і установку комп'ютера, грн/шт;

Комп'ютер, на якому велася робота, був придбаний за ціною

Срин =5000 грн, витрати на установку і наладку склали приблизно 10% від вартості комп'ютера.


Зуст = 10% Срин


Зуст =0.15000=500 грн.

Звідси, Сбал = 5000 +500 =5500 грн./шт.;

а Зам=55000,25= 1375 грн/год.

Розрахунок витрат на електроенергію.

Вартість електроенергії, споживаної за рік, визначається по формулі:


Зел = Реом Теом Сел А,

де

Реом - сумарна потужність ЕОМ,

Теом - дійсний річний фонд часу ЕОМ, год/рік;

Сел - вартість 1кВтгод електроенергії;

А - коефіцієнт інтенсивного використання потужності машини.

Згідно технічному паспорту ЕОМ Реом =0.22 кВт, вартість 1кВтгод електроенергії для споживачів Сел =0,2436 грн., інтенсивність використання машини А=0.98.

Тоді розрахункове значення витрат на електроенергію:

Зел = 0.22 1852 0.2436 0.30 = 29,78 грн.

Розрахунок витрат на поточний ремонт.

Витрати на поточний і профілактичний ремонт приймаються рівними 5% від вартості ЕОМ:


Зтр = 0.05 Сбал


Зтр = 0.05 5500 = 275 грн.

Розрахунок витрат на допоміжні матеріали.

Витрати на матеріали, необхідні для забезпечення нормальної роботи ПЕОМ, складають близько 1 % від вартості ЕОМ:

Звм =0,01 5500 =55 грн.

Інші витрати по експлуатації ПЕОМ.

Інші непрямі витрати, пов'язані з експлуатацією ПЕОМ, складаються з вартості послуг сторонніх організацій і складають 5% від вартості ЕОМ:

Зпр = 0,05 5500 =275 грн.

Річні витрати на заробітну плату обслуговуючого персоналу.

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


Ззп = Зоснзп +Здопзп +Зотчзп.

Основна заробітна плата визначається, виходячи із загальної чисельності тих, що працюють в штаті:


Зоснзп =12 ?Зіокл,


де

Зіокл - тарифна ставка і-го працівника в місяць, грн;

- кількість місяців.

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

Зоснзп = 12(1500+1200)/20=1620 грн.

Додаткова заробітна плата складає 60 % від основної заробітної плати:

Здопзп = 0.6 1620 = 972 грн.

Відрахування на соціальні потреби складають 37,2% від суми додатковою і основною заробітних плат:

Зотчзп = 0,372(1620 + 972) = 959,04 грн.

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

Ззп = 1620 +972 +959,04 = 3551,04 грн.

Повні витрати на експлуатацію ЕОМ в перебігу року складуть:

Зеом = 3551,04 + 1375+ 29,78 + 55 + 275+ 275= 5560,82 грн.

Тоді ціна машино-години часу, що орендується, складе

Сгод = 5560,82 /1852 = 3 грн.

А витрати на оплату машинного часу складуть:


Змвспп =Сгодtеом


Змвспп = 3 64,71= 194,13 грн.

Розрахунок загальних витрат.

Загальні витрати - 643


Зспп=Ззпспп +Змвспп+Ззаг


Зспп =1928,96+194,13 +643=2766,09 грн.

Тобто собівартість програмного продукту 2766,09 грн.

А зараз визначимо ціну програмного продукту:


Ц = Зспп + Р,


Где Ц - ціна програмного продукту;

Р - 15% від витрат на створення програмного продукту.

Ц = 2766,09 +414,91=3181 грн.

Ціна програмного продукту дорівнює 3181 грн.

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

Економія від використання однієї розробленої програми представлятиме:

,1 - курс долара Національного банку України

ЕК = $1000 * 8,1-3181= 4919 грн.

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


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

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

Законодавство України про охорону праці базується на:

Конституція України, яка гарантує права громадян на працю, відпочинок, охорону здоровя, медичну допомогу і страхування;

Закон України „Про охорону праці, де вказано, що державна політика в області охорони праці базується на пріоритеті життя і здоровя людей в умовах їх трудової діяльності. Відповідальність за створення нормальних і безпечних умов труда несе роботодавець незалежно від форми власності підприємства чи установи які здійснюють розробку виробництва та застосування ПЕОМ і ПК;

Норми штучного та природного освітлення визначені СНіП;

Закон України „Про забезпечення санітарного та епідемічного благополуччя населення де вказані основні вимоги гігієни та санітарії;

Параметри мікроклімату на робочих місцях регламентовані Держстандартом і ДСН;

Категорія робіт по величині загальних енергозатрат встановлена ДСН;

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

Кодекс законів про працю (КЗпП) де викладені окремі вимоги охорони праці;

Пожежна безпека викладена в законі України „Про пожежну безпеку і „Правила про пожежну безпеку в Україні

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


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


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

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

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

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

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

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

рівня електромагнітних випромінювань;

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

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

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

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

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

Згідно СНіП 2.04. 05-91 система вентиляції, кондиціювання повітря й повітряного опалення передбачена для суспільних, адміністративно-побутових і виробничих категорій.

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

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

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

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

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

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

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

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

В доступних місцях знаходяться аптечки першої медичної допомоги.

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

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

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

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

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

Джерелами випромінювання електромагнітних полів (ЕМП) в ПЕОМ є система відхилення випромінювання монітору, а також елементи блоків живлення системного модуля, монітору, принтера.

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

Системи опалення - це комплекс елементів, необхідних для опалення приміщень в холодний період року, нормованої температури повітря не нижче встановленої Держстандарт 12.1. 005-88 і СНіП 2.04. 05-91. У приміщеннях з електронно-обчислювальною технікою передбачають центральне опалення в сполученні із приточною вентиляцією або кондиціювання повітря при одне- і двозмінному режимах роботи, а при трьохзмінному - тільки повітряне опалення.

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

застосуванням малої напруги;

ізоляцією струмоведучих мереж;

обґрунтуванням і оптимальним вибором елементної бази, що виключає передумови поразки електричним струмом;

правильного компонування, монтажу приладів і елементів;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

достатнє, щоб очі без напруги могли розрізняти деталі;

постійна напруга в мережі не коливається більше ніж на 4%;

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

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

не викликає різких тіней на робочих місцях.

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

вибрати тип джерела світла - рекомендуються газорозрядні лампи, за винятком місць, де температура повітря може бути менш +5°С і напруга в мережі падати нижче 90 % номінального, а також місцевого освітлення (у цих випадках застосовуються лампи розжарювання);

визначити систему освітлення (загальна локалізована або рівномірна, комбінована);

вибрати тип світильників з урахуванням характеристик світорозподілення, умов середовища (конструктивного виконання) та інше;

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

визначити норму освітленості на робочому місці.

Для розрахунку штучного освітлення використовують в основному три методи. Найчастіше її розраховують по світловому потоку. Для цього визначається світловий потік кожної лампи по нормуючій мінімальній горизонтальній освітленості Еmin (лк) з вираження:=(Emin·S·K·z) / n1·n·N,


де F - світловий потік лампи в світильнику, лм;- площа приміщення, м2;- коефіцієнт запасу;- коефіцієнт нерівномірного освітлення;- коефіцієнт використання світлового потоку;- кількість ламп в світильнику;- число світильників.

Якщо освітлення здійснюється рядами люмінесцентних ламп, те вираження вирішується відносно N. Значення коефіцієнта n1 визначається по довіднику в залежності від типу світильника, коефіцієнтів відбивання стін Рс, стелі Рп, робітничій поверхні і від розмірів приміщення. Показник приміщення fi визначається з виразу:

= А·В/Нр·(А+В),


де А і В - довжина і ширина освітленого приміщення, м;

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

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

=Emin·S·K·z/F·n1·n


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

Нехай зал має розміри А=8м, В=5м, h=3м, стеля обладнується світильниками Л201Б з люмінесцентними лампами ЛБ80.

Рівень робітничої поверхні над полом 0,8 м, при цьому Нр=2,2 м.

Показник приміщення рівний:=40/2,2 (8+5)=1,3986

По довіднику визначаємо значення коефіцієнта n1 (для значень Рс=0,5, Рп=0,3): n1=0,7. Значення коефіцієнта нерівномірного освітлення приймаємо рівним 1,1, а коефіцієнта запасу - 1,5. При загальному типі освітлення значення Emin=400 лк. Знаючи значення світлового потоку кожної лампи, можемо визначити необхідну кількість світильників:=400·8·5·1,5·1,1/5220·0,7·2=3(штук)

Загальна потужність освітлювальної установки рівна:

Р=2·80·3=480(Вт)

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


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


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

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

Причини пожежі :

паління за робочим місцем;

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

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

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

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

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

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

В кожній кімнаті знаходяться вогнегасники. Вогнегасники діляться на хімічні, пінні, повітряно-пінні, СО2 - вогнегасники і порошкові.

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

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

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

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

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

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

ВИСНОВКИ


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

·покращити ефективність роботи;

·підвищити оперативність обробки інформації;

·зменшити обсяг паперових носіїв;

·підвищити оперативність та точність роботи.

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

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

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

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

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

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

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

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

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

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

.Грибачев К. Г. 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.

18.Озеров В. 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] <mailto:[email protected]> - адрес автора

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

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

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

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

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



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

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

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

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

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

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