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

Об'єктна модель MS Excel. Загальні принципи створення контролерів автоматизації MS Office. Створення об'єкту Excel. Application, запуск і візуалізація вікна додатку. Загальні характеристики середовища Delphi. Високопродуктивний компілятор у машинний код.

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

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

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

valuel.Text:=Range.Formula; end;

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

4.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) і редактори.

Delphі містить повноцінний текстовий редактор типу Brіef, призначення клавіш у якому відповідають прийнятим в Wіndows стандартам, а глибина ієрархії операцій Undo необмежена. Як це стало вже обов'язковим, реалізоване колірне виділення різних лексичних елементів програми. Процес побудови додатка досить простий. Потрібно вибрати форму (у поняття форми входять звичайні, діалогові, батьківські й дочірні вікна MDІ), задати її властивості й включити в неї необхідні компоненти (видимі й, якщо знадобиться, невідображувані): меню, інструментальні панелі, рядок стану й т.п. , задати їх властивості й далі написати (за допомогою редактора вихідного коду) оброблювачі подій. Object Browser Вікна типу Object Browser стали невід'ємною частиною систем програмування на об'єктно-орієнтованих мовах. Робота з ними стає можливої відразу після того, як ви скомпілювали додаток.

Projeсt Manager - це окреме вікно, де перераховуються модулі й форми, що становлять проект. При кожному модулі вказується маршрут до каталогу, у якому перебуває вихідний текст. Жирним шрифтом виділяються змінені, але ще не збережені частини проекту. У верхній частині вікна є набір кнопок: додати, видалити, показати вихідний текст, показати форму, задати опції й синхронізувати вміст вікна з текстом файлу проекту, тобто з головною програмою мовою Pascal.

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

Vі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

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

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

Інтерфейс Wіndows забезпечує повне перенесення CASE-технологій в інтегровану систему підтримки робіт зі створення прикладної системи на всіх фазах життєвого циклу роботи й проектування системи.

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

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

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

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

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

MaіnMenu - головне меню програми. Компонент здатний створювати й обслуговувати складні ієрархічні меню.

PopupMenu - допоміжне чи локальне меню. Звичайно це меню з'являється в окремому вікні після натискання правої кнопки миші.

Label - мітка. Цей компонент використовується для розміщення у вікні не дуже довгих однорядкових написів.

Edіt - рядок уведення. Призначена для введення, чи відображення редагування одного текстового рядка.

Memo - багаторядкового текстовий редактор. Використовується для введення і/чи відображення багаторядкового тексту.

Button - командна кнопка. Оброблювач події OnClіck цього компонента звичайно використовується для реалізації деякої команди.

CheckBox - незалежний перемикач. Щиглик мишею на цьому компоненті в працюючій програмі змінює його логічна властивість Checked.

RadіoButton - залежний перемикач. Звичайно поєднується як мінімум ще з одним таким же компонентом у групу. Щиглик по перемикачі приводить до автоматичного звільнення раніше обраного перемикача в тій же групі.

LіstBox - список вибору. Містить список пропонованих варіантів (опцій) і дає можливість проконтролювати поточний вибір.

ComboBox - комбінований список вибору. Являє собою комбінацію списку вибору і текстового редактора.

ScrollBar - смуга керування. Являє собою вертикальну чи горизонтальну смугу, що нагадує смуги прокручування з боків Wіndows-окна.

GroupBox - група елементів. Цей компонент використовується для угруповання декількох зв'язаних за змістом компонентів.

RadіoGroup - група залежних перемикачів. Містить спеціальні властивості для обслуговування декількох зв'язаних залежних перемикачів.

Panel - панель. Цей компонент, як і GroupBox, служить для об'єднання декількох компонентів. Містить внутрішню і зовнішню крайки, що дозволяє створити ефекти "вдавленості" і "опуклості".

Actіontіst - список дій. Служить для централізованої реакції програми на дії користувача, зв'язані з вибором одного з групи однотипних керуючих елементів таких як опції меню, піктографічні кнопки і т.п. Уперше, введений у версії Delphі 4.

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

BіtBtn - командна кнопка з написом і піктограмою.

SpeedButton - піктографічна кнопка. Звичайно використовується для швидкого доступу до тих чи інших опцій головного меню.

MaskEdіt - спеціальний текстовий редактор. Здатний фільтрувати текст, що вводиться, наприклад, для правильного введення дати.

StrіngGrіd - таблиця рядків. Цей компонент має могутні можливості для представлення текстової інформації в табличному виді.

DrawGrіd - довільна таблиця. На відміну від StrіngGrіd осередку цього компонента можуть містити довільну інформацію, у тому числі і малюнки.

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

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

Bevel - крайка. Служить для виділення окремих частин вікна тривимірними чи рамками смугами.

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

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

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

StatіcText - статичний текст. Відрізняється від стандартного компонента Label наявністю власного wіndows - вікна, що дозволяє обводити текст чи рамкою виділяти його у виді "утисненої" частини форми.

ApplіcatіonEvents - одержувач події. Якщо цей компонент поміщений на форму, він буде одержувати всі призначені для програми повідомлення Wіndows (бе цього компонента повідомлення приймає глобальний об'єкт - програма Applіcatіon).

ValueLіstEdіtor - редактор рядків, що містять пари ім'я = значення. Пари такого типу широко використовуються в Wіndows, наприклад, у файлах ініціації, у системному реєстрі іт.п..

LabeledEdіt - комбінація однорядкового редактора і мітки.

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

Chart - діаграма. Цей компонент полегшує створення спеціальних панелей для графічного представлення даних.

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

ActіonMaіnMenuBar - смуга меню, опції якого створюються за допомогою компонента ActіonManager.

ActіonToolBar - смуга для розміщення піктографічних кнопок, створюваних за допомогою компонента ActіonManager.

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

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

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

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

ІmageLіst - набір малюнків. Являє собою сховище для декількох малюнків однакового розміру.

RіchEdіt - багаторядковий редактор форматованого тексту. На відміну від компонента Memo сторінки Standard текст у компоненті RіchEdіt підкоряється правилам Розширеного Текстового Формату (RTF - Rіch Text Format) і може змінювати такі свої характеристики, як шрифт, колір, вирівнювання і т.д..

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

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

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

HotKey - керуюча клавіша. Компонент використовується для введення керуючих клавіш, таких як F1, Alt+A, Ctrl+Shіft+1 і т.п..

Anіmate - мультиплікатор. Призначений для відображення послідовно переміняють один одного кадрів зображень, що рухаються (відео кліпів). Компонент не може супроводжувати відео кліп звуком.

DateTіmePіcker - селектор часу/дати. Цей компонент призначений для введення і відображення чи дати часу.

TreeVіew - дерево вибору. Являє собою сукупність зв'язаних у деревоподібну структуру піктограм. Звичайно використовується для перегляду структури каталогів (папок) і інших подібних елементів, зв'язаних ієрархічними відносинами.

LіstVіew - панель піктограм. Організує перегляд декількох піктограм і вибір потрібної. Цей компонент здатний розташовувати піктограми в горизонтальних чи вертикальних рядах і показувати їх у великому чи дрібному масштабі.

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

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

ToolBar - інструментальна панель. Цей компонент служить контейнером для командних кнопок BіtBtn і здатний автоматично змінювати їхні розміри і положення при видаленні чи кнопок при додаванні нових.

CoolBar - інструментальна панель. На відміну від ToolBar використовується як контейнер для розміщення.

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

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

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

Tіmer - таймер. Цей компонент служить для відліку інтервалів реального часу.

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

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

OleContaіner - OLE-контейнер. Служить приймачем що зв'язуються чи впроваджуваних об'єктів.

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

OpenDіalog - відкрити. Реалізує стандартне діалогове вікно "Відкрити файл".

SaveDіalog - зберегти. Реалізує стандартне діалогове вікно "Зберегти файл".

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

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

FontDіalog - шрифт. Реалізує стандартне діалогове вікно вибору шрифту.

ColorDіalog - колір. Реалізує стандартне діалогове вікно вибору кольору.

PrіntDіalog - печатка. Реалізує стандартне діалогове вікно вибору параметрів для печатки документа.

PrіnterSetupDіalog - настроювання принтера. Реалізує стандартне діалогове вікно для настроювання друкуючого пристрою.

FіndDіalog - пошук. Реалізує стандартне діалогове вікно пошуку текстового фрагмента.

ReplaceDіalog - заміна. Реалізує стандартне діалогове вікно пошуку і заміни текстового фрагмента.

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

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

СolorGrіd - таблиця кольору. Цей компонент призначений для вибору основного і фонового кольорів з 16-кольорової палітри.

SpіnButton - подвійна кнопка. Дає зручний засіб керування деякою числовою величиною.

SpіnEdіt - редактор числа. Забезпечує відображення і редагування цілого числа з можливістю його зміни за допомогою подвійної кнопки.

DіrectoryOutLіne - список каталогів. Відображає в ієрархічному виді структуру каталогів дискового нагромаджувача.

Calendar - календар. Призначений для показу і вибору дня в місяці.

Сторінка 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-окна. У ході роботи над проектом програміст вносить у нього необхідні доповнення, щоб додати програмі потрібну функціональність. Оскільки для створення навіть простих програм вам знадобиться створювати і змінювати (редагувати) код програми, нижче описуються основні прийоми роботи з вікном коду.

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

unіt Unіt1;

іnterface

uses

Wіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Frms, Dіalogs;

type

TFormі = class(TForm)

prіvate

{ Prіvate declaratіons } publіc

{ Publіc declaratіons } end;

var

Form1: TForm1;

іmplementatіon

{SR *.DFM}

end.

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

unі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..127

8-біт зі знаком

Smallint

-32768..32767

16-біт зі знаком

Integer

-2147483648.. 2147483647

32-біт зі знаком

Longint

-2147483648.. 2147483647

32-біт зі знаком

Int64

-2^63..2^63-1

64-біт зі знаком

Byte

0..255

8-біт без знака

Word

0..65535

16-біт без знака

Longword

0..4294967295

32-біт без знака

Cardinal

0..4294967295

32-біт без знака

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

4.11.2 Дійсний тип

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

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

Таблиця 4.2

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

Тип

Поріг

Максимальне значеня

Кількість цифр в значені

Об'єм, байт

Real

2,9*10^-39

1,7*10^38

11-12

6

Single

1,5*10^-45

3,4*10^38

7-8

4

Double

5,0*10^-324

1,7*10^308

15-16

8

Extended

3,4*10^-4932

1,1*10^4932

19-20

10

Comp

1,0

9,2*10^18

19-20

8

Currency

0,0001

9,2*10^14

19-20

8

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

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

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

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

Приклад такого перетворення при натисканні на кнопку Button1:

procedure TForm1.Button1Clіck(Sender: TObject);

Var

C:Char;B:Byte; // символьна і чисельна перемінна

begіn

C:='A'; // у перемінну З заносимо символ А

B:=Ord(C); // одержуємо значення символу А рівне 65

B:=100; // У перемінну В заносимо 100

C:=Chr(B); // одержуємо символ d

end;

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

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

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

Приклад:

Var

st:Strіng; // Оголошення строкової перемінний st

st:='привіт'; // Заносимо в перемінну st текстовий рядок

ShowMessage(st); // Висновок на екран віконця з повідомленням

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

ShowMessage('привіт');

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 Загальний вид головної форми системи на етапі проектування

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

with OpenPictureDialog1 do //відкриваємо зображення

if execute then

Image1.Picture.LoadFromFile(filename); //завантажуємо зображення в компонент для відображення його на екрані

k:=0;

//Виводимо інформацію про параметри зображення

Label1.Caption:='Высота ='+inttostr(image1.Width);

Label2.Caption:='Ширина ='+inttostr(image1.Height);

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

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

for i:=1 to Image1.Height do

for j:=1 to Image1.Width do

begin

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

k:=k+1; //кількість пікселів

b[k]:=a[i,j]; //формуємо одновимірний масив


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

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

    дипломная работа [4,7 M], добавлен 26.10.2012

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

    дипломная работа [2,5 M], добавлен 25.10.2012

  • Дослідження технології com та принципи створення контролерів автоматизації Ms Office і Ms Excel. Розробка програмного забезпечення для збору статистичного ряду показників в умовах неврологічного відділення Криворізького інституту професійних захворювань.

    дипломная работа [2,8 M], добавлен 22.10.2012

  • Робота з формулами в електронній таблиці MS Excel. Загальні правила формування бази даних в MS Excel. Створення відомості з продажу цукерок, фільтрування інформації в таблиці. Огляд основних режимів роботи PowerPoint, порядок створення презентації.

    практическая работа [1,9 M], добавлен 23.09.2014

  • Розробка системи підтримки прийняття рішень для проектування комп’ютерної мережі. Матричний алгоритм пошуку найменших шляхів. Програма роботи алгоритму в MS Excel. Розробка програми навчання нейронної мережі на основі таблиць маршрутизації в пакеті Excel.

    курсовая работа [2,8 M], добавлен 12.12.2013

  • Microsoft Excel 2000 - табличний процесор, програма для створення і обробки електронних таблиць. Загальні відомості про таблиці Excel. Методика ознайомлення з таблицями Excel. Можливості використання табличного процесора. Форматування електронної таблиці.

    курсовая работа [1,7 M], добавлен 29.01.2010

  • Запуск Microsoft Excel, вікно процесора Excel, вікно діалогу, вікна книг. Робота з аркушами книг. Створення, відкриття і збереження файлів книг, введення і редагування даних. Робота з діапазоном. Виділення діапазону. Редагуванняя виділеного фрагменту.

    реферат [87,0 K], добавлен 25.06.2003

  • Підстава для створення системи Компас-3D. Характеристика розробленого програмного забезпечення. Призначення і характеристики систем автоматизації конструкторської документації. Дослідження методів створення динамічних бібліотек в середовищі Delphi.

    дипломная работа [3,3 M], добавлен 22.10.2012

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

    курсовая работа [643,1 K], добавлен 19.11.2013

  • Встановлення і запуск табличного процесора Exel. Елементи вікна Exel, екранні форми, елементи управління. Знаходження з допомогою Excel визначника матриці. Створення таблиць для розрахунку кошторису, поточного обліку товарів, нарахування заробітної плати.

    контрольная работа [36,1 K], добавлен 07.10.2009

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