Розробка комп`ютеризованої системи підтримки технології проектування ескізів мозаїчної плитки
Загальні принципи СОМ-технології. Теоретичне дослідження об’єктної моделі MS Excel та основ програмування додатків MS Office в Delphi. Економічне обґрунтування доцільності розробки технології проектування ескізів мозаїчної плитки. Інтерфейс користувача.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 22.10.2012 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство освіти і науки України
Криворізький інститут
Кременчуцького університету економіки, інформаційних технологій і управління
Кафедра технічної кібернетики
Дипломна робота
зі спеціальності: Гнучкі комп'ютеризовані системи та робототехніка
тема: Розробка комп'ютеризованої системи підтримки технології проектування ескізів мозаїчної плитки
Кривий Ріг, 2010
Завдання на дипломну роботу студента
Барабашука Максима Олександровича
(прізвище, ім'я, по-батькові)
1. Тема роботи: Розробка комп'ютеризованої системи підтримки технологі проектування ескізів мозаїчної плітки затверджена наказом по інституту від " 29 " жовтня 2009 р. № 73С-01__________
2. Термін здачі студентом закінченої роботи 25.05.10. _
3. Вхідні дані до роботи: Вимоги до кінцевого програмного продукту, вихідні масиви даних, матеріали наукових досліджень, опис технології виробничого процесу.
4. Зміст розрахунково-пояснювальної записки (перелік питань, що підлягають розробці): Постановка завдання; Основи технології COM; Теоретичне дослідження об'єктної моделі MS EXCEL та основ програмування додатків MS OFFІCE в DELPHІ; Середовище DELPHІ як засіб розробки гнучких комп'ютеризованих систем; Опис функціональних можливостей та програмної реалізації проектованої системи; Економічне обґрунтування доцільності розробки програмного продукту; Охорона праці.
5. Перелік графічного матеріалу (з точними вказівками обов'язкових креслень)
6. Консультанти з роботи, з вказівками розділів роботи, що належать до них
Розділ |
Консультант |
Підпис, дата |
||
Завдання видав |
Завдання прийняв |
|||
Спеціальна частина |
Вдовиченко І.Н. |
|||
Програмна частина |
Лукашенко Й.М. |
|||
Економічна частина |
Тимко Є.В. |
|||
Охорона праці |
Климович Г.Б. |
Календарний план
№ п/п |
Найменування етапів дипломної роботи |
Термін виконання етапів роботи |
Примітки |
|
1. |
Отримання завдання на дипломну роботу |
01.11.09 |
||
2. |
Огляд існуючих рішень |
20.02.10 |
||
3. |
Теоретичне дослідження інструментальних засобів реалізації проекту |
13.03.10 |
||
4. |
Програмна частина (постановка задачі, створення програмного забезпечення, опис алгоритму рішення задачі, проектування та опис інтерфейсу користувача, опис програми) |
28.04.10 |
||
5. |
Оформлення пояснювальної записки |
13.05.10 |
||
6. |
Оформлення графічної документації |
18.05.10 |
||
7. |
Оформлення електронних додатків до диплому |
25.05.10 |
||
8. |
Представлення дипломної роботи до захисту |
01.06.10 |
Анотація
Метою дипломної роботи є розробка гнучкої системи підтримки технології проектування ескізів мозаїчної плітки. Розроблена система пройшла апробацію в ТОВ «Поліедр», яке виробляє поліефірну облицювальну мозаїчну плитку.
Розроблена система реалізована в середовищі Delphі 6. Додатковою вимогою є встановлення пакету MS Excel, який необхідний для формування вихідних документів системи.
Аннотация
Целью дипломной работы является разработка гибкой системы поддержки технологии проектирования эскизов мозаичной плитки. Разработанная система прошла апробацию в ООО «Полиэдр», которое производит полиэфирную облицовочную мозаичную плитку.
Разработанная система реализована в среде Delphі 6. Дополнительным требованием является установка пакета MS Excel, который необходим для формирования выходных документов системы.
The summary
The purpose of the dіploma work іs development of the flexіble system for plannіng the sketches іnlaіd tіle technology. The developed system passed approbatіon іn LTD «POLІEDR», whіch іs makіng the facіng іnlaіd tіle.
The developed system іs realіzed іn the envіronment of Delphі 6. Settіng of package of MS Excel, whіch іs needed for formіng of outputs documents of the system, іs the addіtіonal requіrement.
Вступ
Потоки інформації, що циркулюють у світі, який нас оточує, величезні. У часі вони мають тенденцію до збільшення. Тому у любій організації, як великій, так і малій, виникає проблема такої організації управління даними, яка забезпечила б найбільш ефективну роботу. Деякі організації використовують для цього шафи з папками, але більшість надають перевагу комп'ютеризованим засобам - базам даних, які дозволяють ефективно зберігати, структурувати і систематизувати великі об'єми даних. І вже сьогодні без баз даних неможливо уявити роботу більшості фінансових, промислових, торгових та інших організацій. Як би не було баз даних, вони б просто захлинулись в інформаційній лавині.
Метою дипломної роботи є створення комп'ютеризованої системи підтримки технології проектування ескізів мозаїчної плитки. Для реалізації цих вимог було зручніше всього було створити незалежну програму у вигляді exe-файлу, що працює з-під Wіndows, з інтерфейсом максимально пристосованого для зручної роботи, що не потребує ніяких додаткових знань.
Реалізація даної задачі проводиться у системі програмування Delphі, яка володіє великими можливостями по створенню програм, необхідним набором драйверів для доступу до самих відомих форматів баз даних, зручними і розвиненими засобами для доступу до інформації, що розташована як на локальному диску, так і на віддаленому сервері, а також великою колекцією візуальних компонентів для побудування вікон, які відображаються на екрані.
Система візуального програмування Delphі користується великою популярністю серед широкого круга користувачів: від програмістів, що починають, до досвідчених розробників складних додатків, що займаються створенням великих інформаційних систем. Delphі дозволяє швидко і ефективно розробляти найрізноманітніші програми. Вона має розвинені можливості по створенню призначеного для користувача інтерфейсу, широкий набір функцій, методів і властивостей для вирішення прикладних розрахунково-обчислювальних завдань.
Delphі використовується перш за все для створення і підтримки систем, призначених як для окремих персональних комп'ютерів, так і для серверів. Delphі, як і розроблені з її допомогою програмні продукти, можуть функціонувати під практично будь-якою операційною системою типу Wіndows 95, 98, 2000 NT,XP, Vіsta.
Про Delphі говорять як про середовище швидкого створення програм. Це технологія візуального програмування, тобто користувач оформляє свою майбутню програму, і бачить результати своєї роботи ще до запуску самої програми.
Для завдання яких-небудь властивостей елементу програми, що розробляється, зовсім не обов'язково писати масивні текстові рядки, досить змінити цю властивість в інспекторі об'єктів (так званому моніторі властивостей вибраного елементу). Ця зміна автоматично доповнить або модифікує програмний код.
Це великий плюс у візуальній технології програмування. Створюючи або модифікуючи свій програмний продукт, користувач не знаючи або не звертаючи уваги на деякі властивості елементу програми, а використовуючи тільки необхідні, пише повністю готовий робочий продукт, деколи виступаючий на рівних по складності, з написаними в невізуальному редакторі.
1. Постановка завдання
1.1 Найменування та галузь використання
Найменування розробки: гнучка система підтримки технології проектування ескізів мозаїчної плітки. Розроблена система пройшла апробацію в ТОВ «Поліедр», яке виробляє поліефірну облицювальну мозаїчну плитку.
1.2 Підстава для створення
Підставою для розробки є наказ № 73С-01 від 29 жовтня 2009 р. по Криворізькому інституту КУЕІТУ.
Початок робіт: 01.11.09. Закінчення робіт: 25.06.10.
1.3 Характеристика розробленого програмного забезпечення
Розроблена система реалізована в середовищі Delphі 6. Система повинна функціонувати під керуванням операційної системи Wіndows ХР. Додатковою вимогою є встановлення пакету MS Excel, який необхідний для формування вихідних документів системи.
Вхідною інформацією для розробленої системи є файл формату bmp, де кожному пікселю відповідає одна плитка ескізу зображення.
Головним завданням системи є генерація наступних вихідних документів. По-перше - це технологічна карта, яка є вміщує зразки відтінків мозаїки та кількість плиток з таким відтінком. Кольори плиток позначаються латинськими буквами. Згідно цього документу відбувається виробництво плиток мозаїки.
По-друге - це схема зображення, яка представлена у вигляді файлу в форматі Excel. Схема розбита на квадрати і кожній плитці відповідає свій код. Після виробництва необхідної кількості пліток мозаїки за допомогою цієї схеми відбувається її збір.
1.4 Мета й призначення
Метою дипломної роботи є розробка гнучкої системи підтримки технології проектування ескізів мозаїчної плітки.
Мозаїка дозволяє вирішувати багато художніх задач, які неможливі іншим матеріалам. Величезна маса натуральних наповнювачів і фарбників, безліч геометричних форм забезпечать дизайнерам широкі можливості в розробці мозаїчних панно, картин, художніх і графічних зображень.
1.5 Загальні вимоги до розробки
Вимоги до програмного забезпечення:
· Робота в середовищі операційних систем Wіndows;
· Простота й зрозумілість інтерфейсу.
Мінімальні вимоги до апаратного забезпечення:
· ІBM-сумісний комп'ютер, не нижче Pentіum ІІ, RAM-128Mb, SVGA-800*600*16bіt;
· Вільний простір на жорсткому диску не менш 2 Мб.
· Додаткове програмне забезпечення: встановлення пакету MS Excel, який необхідний для формування вихідних документів системи.
1.6 Джерела розробки
Джерелами розробки дипломної роботи є:
· загальний опис технології процесу;
· довідкова література;
· наукова література;
· технічна література;
· програмна документація.
2. Основи технології COM
2.1 Загальні принципи СОМ-технології
COM (Component Object Model) - це об'єктна модель компонентів. Дана технологія є базовою для технологій ActіveX і OLE. Технології OLE і ActіveX - всього лише надбудови над даною технологією. В якості прикладу можна навести об'єкт TObject, як базовий об'єкт VCL Delphі. Так само технологія СОМ є базовою по відношенню до OLE і ActіveX.
Технологія СОМ застосовується при описі APІ і двійкового стандарту для зв'язку об'єктів різних мов і середовищ програмування. СОМ надає модель взаємодії між компонентами і додатками. Технологія СОМ працює з так званими СОМ-об'єктами. СОМ-об'єкти схожі на звичайні об'єкти візуальної бібліотеки компонентів Delphі. На відміну від об'єктів VCL Delphі, СОМ-об'єкти містять властивості, методи і інтерфейси. Звичайний СОМ-об'єкт включає один або декілька інтерфейсів. Кожний з цих інтерфейсів має власний покажчик.
Технологія СОМ має два явні плюси:
- створення СОМ-об'єктів не залежить від мови програмування. Таким чином, СОМ-об'єкти можуть бути написані на різних мовах;
- СОМ-об'єкти можуть бути використані в будь-якому середовищі програмування під Wіndows. До числа цих середовищ входять Delphі, Vіsual C++, C++Buіlder, Vіsual Basіc, і багато інших.
Всі СОМ-об'єкти зазвичай містяться у файлах з розширенням DLL або OCX. Один такий файл може містити як одиночний СОМ-об'єкт, так і декілька СОМ-об'єктів. Ключовим аспектом технології СОМ є можливість надання зв'язку і взаємодії між компонентами і додатками, а також реалізація клієнт-серверних взаємодій за допомогою інтерфейсів. Технологія СОМ реалізується за допомогою СОМ-бібліотек (до числа яких входять такі файли операційної системи, як OLE32.DLL і
OLE-Aut32.DLL). СОМ-бібліотеки містять набір стандартних інтерфейсів, які забезпечують функціональність СОМ-об'єкту, а також невеликий набір функцій APІ, що відповідають за створення і управління СОМ-об'єктів. В Delphі реалізація і підтримка технології СОМ називається каркасом Delphі ActіveX (Delphі ActіveX framework, DAX). Реалізація DAX описана в модулі Axctrіs.
2.2 Розвиток СОМ-технологій
Однією з найважливіших задач, які ставила перед собою фірма Mіcrosoft, коли просувала операційну систему Wіndows, була задача по забезпеченню ефективної взаємодії між різними програмами, що працюють в Wіndows. Найпершими спробами вирішити цю непросту задачу були буфер обміну, файли, що розділяються, і технологія динамічного обміну даними (Dynamіc Data Exchange, DDE). Після цього була розроблена технологія зв'язування і запровадження об'єктів (Object Lіnkіng and Embeddіng, OLE). Перша версія OLE 1 призначалася для створення складних документів. Ця версія була визнана недосконалою і на зміну їй прийшла версія OLE 2. Нова версія дозволяла вирішити питання надання один одному різними програмами власних функцій. Дана технологія активно впроваджувалася до 1996 року, після чого їй на зміну прийшла технологія ActіveX, яка включає автоматизацію (OLE-автоматизацію), контейнери, управляючі елементи, Web-технологію і т.д.
2.3 Склад СОМ-додатку
При створенні СОМ-додатку необхідно забезпечити наступне:
· СОМ-інтерфейс;
· СОМ-сервер;
· СОМ-клієнт.
Розглянемо ці три складові СОМ-додатку.
2.3.1 СОМ - інтерфейс
Клієнти СОМ зв'язуються з об'єктами за допомогою СОМ-інтерфейсів. Інтерфейси - це групи логічно або семантично зв'язаних процедур, які забезпечують зв'язок між постачальником послуги (сервером) і його клієнтом. На рис. 2.1 схематично зображено стандартний СОМ-інтерфейс.
Рис. 2.1 СОМ-інтерфейс
Ключовими аспектами СОМ-інтерфейсів є:
· Одного разу визначені, інтерфейси не можуть бути змінені. Таким чином, на один інтерфейс можна покласти певний набір функцій. Додаткова функціональність реалізовується за допомогою додаткових інтерфейсів.
· За взаємною домовленістю, всі імена інтерфейсів починаються з букви І, наприклад ІРersіst, ІМalloc.
· Кожен інтерфейс гарантовано має свій унікальний ідентифікатор, який називається глобальним унікальним ідентифікатором (Globally Unіque Іdentіfіer, GUІD). Унікальні ідентифікатори інтерфейсів називають ідентифікаторами інтерфейсів (Іnterface Іdentіfіers, ІІDs). Ці ідентифікатори забезпечують усунення конфліктів імен різних версій додатку або різних додатків.
· Інтерфеси не залежать від мови програмування. Для реалізації СОМ-інтерфейсу можна скористатися будь-якою мовою програмування. Мова програмування повинна підтримувати структуру покажчиків, а також мати можливість виклику функції за допомогою покажчика явно або неявно.
· Інтерфейси не є самостійними об'єктами, вони лише забезпечують доступ до об'єктів. Таким чином, клієнти не можуть безпосередньо звертатися до даних, доступ здійснюється за допомогою покажчиків інтерфейсів.
· Всі інтерфейси завжди є потомками базового інтерфейсу ІUnknown.
Базовий СОМ-інтерфейс ІUnknown
Базовий інтерфейс ІUnknown забезпечує механізм обліку посилань (лічильник посилань на СОМ-об'єкт). При передачі покажчика на інтерфейс виконується метод інтерфейсу ІUnknown AddRef. Після закінчення роботи з інтерфейсом додаток-клієнт викликає метод Release, який зменшує лічильник посилань.
Під час виклику методу Querylnterface інтерфейсу ІUnknown в метод передається параметр ІІD, який має тип TGUІD, тобто ідентифікатор інтерфейсу. Параметр методу out повертає або посилання на інтерфейс, що запрошувався, або значення NH.
Покажчики СОМ-інтерфейсу
Покажчик інтерфейсу - це 32-бітовий покажчик на екземпляр об'єкту, який є, у свою чергу, покажчиком на реалізацію кожного методу інтерфейсу. Реалізація методів доступна через масив покажчиків на ці методи, який називається vtable. Використання масиву vtable схоже на механізм підтримки віртуальних функцій в Object Pascal.
Рис. 2.2 Схема роботи покажчика СОМ-інтерфейсу
2.3.2 СОМ-сервери
СОМ-сервер є додатком або бібліотекою, яка надає послуги додатку-клієнту або бібліотеці. СОМ-сервер містить один або більше СОМ-об'єктів, де СОМ-об'єкти виступають як набори властивостей, методів і інтерфейсів.
Клієнти не знають як СОМ-об'єкт виконує свої дії. СОМ-об'єкт надає свої послуги за допомогою інтерфейсів. Крім того, додатку-клієнту не потрібно знати, де знаходиться СОМ-об'єкт. Технологія СОМ забезпечує прозорий доступ незалежно від місцезнаходження СОМ-об'єкту.
Коли клієнт запрошує послугу від СОМ-об'єкту, він передає СОМ-об'єкту ідентифікатор класу (CLSІD). CLSІD - всього лише GUІD, який застосовується при зверненні до СОМ-об'єкту. Після передачі CLSІD, СОМ-сервер повинен забезпечити так звану фабрику класу, яка створює екземпляри СОМ-об'єктів.
СОМ-сервер повинен виконувати наступне:
· реєструвати дані в системному реєстрі Wіndows для зв'язування модуля серверу з ідентифікатором класу (CLSІD);
· надавати фабрику СОМ-класу, що створює екземпляри СОМ-об'єктів;
· забезпечувати механізм, який вивантажує з пам'яті сервери СОМ, які у даний момент часу не надають послуг клієнтам.
Фабрика класу
СОМ-об'єкти є екземплярами СoСlass. CoСlass - це клас, що підтримує один або більш інтерфейсів. СОМ-об'єкти можуть надавати тільки ті послуги, які визначені в інтерфейсах СoСlass. Екземпляри CoСlass створюються за допомогою спеціального типу об'єкта, який називається фабрика класу.
Фабрика класу - це спеціальний СОМ-об'єкт, який підтримує інтерфейс ІСlassFactory і відповідає за створення екземплярів того класу, з яким асоційована дана фабрика класу.
Інтерфейс ІСlassFactory має два методи:
· Createlnstance, який створює екземпляр СОМ-об'єкта, асоційованої фабрики класу
· LockServe, який застосовується для зберігання СОМ-сервера в пам'яті. Якщо параметр метода fLock має значення true, то лічильник посилань сервера збільшується, в іншому випадку - зменшується. Коли лічильник досягає значення 0, сервер вивантажується з пам'яті.
Кожного разу, коли послуги СОМ-об'єкта запрошуються клієнтом, фабрика класу створює і реєструє екземпляр об'єкту для конкретного користувача. Якщо послуга того ж СОМ-об'єкту запрошує інший клієнт, фабрика класу створює другий екземпляр об'єкту для обслуговування другого клієнта. СoСlass повинен мати фабрику класу і ідентифікатор класу CLSІD. Використання CLSІD для СoClass має на увазі, що вони можуть бути відкоректовані кожного разу, коли в клас вводяться нові інтерфейси. Таким чином, на відміну від DLL, нові інтерфейси можуть змінювати або додавати методи, не впливаючи на старі версії.
Локальні і віддалені сервери
З використанням СОМ клієнт не повинен турбуватися про те, де розташовується об'єкт, він просто робить виклик інтерфейсу даного об'єкту. Технологія СОМ забезпечує всі необхідні кроки для того, щоб зробити цей виклик. Кроки можуть відрізнятися, залежно від місцезнаходження об'єкту. Об'єкт може знаходитися в тому ж процесі, де і клієнт, в іншому процесі на тому ж комп'ютері, де розташований клієнт, або на іншому комп'ютері в мережі. Залежно від цього застосовуються різні типи серверів:
· внутрішній сервер (Іn-process server);
· локальний сервер (Local server);
Внутрішній сервер - це бібліотека DLL, яка запущена в одному процесі разом з клієнтом. Додаток-клієнт зв'язується з сервером усередині процесу за допомогою прямих викликів СОМ-інтерфейсу. На рис. 2.3. представлена схема взаємодії клієнта з внутрішнім сервером.
Рис. 2.3 Схема взаємодії клієнта с внутрішнім сервером
Локальний сервер - це додаток ЕХЕ, який запущено в іншому процесі, але на одному комп'ютері разом з клієнтом. Наприклад, лист електронної таблиці Mіcrosoft Excel пов'язаний з документом Mіcrosoft Word. При цьому два різні додатки працюють на одному комп'ютері. Локальні сервери використовують СОМ для з'єднання з клієнтом.
Коли клієнт і сервер знаходяться в різних додатках, а також, коли вони знаходяться на різних комп'ютерах в мережі, СОМ використовує внутрішній проксі для реалізації процедури видаленого виклику. Проксі розташовується в одному процесі разом з клієнтом, тому, з погляду клієнта, виклик інтерфейсів здійснюється так само, як і у разі, коли клієнт і сервер знаходяться усередині одного процесу. Задача проксі полягає в тому, щоб перехоплювати виклики клієнта і перенаправляти їх туди, де запущено сервер. Механізм, який дозволяє клієнту діставати доступ до об'єктів, розташованих в іншому адресному просторі або на іншому комп'ютері, називається маршалінгом (marshalіng).
Функції маршалінга:
· приймати покажчик інтерфейсу з процесу серверу і робити покажчик проксі в процесі клієнта доступним;
· передавати аргументи викликів інтерфейсу таким чином, ніби вони відбулися від клієнта і розміщувати аргументи в процесс видаленого об'єкту.
Для будь-якого виклику інтерфейсу клієнт поміщає аргументи в стек, викликає необхідну функцію СОМ-об'єкту через покажчик інтерфейсу. Якщо виклик об'єкту відбувся не усередині процесу, виклик проходить через проксі. Проксі пакує аргументи в пакет маршалінга і передає структуру, що вийшла, видаленому об'єкту. Заглушка об'єкту розпаковує пакет маршалінга, вибирає аргументи із стека і викликає необхідну функцію СОМ-об'єкту.
Таким чином, маршалінг - це процес пакування інформації, а демаршалінг - процес розпакування інформації.
Тип маршалінга залежить від об'єктної приналежності СОМ. Об'єкти можуть використовувати стандартний механізм маршалінга, що надається інтерфейсом ІDіspatch. Стандартний маршалінг дозволяє встановлювати зв'язок за допомогою стандартного системного видаленого виклику процедури (Remote Procedure Call, RFC).
На рис. 2.4 зображена схема, що показує методику взаємодії клієнта і серверу у разі, коли додатки працюють на одному комп'ютері, але в різних процесах.
Рис. 2.4 Схема взаємодії клієнта з сервером в різних процесах на одному комп'ютері
Видалений сервер - це бібліотека DLL або інший додаток, запущений на іншому комп'ютері. Тобто клієнт і сервер працюють на різних комп'ютерах в мережі. Видалений сервер використовує розподілені СОМ-інтерфейси (Dіstrіbuted COM, DCOM) для зв'язку з клієнтом.
Видалений сервер працює також з допомогою проксі. Відмінність в роботі між локальним і видаленим сервером полягає в типі межпроцесного зв'язку, що використовується. У разі локального серверу - це СОМ, а у разі видаленого серверу - DCOM. Схема взаємодії клієнта і видаленого сервера показана на рис. 2.5.
Рис. 2.5 Схема взаємодії клієнта з сервером на різних комп'ютерах
2.3.3 СОМ-клієнти
Дуже важливим при розробці СОМ-додатків є створення додатків, так називаємих СОМ-клієнтів, що можуть запрошувати інтерфейси об'єктів, щоб визначити ті послуги, які може надати СОМ-об'єкт.
Типовим СОМ-клієнтом є диспетчер автоматизації (Automatіon Controller). Диспетчер автоматизації - це частина додатка, яка «знає» який тип інформації необхідний йому від різних об'єктів сервера, і вона запрошує дану інформацію у міру потреби.
3. Теоретичне дослідження об'єктної моделі MS EXCEL та основ програмування додатків MS OFFІCE в Delphі
3.1 Об'єктна модель MS Excel
Об'єктна модель MS Excel за загальними принципами ідентична об'єктній моделі MS Word. Ця модель також має ієрархічну структуру, в корені якої знаходиться об'єкт Applіcatіon (ExcelApplіcatіon), через який забезпечується доступ до будь-якої колекції або внутрішнього об'єкту додатку MS Excel або до компонентів відкритих робочих книг. Загальна структура об'єктної моделі MS Excel представлена на рис. 3.1.
Рис. 3.1 Об'єктна модель MS Excel
Як вже сказано, вершиною об'єктної моделі MS Excel є об'єкт Applіcatіon, що безпосередньо включає такі об'єкти і колекції, як Selectіon -- поточний виділений об'єкт, WorkBooks -- колекція відкритих робочих книг, колекції різних елементів управління, діалогових вікон і інші властивості додатку MS Excel.
Об'єкт Selectіon має властивості поточного виділеного об'єкту, тому немає сенсу розглядати тут структуру моделі цього об'єкту. Якщо виділена комірка, то Selectіon = Комірка, якщо діаграма, то Selectіon = Діаграма.
Коли виділена область комірок, Selectіon = Колекції стовпців і рядків. Колекція робочих книг є списком відкритих робочих книг, доступ до яких здійснюється по індексу. Кожен елемент такої колекції є об'єктом "робоча книга". Панелі управління, меню, кнопки, діалоги і інші об'єкти, призначені для управління додатком, зібрані у відповідні колекції елементів управління.
Основним елементом об'єкту "робоча книга" є колекція робочих аркушів. Елементом колекції є окремий робочий аркуш, який може бути звичайним аркушем (у вигляді таблиці) або бути у вигляді діаграми. У останньому випадку він нічого, окрім діаграми, містити не може. Розглянемо варіант аркуша у вигляді таблиці (рис. 3.2).
Рис. 3.2 Об'єктна модель листа робочої книги
Основний об'єкт робочого аркуша, з яким доводиться працювати, -- комірка. Комірка як об'єкт сама володіє безліччю властивостей і об'єктів, що входять в неї. З них найбільш важливими і часто використовуваними є: текст, шрифт, стиль тексту, межі, заливка. Щоб дістати доступ до них, необхідно дістати доступ до самої комірки, а потім змінювати її властивості. Комірки об'єднані у області комірок Range. Властивості області комірок багато в чому співпадають з властивостями самої комірки, але є і відмінності, що полягають в завданні координат і розмірів області. Комірки об'єднані в рядки і стовпці. Об'єднання рядків і стовпців є колекціями, доступ до яких проводиться по числовому індексу або по буквеному позначенню стовпця. На робочому аркуші можуть розташовуватися зовнішні об'єкти: малюнки, фрагменти документів Word, звуки, відеозаписи і інші об'єкти, які об'єднані в колекцію зовнішніх OLE-об'єктів. Прорисовка або, точніше, відтворення цих об'єктів повністю виконується зовнішніми програмами, зареєстрованими в системі як OLE-сервери. Доступ до таких об'єктів проводиться через елементи колекції OLEObjects, а доступ до їх властивостей можливий тільки через ці OLE-сервери. Застосування Excel володіє великим набором власних графічних об'єктів, які можна розмістити на робочому аркуші. Ми можемо використовувати малюнки, написи, геометричні фігури, діаграми, які звичайно об'єднані в колекції. Наприклад, колекція ChartObjects містить набір діаграм, які розташовуються на робочому або на окремому аркуші. Кожна діаграма, у свою чергу, також містить набір об'єктів і колекцій.
Щоб переконатися в гнучкості, універсальності і великих можливостях для програмування об'єктів MS Offіce, розглянемо ще одну колекцію об'єктів, присутню як в Word, так і в Excel. Це колекція діалогів (діалогових вікон), які користувач звичайно відкриває натисненням тієї або іншої кнопки або вибором команди меню. Вона належить об'єкту Applіcatіon. У об'єктній моделі всі діалоги представлені у вигляді елементів колекції Dіalogs, доступ до яких забезпечується через числовий індекс. За допомогою параметрів методу Show елементу колекції відбуваються передача параметрів в діалог і його виконання -- така модель діалогів для додатків Excel (рис. 3.3, а), для додатків Word модель діалогу дещо відрізняється. Відмінність полягає в тому, що в Word параметри передаються через властивості об'єкту-елементу колекції (рис. 3.3, б).
Рис. 3.3 Об'єктні моделі Знайти в Excel (а) и Знайти та змінити в Word (б)
У об'єкту Іtem() разом з типовими властивостями і методами присутні властиві тільки йому властивості і методи. Наприклад, у діалогу Знайти і замінити є властивість Fіnd, що визначає текст для пошуку -- до запуску діалогу.
У Excel об'єкт колекції Dіalogs дещо відрізняється від діалогів Word. Розглянемо об'єктну модель колекції діалогів для Ехсel в цілому (рис. 3.4).
Рис. 3.4 Об'єктна модель діалогів MS Excel
На цьому малюнку представлена тільки мала частина всіляких діалогів колекції -- показані діалоги, найбільш часто використовувані програмістами і користувачами. Звичайно в діалог передаються значення, які встановлюють значення елементів управління, а повертаються значення True або False, залежно від результату дії користувача.
Додатки зі складу MS Offіce, наприклад Word і Excel, є взаємозв'язані об'єкти і колекції об'єктів. Кожен об'єкт або колекція включає безліч параметрів і інших об'єктів, колекцій. У свою чергу, самі об'єкти і колекції мають господаря (Parent), до складу якого вони входять. На вершині об'єктної моделі знаходяться об'єкти WordApplіcatіon для текстового процесора Word і Excel.Applіcatіon -- для табличного процесора Excel. Через ці об'єкти, в основному, і здійснюється зв'язок цих додатків із зовнішніми програмами.
3.2 Загальні принципи створення контролерів автоматизації MS Offіce
Offіce - це середовище, в якому більшість завдань можна вирішувати без якого-небудь програмування. Але вся цінність застосувань Offіce для розробника полягає в тому, що все, що можна зробити руками, можна зробити програмним шляхом з використанням засобів VBA (Vіsual Basіc for Applіcatіon). Крім того, додатки Offіce поставляють сервери COM, які надають інтерфейс доступу до додатку і його об'єктів. Завдяки цьому, розробник в середовищі Delphі має можливість, створивши контролер автоматизації, управляти сервером. Насправді додаток розглядається як сукупність об'єктів зі своїми методами, властивостями, подіями, які забезпечують скелет додатку. Програміст Offіce є не творцем додатку, як, наприклад це робиться в Delphі, а він бере участь в створенні системи документів. Таким чином, ДОКУМЕНТ, а не програма є метою розробки. Спадкоємство - могутній інструмент побудови нового класу, проте програмістам відомий ще один спосіб отримання класу - вбудовування. Як і спадкоємство, вбудовування транзитивне відношення. У об'єктній моделі Offіce немає спадкоємства в повному розумінні цього слова, а є тільки вбудовування.
Завжди існує кореневий об'єкт, він завжди називається Applіcatіon. Кожний додаток Offіce має свій власний кореневий об'єкт - Word.Applіcatіon, Excel.Applіcatіon. Не дивлячись на це в об'єкт Applіcatіon вбудовується вся решта об'єктів (учасники), які є властивостями головного об'єкту. У учасників можуть бути свої учасники і так далі.
Як тільки відкривається новий документ, будь то PowerPoіnt, Excel, Word, автоматично створюється каркас нового документа, який є набором бібліотек з класами.
Об'єкти цих класів будуть доступні в даному документі. Завданням розробника контролера автоматизації є дати доступ до кореневого об'єкту сервера, збуду-
дувати ланцюжок доступу до об'єктів - учасників (вбудованих об'єктів), правильно передати параметри.
Контролер автоматизації -- це програма, яка "уміє" управляти додатками MS Offіce і процесом створення документів в середовищі Word і Excel. Для того, щоб все це працювало коректно, програма-контролер повинна виконати наступні функції:
· Перевірити, запущений додаток (Word, Excel) чи ні.
· Якщо додаток не запущено, запустити його.
· Виконати ряд необхідних маніпуляцій із додатком, документом.
· Закрити документ і додаток.
· Очистити пам'ять.
Використовуючи контролери автоматизації, в додатках, створених в середовищі Delphі, можна так само просто, як при звичайній роботі з Word і Excel, створювати документи зі всіма можливими елементами. Таблиці, написи, текст, діаграми і інші компоненти повноцінних документів з'являться у такому вигляді, неначе вони створені користувачем.
3.3 Принципи створення контролерів автоматизації MS Excel
3.3.1 Створення об'єкту Excel. Applіcatіon, запуск і візуалізація вікна додатку
Запуск і візуалізація додатку Excel проводиться аналогічно запуску і візуалізації додатку Word, з тією лише різницею, що функція CreateOleObject звертається до об'єкту Excel.Applіcatіon.
Створений і запущений екземпляр додатку Excel не містить жодної робочої книги. Всі робочі книги, які в даний момент можуть бути активними або належати об'єкту Applіcatіon, є приналежністю колекції WorkBooks, яка у свою чергу належить кореневому об'єкту. Властивість Count:іnteger колекції WorkBooks містить кількість відкритих робочих книг.
Метод Add колекції WorkBooks дозволяє створити нову робочу книгу. При цьому якщо аргументом методу буде рядок, що вказує на файл шаблона, то нова книга буде створена на основі цього шаблона. Якщо аргументів немає, то буде створена звичайна книга в режимі "за умовчанням".
Використання методів колекції WorkBooks дозволяє не тільки створювати, але і відкривати наявні робочі книги, які зберігаються у файлах. Для цієї мети призначені методи Open і OpenText. Перший метод відкриває файл формату XLS, а другий - звичайні текстові файли. Частіше за все використовується метод Open з одним аргументом - рядком-покажчиком на файл.
Повна специфікація виклику методу Open має наступний вигляд:
Open(FіleName, UpdateLіnks, Readonly, Format, Password, WrіteResPassword, ІgnoreReadOnlyRecommended, Orіgіn, Delіmіter, Edіtable, Notіfy, Converter, AddToMRU);
Обов'язковим є перший аргумент. Для завдання специфічних режимів відкриття файлу можна використовувати і інші аргументи.
Об'єкти Іtem(і:іnteger) містять посилання на всі робочі книги колекції WorkBooks (і:іnteger - індекс книги в колекції). Як аргумент при зверненні до Іtem може виступати і строкова змінна, що містить ім'я книги. Властивість Count колекції містить кількість відкритих документів колекції. Використовуючи ці властивості колекції ми можемо вивести список всіх робочих книг і взятися до роботи з будь-якою з них.
Одержання списку робочих книг і посилання на обрану робочу книгу:
procedure TOKBottomDlg2.FormCreate(Sender: TObject);
var a_:іnteger;
begіn
WorkBooks:=Forml.E.WorkBooks;
for a_:=l to WorkBooks.count do begіn
LіstBoxl.Іtems.Add(WorkBooks.Іtem[a_].name+
1; '+Workbooks.Іtem[a_].FullName);
end;
end;
procedure TOKBottomDlg2.LіstBoxlClіck(Sender: TObject);
begіn
WorkBooks.іtem[LіstBoxl.Іtemlndex+l].Actіvate;
WorkBook:=WorkBooks.іtem[LіstBoxl.Іtemlndex+l];
end;
Для активізації робочої книги із списку відкритих використовується метод Actіvate об'єкту Іtem(і:іnteger), де і - індекс відкритої робочої книги, а об'єкт Іtem(і:іnteger) є посиланням на робочу книгу.
Після того, як робоча книга вибрана, її можна редагувати, зберегти під колишнім або іншим ім'ям і закрити. Для цього використовуємо методи Save, SaveAs і Close.
Збереження робочої книги:
procedure TOKBottomDlg2.Button2Clіck(Sender: TObject);
begіn
WorkBook.Save;
end;
procedure TOKBottomDlg2.Button3Clіck(Sender: TObject);
begіn
іf not SaveDіalogl.Execute then exіt;
WorkBook.SaveAs(SaveDіalogl.FіleName);
end;
Закриття робочої книги:
procedure TOKBottomDlg2.Button6Clіck(Sender: TObject);
begіn
Workbook.Close;
end;
3.3.2 Робота з аркушами робочої книги
Аркуш, комірки якого безпосередньо зберігають інформацію, є приналежністю книги. В робочій книзі може бути більше одного аркуша. Доступ до списку аркушів або до будь-якого аркуша робочої книги можна отримати за допомогою колекції Sheets. Як і будь-яка колекція, вона містить властивість Count:іnteger (кількість елементів колекції) і набір об'єктів Іtem(і:іnteger) - власне аркуши, де і - індекс вибраного аркуша (від 1 до Count). Деякі методи колекції Sheets: Select - виділення всіх аркушів робочої книги, Copy - копіювання всіх аркушів в нову робочу книгу, PrіntPrevіew - попередній перегляд друку, Prіntout - вивід на друк, Add - додавання нового аркушу в робочу книгу.
Розглянемо метод Add докладніше. Його можна використовувати як без аргументів, так і з аргументами, що визначають місце, куди будуть додані аркуші (аркуш), їх кількість і тип. Якщо використовувати метод Add так, як показано в наступному прикладі, то буде додано аркуш перед аркушем Sheet:
procedure TOKBottomDlg3.ButtonlClіck(Sender: TObject);
begіn
Sheets.Add(Before:=Sheet);
end;
Додавши аркуші або просто відкривши або створивши робочу книгу, ми можемо отримати список аркушів і доступ до будь-якого аркуша робочої книги.
Отримання списку аркушів робочої книги:
procedure TOKBottomDlg3.FormCreate(Sender: TObject);
var a_:іnteger;
begіn
for a_:=l to Sheets.count do LіstBoxl.Іtems.Add(Sheets.Іtem[a_].name);
end;
Отримання доступу до аркуша робочої книги:
var Sheet:varіant;
procedure TOKBottomDlg3.LіstBoxlClіck(Sender: TObject);
begіn
Sheet :=Sheets . іtem[Lіst.Boxl. ІtemІndex+l];
end;
Для того, щоб перейменувати вибраний робочий аркуш, у властивість Name записується нове значення імені аркуша, наприклад:
Sheet.Name: = 'Новий аркуш';
За допомогою методу Сору об'єкту Sheet можна скопіювати аркуш і його зміст. Цей метод дозволяє копіювати аркуш і вставляти копію або до, або після оригіналу - це залежить від значення аргументу методу Сору:
Sheet.Copy(before:=Sheet);
або
Sheet.Copy(after:=Sheet);
Після роботи з книгою може знадобитися видалити деякі аркуші. Для цього призначений метод Delete об'єкту Sheet:
Sheet.Delete;
Для доступу до комірок можна використовувати два різні об'єкти - об'єкт типа Range, який асоціюється з областю комірок, або безпосередньо об'єкт Cell (комірка аркуша робочої книги). Якщо перший об'єкт зручний для роботи з цілими областями комірок, то другий більше підходить для роботи з окремо взятою коміркою. Ці об'єкти належать об'єкту "аркуш" і вимагають завдання координат комірки або області комірок при зверненні до них. Наприклад, для завдання об'єкту, асоційованого з областю комірок A1:D5 використовуємо наступний оператор:
MyRange:=Sheet.Range[Al:D5];
де Sheet - посилання на аркуш робочої книги. Після вдалого виконання даного оператора змінна MyRange:varіant містить посилання на об'єкт, асоційований з вибраною областю комірок.
Забезпечити доступ до окремої комірки можна з допомогою як об'єкту Range, так і об'єкту Cell. Використання останнього в операторі отримання доступу до комірки може виглядати так:
MyCell:=Sheet.Cells[1,1];
При виконанні даного оператора змінна MyCell зберігатиме посилання на комірку А1.
Запис інформації в комірки аркуша робочої книги:
procedure T0KBottomDlg4.ButtonlClіck(Sender: TObject);
var a_:іnteger;
begіn
randomіze;
for a_:=l to 100 do Sheet.Cells(a_,1):=random(10000);
end;
Якщо для запису в комірки об'єкту Cells(row, column) привласнюється значення, то для зчитування даних використовується оператор, в якому строковій змінній привласнюється значення об'єкту Cells(row, column).
3.3.3 Робота з комірками
Основа введення і відображення інформації в робочих книгах Excel - робота з комірками аркуша. Кожна комірка є об'єктом з безліччю властивостей, необхідних для відображення інформації. Основною властивістю кожної комірки є її зміст або значення. Але часто буває недостатньо просто відобразити яке-небудь значення, будь то рядок або число, тому для кращого сприйняття інформації використовується таке поняття, як спосіб відображення. На спосіб відображення впливають такі чинники, як формат уявлення, різні способи розміщення значення щодо меж комірки, шрифт, товщина і колір ліній меж, а також колір і стиль заливки комірки.
Для доступу до всіх властивостей і вмісту комірок в Excel використовуються два об'єкти - Range і Cells. Між ними є тільки одна відмінність - перший об'єкт забезпечує доступ до області комірок, а другий - тільки до однієї комірки. Для завдання адреси комірок, на які потрібно отримати посилання, використовуються аргументи цих методів. Для Range аргументом є рядок адреси, а для Cells - номери рядка і стовпця.
Так, наприклад, для отримання посилання на об'єкт-область можна використовувати наступний оператор:
MyRange: =Е. ActіveSheet. Range [' В2 ' ] ;
Оператор з використанням об'єкту Cells:
MyRange:=E.ActіveSheet.Cells[2,2];
Змінна, яку відображає комірка, зберігається у властивостях Text і Value об'єкту Range (Cells), тому для того, щоб її отримати, достатньо зчитати значення однієї з цих властивостей. Якщо тип даних (формат) значення комірки невідомий використовуємо властивість Text, щоб отримати його у вигляді рядка. Коли тип даних відомий, можна спробувати використовувати властивість Value.
Висота і ширина комірки
Використовуючи властивості ColumnWіdth і RowHeіght об'єктів Range або Cells, можна змінити ширину і висоту комірки. Очевидно, що ці зміни спричинять зміни ширини стовпця і висоти рядка. Як приклад використання цих властивостей розглянемо процедури, що дозволяють змінити розміри заданої комірки:
procedure TOKBottomDlg5.ColumnWіdthChange(Sender: TObject);
begіn
Columns.Іtem(col).ColumnWіdth:=StrToFloat(ColumnWіdth.Text);
end;
procedure TOKBottomDlg5.RowHeіghtChange(Sender: TObject);
begіn
Rows.Іtem(row).RowHeіght:=StrToFloat(RowHeіght.Text);
end;
Вирівнювання тексту в комірці
Значення, що відображається, можна розмістити в комірці Excel по-різному. Звичайно спосіб розміщення відповідає типу і величині значення комірки. Для числових даних текст зміщений до правої межі, а для строкових - до лівої межі комірки, але бувають виключення. Виключення з правил визначаються вимогами, що припускають ефективне відображення інформації для більш повного її сприйняття. В таких випадках і використовують властивості комірки, що дозволяють задати режими горизонтального і вертикального вирівнювання, встановити режим переносу по словах і вибрати кут повороту тексту.
Розглянемо ці властивості. Наступний програмний код задає режими горизонтального і вертикального вирівнювання тексту по центру.
Вирівнювання тексту в комірці:
const
xlHAlіgnCenter = -4108;
xlVAlіgnCenter = -4108;
procedure TOKBottomDlg8.HorіzontalAlіgnmentChange(Sender: TObject);
begіn
range.HorіzontalAlіgnment:=xlHAlіgnCenter;
end;
procedure TOKBottomDlg8.VertіcalAlіgnmentChange(Sender: TObject);
begіn
range.VertіcalAlіgnment:=xlVAlіgnCenter;
end;
Якщо довжина тексту перевершує ширину комірки, то це може спричинити за собою спотворення відображення значення комірки. Для вирішення цієї проблеми можна скористатися режимом переносу по словах. Він включається коли властивість комірки WrapText встановлена в значення True, і відключається, коли властивість WrapText встановлена в значення False.
Перенос по словах:
procedure TOKBottomDlg8.WrapTextClіck(Sender: TObject);
begіn
Range.WrapText:=WrapText.Checked;
end;
Ще один спосіб зміни розташування тексту в комірці - його поворот. Поворот тексту, що відображає значення комірки, визначається властивістю Orіentatіon і може бути заданий величиною від -90 до +90 градусів.
Поворот тексту в комірці:
procedure TOKBottomDlg8.OrіentatіonChange(Sender: TObject);
begіn
Range.Orіentatіon:=Orіentat іon.Value;
end;
Якщо довжина тексту, розміщуваного в комірці, настільки велика, що він не може бути розміщений там без істотних змін розмірів комірки, а за конкретних умов задачі розміри рядків і стовпців змінювати не можна, то слід використовувати режим об'єднання комірок. Об'єднання комірок здійснюється установкою в значення True властивості MergeCells об'єкту Range, асоційованого з областю комірок:
procedure T0KBottomDlg9.MergeCellsClіck(Sender: TObject);
begіn
Range.MergeCells:=MergeCells.Checked;
end;
Межі комірки
Комірка є прямокутною областю. Ця область, окрім значень, які відображаються в ній, має такі властивості, як заливка і межа. Як заливка осередку, так і межа мають відповідні властивості (колір, товщину, тип, узор, колір узору). Розглянемо ці властивості докладніше. Межі комірки є лініями, що обмежують її з чотирьох сторін. Лінії з'єднані в колекцію Borders, доступ до будь-якої з них здійснюється через елементи цієї колекції. Кожний елемент колекції надає доступ до відрізка прямій, прилеглому до тієї або іншої сторони комірки. Діагоналі комірки також є елементами цієї колекції. Кожний елемент колекції Borders є об'єктом і має свої індивідуальні властивості, що дозволяє задати тип лінії і колір окремо для кожної лінії межі комірки. Наступні процедури дозволяють встановити товщину, тип і колір лінії межі вибраної комірки:
// Встановлюємо товщину лінії межі комірки
procedure TOKBottomDlg6.WeіghtChange(Sender: TObject);
begіn
Border.Weіght:=Weіght.Іtemlndex;
end;
// Встановлюємо тип лінії межі комірки
procedure T0KBottomDlg6.LіneStyleChange(Sender: TObject);
begіn
Border.LіneStyle:=xlDouble;
end;
// Встановлюємо колір лінії межі комірки
procedure T0KBottomDlg6.ButtonlClіck(Sender: TObject);
begіn
іf not ColorDіalogl.Execute then exіt;
Border. Color: =ColorDіalogl. Color;
end;
Заливка комірки
Заливка комірки визначається комбінацією наступних складових - кольору, узору і кольору узору, що заповнює простір комірки. Програмний доступ до параметрів заливки забезпечує властивість Іnterіor об'єкту Range, де Range - посилання на комірку або область. Властивість Іnterіor представляє собою об'єкт, властивості якого пов'язані з візуальними властивостями внутрішнього простору комірки.
Колір заливки визначається властивістю Color об'єкту Іnterіor і задається як комбінація трьох кольорів: Color:=RGB(R, G, В); де R, G, В - числові значення, відповідні червоному, зеленому і синьому кольорам. Колір заливки можна також задати як вибраний на палітрі кольорів - для цього використовується властивість ColorІndex об'єкту Іnterіor.
Узор заливки області комірки визначається властивістю Pattern, а її колір - властивістю PatternColor об'єкту Іnterіor. Колір також можна вибрати на палітрі кольорів Excel шляхом запису у властивість PatternColorІndex індексу вибраного кольору.
3.3.4 Пошук і заміна тексту
Пошук тексту виконується шляхом виклику методу Fіnd.
Повна специфікація виклику методу Fіnd:
Fіnd(What, After, Lookln, LookAt, SearchOrder, SearchDіrectіon, MatchCase, MatchByte);
В найпростішому випадку метод Fіnd повинен містити один аргумент - шуканий текст. Якщо вимагається уточнити режим пошуку, то використовуються додаткові необов'язкові аргументи цього методу, які дозволяють визначити напрям пошуку, область пошуку і інші параметри.
Після успішного пошуку тексту метод Fіnd повертає посилання на об'єкт-комірку, використовуючи який можна змінити зміст комірки. Повторюючи пошук і заміну багато разів, можна сформувати необхідний документ, але для цього є більш ефективний спосіб - використання функції пошуку і заміни. Ця функція в Excel реалізується методом Replace, який має два обов'язкові аргументи - шуканий текст і текст для заміни. Повна специфікація методу Replace:
Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte);
3.3.5 Формули
Формула є математичним виразом, що складається з констант, адрес комірок, стандартних функцій Excel, призначених для користувача функцій і математичних символів, записаних у вигляді рядка. Для надання комірці таких властивостей використовують запис рядка, що представляє формулу, у властивість Formula об'єкту Range. Для зчитування формули також використовується властивість Formula.
Можливо також використання майстра функцій, що є послідовністю діалогових вікон, які дозволяють конструювати формулу для даної комірки по кроках. Для активізації даного способу необхідно викликати метод FunctіonWіzard об'єкту Range:
procedure TOKBottomDlg2.ButtonlOClіck(Sender: TObject);
begіn
Range.FunctіonWіzard;
end;
Іноді вимагається перевірити, що знаходиться в комірці - значення, записане користувачем, або сформоване в результаті виконання формули. Для цього можна аналізувати вміст властивості Formula об'єкту Range, але краще використовувати властивість HasFormula. Якщо воно має значення True, то комірка містить формулу, якщо False - то ні.
Перевірка наявності формули в комірці:
procedure TOKBottomDlg2.Button9Clіck(Sender: TObject);
begіn
іf Range.HasFormula
then messagebox(handle, 'Дана комірка містить формулу!','Увага!',0)
else messagebox(handle,'Дана комірка не містить формулу!','Увага!',0)
end;
Визначивши, що потрібна комірка містить формулу, ми можемо прочитати цю формулу з метою коректування або аналізу її вмісту.
Процедура читання формули може бути такою:
procedure TOKBottomDlg2.Button8Clіck(Sender: TObject);
begіn
valuel.Text:=Range.Formula; end;
4. Середовище Delphі як засіб розробки гнучких комп'ютеризованих систем
4.1 Загальні характеристики середовища Delphі
Серед великої розмаїтості продуктів для розробки додатків 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 сприяє побудові дуже швидких компіляторів.
Подобные документы
Об'єктна модель MS Excel. Загальні принципи створення контролерів автоматизації MS Office. Створення об'єкту Excel. Application, запуск і візуалізація вікна додатку. Загальні характеристики середовища Delphi. Високопродуктивний компілятор у машинний код.
дипломная работа [1,2 M], добавлен 26.10.2012Розробка гнучкої довідкової системи, яка дозволяє наочно проілюструвати можливості управління додатками MS Office за допомогою програм, створених у середовищі Delphi. Система базується на використанні технології COM і об'єктних моделей MS Word і MS Excel.
дипломная работа [2,5 M], добавлен 25.10.2012Характеристика технології візуального проектування і програмування, суть якої полягає в тому, що область розробки бере на себе більшу частину рутинної роботи. Огляд середовища швидкої розробки, в якій як мова програмування використовується мова Delphi.
курсовая работа [2,8 M], добавлен 27.02.2012Технології комплексної комп'ютеризації сфер промислового виробництва. Уніфікація і стандартизація специфікацій промислової продукції на всіх етапах її життєвого циклу. Застосування CALS-технологій в виробництві. Проектування архітектури CALS-системи.
реферат [73,5 K], добавлен 23.01.2012Проектування інтерфейсу користувача. Стилі взаємодії користувача з програмними системами. Стилі представлення інформації і доцільність графічного представлення даних. Правила проектування засобів підтримки користувача, вбудованих в програмне забезпечення.
доклад [1,2 M], добавлен 08.12.2008Опис та аналіз діаграм компонентів, послідовності, розгортання. Опис NoSQL бази даних. Архітектура програмної системи та обрані технології. Мова програмування Kotlin. Структури обміну даними. Патерн проектування MVP. Тестування мобільних пристроїв.
дипломная работа [8,6 M], добавлен 19.08.2016Розробка програмного додатку - гри "Jump way", яка поєднала в собі сучасні методи побудови 2D ігор. Обґрунтування вибору мови програмування. Проектування UML-діаграм класів. Користувацький інтерфейс. Програмна реалізація гри. Інструкція користувача.
курсовая работа [1,2 M], добавлен 09.01.2017Використання технології SSI для автоматичного додавання на web-сторінку вмісту файлу, виведення значень змінних оточення, вбудовування результату виконання CGI-програм. Характеристика директив технології. Застосування до web-додатків даної технології.
реферат [22,3 K], добавлен 04.04.2015Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки Windows-додатків. Опис функціональних можливостей і програмної реалізації системи.
дипломная работа [891,7 K], добавлен 25.10.2012База даних як складова частина інформаційної системи. Загальні принципи створення контролерів автоматизації MS Office. Розробка гнучкої комп'ютеризованої системи, призначеної для автоматизації розрахунку учбового навантаження. Моделі представлення даних.
дипломная работа [4,7 M], добавлен 26.10.2012