Розробка візуальних компонентів для середовища З Builder

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Уфімський Державний Авіаційний Технічний Університет

Міністерство освіти Російської Федерації

















Курсова робота

на уроках: Об'єктно-Орієнтоване Програмування

на тему: Розробка візуальних компонентів для середовища С + + Builder







Виконав:

студент Фірт



Перевірив:















Уфа-2008

Зміст

Завдання на курсову роботу.

Введення.

Властивості компонентів

Події

Методи

VCL компоненти в середовищі C + + Builder.

Розробка компоненти TRaedit.

Висновок

Список використаної літератури

Завдання на курсову роботу

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

Введення



C + + Builder являє собою SDI-додаток, головне вікно якого містить настроювану інструментальну панель і палітру компонентів. Крім цього, за умовчанням при запуску C + + Builder з'являються вікно інспектора об'єктів і форма нової програми. Під вікном форми додатку знаходиться вікно редактора коду.

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

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

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

Кожен компонент C + + Builder має три різновиди характеристик: властивості, події і методи.

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

Властивості компонентів

Властивості є атрибутами компонента, що визначають його зовнішній вигляд і поведінку. Багато властивостей компонента у колонці властивостей мають значення, що встановлюється за умовчанням (наприклад, висота кнопок). Властивості компонента відображаються на сторінці властивостей (Properties). Інспектор об'єктів відображає опубліковані (published) властивості компонентів. Крім published-властивостей, компоненти можуть і частіше за все мають загальні (public), опубліковані властивості, які доступні тільки під час виконання програми. Інспектор об'єктів використовується для установки властивостей під час проектування. Список властивостей розташовується на сторінці властивостей інспектора об'єктів. Можна визначити властивості під час проектування або написати код для видозміни властивостей компонента під час виконання програми.

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

Події

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

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

Методи

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

Edit1-> Show ();

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

VCL компоненти в середовищі C + + Builder

Бібліотека Візуальних Компонент дозволяє програмістам візуально створювати програмні додатки, не вдаючись більш до кодування класів "вручну", або кодуванню в рамках стандартних бібліотек MFC (Microsoft Foundation Class), або OWL (Object Windows Library).

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

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

Будь-який компонент може знаходитися у володінні (ownership) інших компонент, але не всі компоненти можуть бути власниками. Властивість компоненти Owner (Власник) містить посилання на компонент, яка нею володіє. Рис. 1. показує ієрархію володіння деякої форми.

Власник відповідальний за звільнення тих компонентів, якими володіє, коли сам руйнується. Так у процесі конструювання форми, вона автоматично стає власником всіх компонент, розміщених на ній, навіть якщо частина їх розміщена на інший компоненті, такий як TPanel. Володіння застосовується не тільки до видимих, але й до невидимим (Ttimer, DataSource) компонентів.

Рис. 1. Приклад ієрархії володіння.

Визначення класу в мові C + + містить інкапсуляцію членів даних і методів, що оперують з даними і визначають поведінку об'єкта. Ця концепція всіх систем ООП прийнята в VCL.

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

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

C + + Builder використовує ключове слово _property для ідентифікації властивостей. Синтаксис опису властивості має вигляд:

property <тип властивості> <ім'я властивості> = {<список атрибутів>};

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

write = <член даних або метод запису>;

read = <член даних або метод читання>;

default = <булева константа, керуюча збереженням значення>;

stored = <булева константа або функція, що зберігає значення>.

Рис. 2. показує ключові класи в ієрархічній структурі, від яких проведені всі компоненти VCL. Кожен об'єкт представляє певний набір методів, подій і властивостей і має спеціальне призначення. Подібно до того як TObject є базовим класом для всіх породжуваних класів, TComponent є базовим класом для всіх породжуваних компонент.

Невидимі компоненти вироблені від класу TComponent. Графічні компоненти, не асоційовані з віконними елементами управління, виготовлені від класу TGraphicControl.

Будучи віконними елементами, компоненти стандартного управління зроблені безпосередньо від класу TWinControl, а оригінальні компоненти - посередньо від класу TCustomControl, випливає зі TWinControl. Саме на рівні TWinControl і вводиться "віконний дескриптор" (window handle).

Рис.2. Ієрархія ключових базових класів VCL.

Розробка компоненти TRaedit



Процес розробки компоненти TRaedit проходить через виконання наступних етапів:

1. Створення модуля для нової компоненти.

2. Спадкування похідного класу від існуючого базового компонентного класу.

3. Додавання потрібних властивостей, подій і методів.

4. Реєстрація компоненти в C + + Builder.

5. Налагодження.

6. Інсталяція компоненти на Палітру.

7. Збереження файлів компоненти.

Програмний модуль складається з двох файлів Raedit.срр і Raedit.h, які компілюються в об'єктний файл з розширенням Raedit.obj. C + + Builder використовує модулі в різних цілях - кожна форма і більшість компонент (або їх логічних груп) мають свій власний модуль.

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

class PACKAGE TRaedit: public TCustomEdit

Додамо необхідні властивості в створений клас.

__property bool TimerEnabled = {read = FTimerEnabled, write = SetTimerEnabled, default = false};

Властивість TimerEnabled відповідає за включення і відключення таймера, а отже і за зміну тексту в текстовому полі.

__property bool Random = {read = FRandom, write = FRandom, default = true};

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

__property AnsiString Text1 = {read = FText1, write = SetFText1};

__property AnsiString Text2 = {read = FText2, write = SetFText2};

__property AnsiString Text3 = {read = FText3, write = SetFText3};

Властивості Text1-Text3 будуть визначати додаткові текстові поля компоненти.

__property int TimerInterval = {read = FTimerInterval, write = SetTimerInterval, default = 1000};

Властивість TimerInterval встановлює затримку при зміні тексту в мілесекундах.

__property int TextIndex = {read = FTextIndex, write = SetTextIndex, default = 1};

Властивість TextIndex повертає номер активної рядки або встановлює рядок як активну.

Для реєстрації компоненти на палітрі компонентів середовища розробки C + + Builder додамо функцію Register у файл Raedit.cpp:

namespace Raedit

{Void __fastcall PACKAGE Register ()

{TComponentClass classes [1] = {__classid (TRaedit)};

RegisterComponents ("USATU", classes, 0);}

Інсталяція компоненти

При інсталяції нової компоненти або при виконанні команди Component | Rebuild Library, Бібліотека Візуальних Компонентів перебудовується, і C + + Builder створює тимчасовий файл CMPLIB32.CPP вихідних текстів VCL. Щоб зберегти цей файл, за допомогою команди Options | Environment | Library необходмо відкрити діалог опцій і встановити прапор Save Library Source Code.

Далі, необхідно провести компіляцію проекту, що виконується натисканням кнопки Compile або поєднанням клавіш Alt-F9. Після компіляції, виконується інсталяція компоненти на палітру.

Рис3. Відкритий файл проекту компоненти в C + + Builder

Компонента Raedit після інсталяції з'явиться на вкладці USATU:

Рис 4. Палітра компонентів C + + Builder 6

Тестування компоненти

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

- Активність таймера;

- Порядок зміни тексту;

- Інтервал таймера;

- Текст за індексом рядка;

- Текст всіх полів.

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

Рис. 6 Форма програми тестування

Висновок

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

Список використаної літератури



  1. Теллес, М. BORLAND C + + BUILDER: Бібліотека програміста .- СПб: Питер, 1998 .- 512с.

  2. Архангельський, А. Я. Мова C + + в C + + Builder: довідковий і методичний посібник / А. Я. Архангельський .- М.: Біном, 2008 .- 942 с.

  3. Романов, В.Ю. Програмування на мові C + +: Практ. підхід .- М.: Комп'ютер, 1993 .- 157с.

  4. Конспект лекцій УГАТУ по предмету об'єктно-орієнтоване програмування.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
42.5кб. | скачати


Схожі роботи:
Огляд візуальних компонентів Стандартні компоненти Delphi
Розробка електронного органайзера засобами C Builder 6
Программа на С Builder для знаходження оберненої матриці з використання елементарних перетворень
Створення ігрової програми шашки для гри між людиною і комп`ютером на мові С Builder
Технологія обладнання для установки ПМ-компонентів на друковані плати
Технологія обладнання для установки ПМ компонентів на друковані плати
Джерела небезпеки для людини об`єктів економіки та екологічного середовища характерних для Республіки
Пристрій для вимірювання температури в індустріальних системах і розробка програми для виведення
Розробка стратегії мерчендайзингових діяльності для супермаркета для всієї родини г Біробіджана
© Усі права захищені
написати до нас