Продаж авіа квитків

Інформація про навчальний заклад

ВУЗ:
Національній Транспортний Університет
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Курсова робота
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство науки і освіти України Національний транспортний університет Кафедра інформаційних систем та технологій Курсова робота З дисципліни «Об’єктно-орієнтовне програмування» Тема проекту: Використання об’єктно орієнтованого підходу для розробки програмного забезпечення для проекту системи «Продаж авіа квитків» Зміст Перелік скорочень Вступ Теоретичні відомості. Процедурне програмування. Об'єктне (модульне) програмування. Об'єктно-орієнтовне програмування C++. Програмне середовище. Середовище розробки C++ Builder; компоненти C++ Builder; властивості компонентів; події; методи; менеджер проектів; приклад створення проекту. Побудова алгоритму програми. Структура програмного комплексу. Опис роботи програмного продукту Висновок Список використаної літератури Перелік скорочень: ООП - Об'єктно-орієнтоване програмування. БД - База даних. ПЗ - Програмне забезпечення. Вступ Іде час, закон Мура все ще в дії, а отже ми спостерігаємо постійний розвиток електрообчислювальної техніки. Як наслідок автоматизуються всі процеси. Великого розвитку набувають так звані інтернет магазини, за допомогою яких тільки за наявності інтернету та комп'ютеру можна купити яку завгодно продукцію, економно витративши при цьому час і гроші. Але для того щоб автоматизувати роботу магазину, йому необхідна добре організована СУБД, яка містить інформацію про наявні товари, в якій можемо швидко знайти минулого клієнта, оформити новий заказ. Саме для такого магазину я і створив досить зручну програму. Детальніше о можливостях цієї програми читайте нижче. Процедурне програмування Процедурне програмування подає програму у вигляді набору алгоритмів, для оформлення яких можуть застосовуватися іменовані програмні блоки — процедури і функції. В останньому випадку передбачається наявність механізмів передачі параметрів і поверненні результату. Спочатку процедурне програмування користувалося довільними засобами керування, в тому числі, переходом за міткою — одним з найбільш вживаних операторів керування в Фортрані. Ось приклад програмного тексту з Фортрану С КВАДРАТНИЙ КОРІНЬ З ДІЙСНОГО ЧИСЛА REAL FUCTION ROOT (А) S=A IF (A.EQ.O) GOTO 20 10 T=(S+A/S)*.5 IF (ABS((T-S)/T).LE.l.T-6) GO TO 20 S=T GO TO 10 20 ROOT=S END В 1968 році голландський вчений Е.Дейкстра вперше звернув увагу на проблеми, що виникають у програмах з неконтрольованими переходами, в 1970 році проголосив новий напрямок, який він назвав структурованим програмуванням. Структурне програмування — це варіант процедурного, що вживає три типи структур керування; послідовне виконання дій, розгалуження І цикл. Не дивно, що Фортран не підтримував цю парадигму — в наборі його засобів не було циклів за умовами. Починаючи з Алголу, а особливо в Паскалі, цикли стають основним засобом організації обчислень в програмі: function root(a: real,eps:real): real; var s, t: real; begin s:=a*Q,5; repeat t:=s; s:=(s+a/s)*0.5; until abs{s-t)/s Автор Паскалю, професор Н.ВІрт, відібрав до створюваної ним мови програмування лише прості в поясненні і легкі в реалізації конструкції. Завдяки сильній типізації програми в Паскалі відзначаються високою надійністю, вони мобільні завдяки закладеній в них концепції Паскаль- машини, їх легко читати і розуміти завдяки дисципліні програмування, продиктованої вжитою парадигмою. Але разом з цим застосування Паскалю гальмувалося саме складністю виходу за межі віртуальної машини, потребою ефективного використання наявної апаратури. Головним критерієм, вжитим Б.Керніганом і Д.РІчі до створеної ними мови С, стала саме гнучкість використання особливостей конкретної апаратури і ефективність виконання програм. Об'єктне (модульне) програмування Процедурна парадигма віддала належне алгоритмічній компоненті програмування. Але з ростом обсягу програм і складності даних з'явилася нова проблема структурної організації даних, найбільш ємко висловлена Віртовською формулою "алгоритми + структури даних = програми". Поняття модуля як абстракції даних було вперше запропоноване Парнасом у 1972 році, правда на той час уже існувала мова програмування Симула 67, в якій використовувалася парадигма об'єктів. У найбільш повному виді поняття абстракції даних було реалізоване в мові програмування Модула-2. Головна Ідея полягає в забезпеченні доступу до даних, не залежному від їх конкретного представлення. Самі дані і програми їх обробки вбудовуються (інкапсулюються) в окремій одиниці програми. Ось простий приклад, який показує, як складність обчислень може перетікати у складність даних: Обчислення математичної функції, скажімо, квадратного кореня, можна виконати, обчислюючи границю відповідної послідовності, наприклад такої: Цей же квадратний корінь можна знайти у відповідному рідку чотиризначних математичних таблиць Брадіса, У першому випадку вся складність зосереджена в алгоритмі, який необхідно було придумати і запрограмувати (що ми й зробили у наведеному вище прикладі програми на Паскалі), У другому — в структурах даних, тобто в таблицях, які професор В.М.БрадІс повинен був попередньо розрахувати. Ось приклад тексту в Модулі 2, який дає певне уявлення про поділ модуля на дві частини — визначення і реалізацію: definition module Months; type Month= (jan, feb, men, apr, may, jun, jul, aug, sep. oct, nov, dec); procedure length(m: Month) : Cardinal; end Month: implementation module Month; ien: array Month of Cardinal; procedure length(m: Month) : Cardinal; begin return len[m]; end length; begin len[jan]:=31; len[feb]:=28; len[mch]:=31; len[apr]:=30; !en[may]:=31; Ien[jun]:=30; len[jul]:=31; len[aug]:=31; Ien[sepj:=30; len[oct]:=31; len[nov]:=30; len[dec]:=31; end Month, Об'єктно-орієнтовне програмування Об'єктно-орієнтована парадигма наділила класи ієрархією. Об'єктно- орієнтоване програмування за метафорою Б.Страуструпа, автора C++ — однієї з найпопулярніших мов об'єктно-орієнтованого програмування, — це високоінтелектуальний синонім доброго програмування. Дійсно, нові парадигми програмування з'являються не так часто, не частіше однієї в десятиліття. Той факт, що об'єктно-орієнтована парадигма успішно використовується протягом 20 років, сам по собі служить вагомим підтвердженням її життєздатності. Дійсно, алгоритми, реалізовані в процедурному програмуванні, надто конкретні. Будь-яка модифікація — це вже новий алгоритм і таким чином кількість процедур і функцій, що знаходяться у вжитку, надмірно зростає. Модульне програмування групує алгоритми в модулі, одночасно інкапсулюючи структури даних. Тепер залишається зробити наступний крок — побудувати ієрархію модулів або класів. Таких ієрархій може бути дві. Перша з них — бути частиною чогось. Наприклад, грань є частиною многогранника, ребро — частиною грані, вершина — частиною ребра. Інша ієрархія — бути узагальненням або конкретизацією. Наприклад, овал і многокутник служать конкретизацією плоскої фігури, коло — конкретизацією овалу, чотирикутник — конкретизацією многокутника, подальшими конкретизаціями чотирикутника можуть служити паралелограм, прямокутник, ромб, квадрат. Той факт, що квадрат, ромб, прямокутник є повноцінними паралелограмами дозволяє їм користуватися усіма програмними засобами, створеними для паралелограма, паралелограм в свою чергу є повноцінним чотирикутником і так далі, Цей принцип, відомий під назвою reusable — знову вживаний — став одним з найважливіших досягнень об'єктно-орієнтованої парадигми. Знову вживаючи вже існуюче програмне забезпечення в більшконкретизованих умовах, ми дописуємо лише ту його частину, яка стосується особливостей наявної конкретизації. Цей принцип дістав назву programming by difference або дописування програм . і, нарешті, об'єктно-орієнтована парадигма доводить до логічної завершеності принцип моделювання реального світу, а точніше тієї його частини, абстракцією якої служить програма. При цьому підході програма складається з об'єктів, що відповідають реальним поняттям або предметам. Виконання програми зводиться до взаємодії об'єктів, яке служить абстракцією реальної взаємодії їх прототипів. Все це разом забезпечило об'єктно-орієнтованому підходу беззаперечне лідерство в галузі розробки програм. Сьогодні в сімействі мов об'єктно-орієнтованого програмування три найбільш відомих представника: C++, Java і С # ( читається Сі шарп ). C++ і сьогодні залишається визнаним лідерів в розробці великих і складних програмних систем. Java і С # виросли з C++. Вони мають свою сферу застосування в розподіленому програмуванні і будуть вивчатися нами пізніше. Ще одна перевага C++ — його мультипарадигменність, C++ містить в собі мову С (з деякими застереженнями), а тому, природно, підтримує процедурну парадигму. Ось приклад функції для обчислення квадратного кореня в C/C++: double root (double х, double eps) double s=0.5*x; double t; do Г і t=s; s=(s+x/s)*0.5; } while ((fabs(s-t)/s)>eps); return s; }; систему автоматизації програмування, 3 часом слово "автоматизація" випало із наведеного словосполучення, в результаті чого воно перетворилося на систему програмування. Система програмування складається з кількох компонент, а саме: препроцесора (preprocessor), компілятора (compiler), компонувальника (linker), налагоджувана (debugger), об'єднаних спільним інтерфейсом у так зване універсальне середовище розробки програм. Прикладом можуть служити система програмування Visual С++ і діалогове середовище розробки програм Developer Studio. Головна особливість підготовки програми до виконання полягає у використанні багатьох різнорідних складових частин. Деякі з них підготовлені заздалегідь, вони зберігаються в бібліотеках, системних або власних, інші складають частини програми, розміщені в різних файлах. Зауважимо, що в С++ лише поглибилася тенденція винесення значної частини мови на рівень бібліотеки, яка дула закладена ще авторами С, Зокрема на бібліотеку, а не мову покладена відповідальність за зв'язок програми з операційною системою. Одночасне використання багатьох файлів з текстами різних частин програми — роздільна компіляція — одне з найбільших досягнень систем програмування. Завдяки йому ми ділимо програму на файли, які називаються одиницями трансляції (translation unit), групуючи у одному файлі тісно зв'язані одну з одною частини програми. В такий спосіб великі за розмірами програми діляться на частини, якими легше управляти. Програмування — це діяльність, яка вимагає великої організованості. Тому при складанні програм дотримуються певних правил доброго тону, одне з яких полягає в розділенні визначень і обчислень між файлами двох типів: файлів заголовків (header) і файлів реалізації. Файли заголовків обробляються препроцесором, файли реалізації готуються препроцесором для подальшої обробки компілятором. Тому їх звичайно називають початковими файлами ( source file, исходный файл ). Сукупність пов'язаних одне з одним заголовних і початкових файлів складають вхідну програму для системи програмування. Вхідну програму розміщують у програмному проекті, в рамках якого система програмування будуватиме об'єктні коди та виконавчу програму. С++ також підтримує традиційні для модульного програмування механізми абстракції даних, доповнені можливостями об'єктно-орієнтованої парадигми. Ось якого виду набуде наведений вище приклад із Модули 2 enum month {jan=l, feb, mch, apr, may, jun, jui, aug, sep, oct, nov, dec}; struct Month { inline int length(){return len[mon-l];} Month(month n):mon(n){}; private: month mon; static int len[12]; }; int Month::len[12] {31,28,31,30,3130,31,31,30,31,30,31}; Тепер Month — це повноцінний тип даних, який можна вживати, нарівні зі стандартними, у визначенні змінних, наприклад, Month theMonth = may; int і = theMonth.Iength(); Як ми побачимо далі, можна навіть довизначити арифметичні операції, наприклад, операцію збільшення місяця на ціле число, що дозволить писати вирази виду ^еМоп^ + 5. І, нарешті, С++ реалізує парадигму узагальнених функцій і параметризованих типів, але про це далі. Програмне середовище Від складання програмістом до виконання комп'ютером програма проходить досить тривалий шлях спеціальними службовими програмами, що складають систему автоматизації програмування, 3 часом слово "автоматизація" випало із наведеного словосполучення, в результаті чого воно перетворилося на систему програмування. Система програмування складається з кількох компонент, а саме: препроцесора (preprocessor), компілятора (compiler), компонувальника (linker), налагоджувана (debugger), об'єднаних спільним інтерфейсом у так зване універсальне середовище розробки програм. Прикладом можуть служити система програмування Visual С++ і діалогове середовище розробки програм Developer Studio. Головна особливість підготовки програми до виконання полягає у використанні багатьох різнорідних складових частин. Деякі з них підготовлені заздалегідь, вони зберігаються в бібліотеках, системних або власних, інші складають частини програми, розміщені в різних файлах. Зауважимо, що в С++ лише поглибилася тенденція винесення значної частини мови на рівень бібліотеки, яка дула закладена ще авторами С, Зокрема на бібліотеку, а не мову покладена відповідальність за зв'язок програми з операційною системою. Одночасне використання багатьох файлів з текстами різних частин програми — роздільна компіляція — одне з найбільших досягнень систем програмування. Завдяки йому ми ділимо програму на файли, які називаються одиницями трансляції (translation unit), групуючи у одному файлі тісно зв'язані одну з одною частини програми. В такий спосіб великі за розмірами програми діляться на частини, якими легше управляти. Програмування — це діяльність, яка вимагає великої організованості. Тому при складанні програм дотримуються певних правил доброго тону, одне з яких полягає в розділенні визначень і обчислень між файлами двох типів: файлів заголовків (header) і файлів реалізації. Файли заголовків обробляються препроцесором, файли реалізації готуються препроцесором для подальшої обробки компілятором. Тому їх звичайно називають початковими файлами ( source file, исходный файл ). Сукупність пов'язаних одне з одним заголовних і початкових файлів складають вхідну програму для системи програмування. Вхідну програму розміщують у програмному проекті, в рамках якого система програмування будуватиме об'єктні коди та виконавчу програму. Ми розглядаємо систему програмування тільки тією мірою, якою вона впливає на написання та організацію текстів вхідних програм. За детальним знайомством з засобами і можливостями системи програмування відсилаємо до системної документації і спеціальноїлітератури. Система програмування працює з програмними проектами . В проекті розміщують файли вхідної програми. Розглянемо, наприклад, проект sgrt, До файлу root.cpp ми запишемо текст функції root. Програмний код для випробування цієї функції ми помістимо у файл main.cpp . Проект, заповнений вхідними файлами; зображено на малюнку Пам'ятаємо, що компіляція цих двох файлів виконуватиметься нарізно. Виникає питання, звідки компілятор зрозуміє зміст ідентифікатора root ? В принципі можливі два рішення. Перше — це помістити сам файл root.cpp до файлу main.cpp , де він використовується. Це було б не дуже вдале рішення, бо незрозуміло, як поступати у випадку одночасного використання у багатьох файлах. Друге рішення, саме воно прийняте в системах програмування,, полягає у створенні допоміжного заголовного файлу root.h , який міститиме не всю інформацію про функцію root. а лише ту, яка необхідна для обробки її виклику компілятором, так звану сигтатуру функції: //root.h double root (double x, double eps); Вказівки препроцесору записуються за допомогою спеціальних директив, запис яких починається символом #= Зокрема файл main.cpp міститиме директиву #include ?root.h? . виконання якої препроцесором полягає у включенні тексту з файлу заголовку root.h до початкового файлу main.cpp . Наведемо його текст //main.cpp //Спочатку системні заголовки #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; #include "root.h" int main() { cout« "The square root of 2 calculated with"«endl «" a standart fuction is "«sqrt(2,0)«endl; cout «" your function is "« root(2.0,0.000001)«endl; return 0; } Як бачимо, початковий файл містить ще декілька файлів, що приєднаються препроцесором. Це службові файли (вони не зображені на малюнку). Файл stdafx.'n генерується системою програмування Visual С ++ ( ми не будемо більше наводити цю директиву в наступних прикладах). Два інші описують стандартні бібліотеки: бібліотеку вводу І виводу iostream (вона потрібна для обслуговування вихідного потоку cout) та бібліотеку математичних функцій cm ath , звідки береться, наприклад, функція обчислення квадратного кореня sqrt. Директива using namespace std є вказівкою компілятору вживати стандартні імена для системних об'єктів, наприклад, через cout позначено стандартний вихідний потік. Відповідного доповнення вимагатиме також файл root.cpp , в якому вжито стандартну функцію fabs обчислення абсолютної величини дійсного числа //root.cpp #include <cmath> double root (double x, double eps) { double s=0.5*x; double t; do { t=s; s=(s+x/s)*0.5; } while {(fabs(s-t)/s)>eps); return s; 1 }; Тепер коротко про призначення інших компонент системи програмування. Після того, ідо будуть проінтепретовані команди препроцесора. файли повних текстів потраплять на вхід компілятора; який збере з них так звані об'єктні коди. Компілятор — центральна компонента системи програмування, мета якого полягає у створенні цільового {англійською мовою object ) коду. Об'єктний код ate не призначено для безпосереднього виконання, В проекті їх багато, взагалі кажучи, по одному на кожен початковий файл. Об'єктні коди містять взаємні посилання один на одного, а також посилання на бібліотеки. Об'єктні коди поступають на вхід компонувальника. Його завдання зібрати їх разом, доповнити необхідними компонентами бібліотек та перетворити на виконавчу програмуй executable program . exe - file ). На замовлення компілятор може доповнити об'єктні коди спеціальними командами спостереження за ходом виконання програми. Тоді виконанням програми займеться налагоджувач, який дозволить прослідкувати за перебігом виконання: призупинити виконання програми, проконтролювати значення змінних, тощо. Середовище розробки C++ Builder C++ Builder являє собою SDl-додаток, головне вікно якого містить інструментальну панель, що набудоване (ліворуч) і палітру компонентів (праворуч). Крім цього, при запуску С++ Builder з'являються вікно Інспектора об'єктів (ліворуч) І форма нового проекту (праворуч). Під вікном форми проекту перебуває вікно редактора коду. (праворуч). Крім цього, при запуску С++ Builder з'являються вікно Інспектора об'єктів (ліворуч) І форма нового проекту (праворуч). Під вікном форми проекту перебуває вікно редактора коду. / Рис.1. Середовище розробки C++ Builder Форми є основою проектів C++ Builder, Створення користувальницького інтерфейсу проекту полягає в додаванні у вікно форми елементів об'єктів C++ Builder, називаних компонентами. Компоненти C++ Builder розташовуються на палітрі компонентів, виконаної у вигляді многостранічного блокнота. Важлива особливість C++ Builder полягає в тому, шо він дозволяє створювати власні компоненти та набудовувати палітру компонентів, а також створювати різні версії палітри компонентів для різних проектів. форми є основою проектів C++ Builder, Створення користувальницького інтерфейсу проекту полягає в додаванні у вікно форми елементів об'єктів C++ Builder, називаних компонентами. Компоненти C++ Builder розташовуються на палітрі компонентів, виконаної у вигляді многостранічного блокнота. Важлива особливість C++ Builder полягає в тому, шо він дозволяє створювати власні компоненти та набудовувати палітру компонентів, а також створювати різні версії палітри компонентів для різних проектів. Компоненти C++ Builder Компоненти розділяються на видимі (візуальні) І невидимі (невізуальні). Візуальні компоненти з'являються під час виконання точно так само, як і під час проектування. Прикладами є кнопки та редагують поля, що. Невізуальні компоненти з'являються під час проектування як піктограми на формі. Вони ніколи не видні під час виконання, але мають певну функціональність (наприклад, забезпечують доступ до даних, викликають стандартні діалоги Windows 95та ін.) Для додавання компонента у форму можна вибрати мишею потрібний компонент у палітрі та клацнути лівою клавішею миші в потрібнім місці проектованої форми. Компонент з'явиться на формі, і далі його можна переміщати, міняти розміри та інші характеристики. Кожен компонент C++ Builder має три різновиди характеристик: властивості, події та методи. Якщо вибрати компонент із палітри та додати його до форми, інспектор об'єктів автоматично покаже властивості та події, які можуть бути використані з тім компонентом. У верхній частині інспектора об'єктів є список, що випадає, що дозволяє вибирати потрібний об'єкт Із наявних на формі, Властивості компонентів Властивості є атрибутами компонента, що визначають його зовнішній вигляд і поводження. Багато властивостей компонента в колонку властивостей мають значення, яке встановлюється за замовчуванням (наприклад, висота кнопок). Властивості компонента відображаються а сторінці властивостей (Properties). Інспектор об'єктів відображає опубліковані (published) властивості компонентів. Крім published-властивостей, компоненти можуть і найчастіше мають загальні (public), опубліковані властивості, які доступні тільки під час виконання проекту. Інспектор об'єктів використається для установки властивостей під час проектування, Список, властивостей розташовується на сторінці властивостей інспектори об'єктів. Можна визначити властивості під час проектування або написати код для видозміни властивостей компонента підчас виконання проекту. При визначенні властивостей компонента під час проектування потрібно вибрати компонент на формі, відкрити сторінку властивостей в інспекторі об'єктів, вибрати обумовлена властивість І змінити його за допомогою редактора властивостей (це може бути пусте поле для уведення тексту або числа, що випадає список, що розкривається список, діалогова панель і т.д.). Події Сторінка подій (Events) інспектори об'єктів показує список подій, розпізнаваних компонентом (програмування для операційних систем із графічним користувальницьким інтерфейсом, зокрема, для Windows 95 або Windows NT пре думає опис реакції проекту на ті або інші події, а сама операційна система займається постійним опитуванням комп'ютера з метою виявлення настання якої-небудь події). Кожен компонент має свій власний набір оброблювачів подій. В C++ Builder варто писати функції, називані оброблювачами подій, і зв'язувати події із цими функціями. Створюючи оброблювач тої чи іншої події, ви доручаєте програмі виконати написану функцію, якщо ця подія відбудеться. Для того, щоб додати оброблювач подій, потрібно вибрати на формі за допомогою миші компонент, якому необхідний оброблювач подій, потім відкрити сторінку подій інспектори об'єктів і двічі клацнути лівою клавішею миші на колонку з поруч із подією, щоб змусити C++ Builder згенерувати прототип оброблювача подій і показати його в редакторі коду. При цьому автоматично генерується текст порожньої функції, і редактор відкривається в тім місці, де варто вводити код. Курсор позиціюється усередині операторних дужок {...}. Далі потрібно ввести код, що повинен виконуватися при настанні події. Оброблювач подій може мати параметри, які вказуються після імені функції в круглих дужках. Методи Метод є функцією, що пов'язана з компонентом. І яка оголошується як частина об'єкта. Створюючи оброблювачі подій, можна викликати методи, використовуючи наступну нотацію: ->, наприклад: Editl->Show{); Відзначимо, що при створенні форми пов'язані з нею модуль і заголовний файл із розширенням *.h генеруються обов'язково, тоді як при створенні нового модуля він не зобов'язаний бути пов'язаний з формою (наприклад, якщо в ньому втримуються процедури розрахунків). Імена форми та модуля можна змінити, причому бажано зробити це відразу після створення, поки на них не з'явилося багато посилань в інших формах і модулях. Менеджер проектів Файли, що утворять додаток - форми та модулі - зібрані в проект. Менеджер проектів показує списки файлів і модулів проекту та дозволяє створювати навігацію між ними. Можна викликати менеджер проектів , вибравши пункт меню View/Project Manager. За замовчуванням знову створений проект одержує ім'я Projectl.cpp. За замовчуванням проект спочатку містить файли для однієї форми та вихідного коду одного модуля. Однак більшість проектів містять кілька форм і модулів, Щоб додати модуль або форму до проекту, потрібно клацнути правою кнопкою миші та вибрати пункт New Form з контекстного меню, Можна також додавати існуючі форми та модулі до проекту, використовуючи кнопку Add контекстного меню менеджера проектів І вибираючи модуль або форму, яку потрібно додати. Форми та модулі можна видалити в будь-який момент протягом розробки проекту. Однак, через те, що форма зв'язані завжди з модулем, не можна видалити одне без видалення іншого, за винятком случаючи, коли модуль не має зв'язку з формою. Видалити модуль із проекту можна, використовуючи кнопку Remove менеджера проектів. Якщо вибрати кнопку Options у менеджері проектів, відкриється діалогова панель опцій проекту, у якій можна вибрати головну форму проекту, визначити, які форми будуть створюватися динамічно, які параметри компіляції модулів (у тому числі створених в Delphi 2.0, тому що С++ Builder може включати їх у проекти) і компонування. Важливим елементом середовища розробки С++ Builder є контекстне меню, яке з'являється при натисканні на праву клавішу миші та дозволяє швидкий доступ до найбільше часто використовуваних команд. Зрозуміло, С++ Builder має убудовану систему контекстно-контекстно- залежної допомоги, доступної для будь-якого елемента інтерфейсу та довідкової інформації, що є великим джерелом, про С++ Builder. Створення проектів у С++ Builder Першим кроком у розробці проекту С++ Builder є створення проекту. Файли проекту містять згенерований автоматично вихідний текст, що стає частиною проекту, коли воно скомпільовано та підготовлене до виконання. Щоб створити новий проект, потрібно вибрати пункт меню File/New Application, С++ Builder створює файл проекту з Ім'ям за замовчуванням Projectl.cpp, а також таке-файл Із ім'ям за замовчуванням. Projectl.mak, При внесенні змін у проект, таких, як додавання нової форми, С++ Builder обновляє файл проекту, Проект або додаток звичайно мають кілька форм, Додавання форми до проекту створює наступні додаткові файли: Файл форми з розширеням.ОРМ, що містить інформацію про ресурси вікон для конструювання форми Файл модуля з розширеням.СРР, що містить код на С++. Заголовний файл із розширенням .Н, що містить опис класу форми. Коли ви додаєте нову форму, файл проекту автоматично обновляється. Для того щоб додати одну або більше форм до проекту , виберіть пункт меню File/New Form. З'явиться, порожня форма, що буде додана до проекту. Можна скористатися пунктом меню File/New, вибрати сторінку Forms І вибрати підходящий шаблон з репозиторія об'єктів. Для того, щоб просто відкомпілювати поточний проект, з меню Compile потрібно вибрати пункт меню Compile. Для того, щоб відкомпілювати проект і створити виконує файл, що, для поточного проекту, з меню Run потрібно вибрати пункт меню Run. Компонування проекту є інкрементним (перекомпілюються тільки модулі, що змінилися). Якщо при виконанні проекту виникає помилка часу виконання, С++ Builder робить паузу у виконанні програми та показує редактор коду з курсором, установленим на операторі, що є джерелом помилки. Перш ніж робити необхідну корекцію, варто запустити знову додаток, вибираючи пункт меню Run з контекстного меню або з меню Run. закрити додаток і лише потім вносити зміни в проект, У цьому випадку зменшиться ймовірність втрати ресурсів Windows, Приклад: створення найпростішого проекту Тепер спробуємо створити найпростіший додаток, що дозволяє вводити текст у редагує поле. що. і додавати цей текст до списку при натисканні мишею на кнопку. Виберемо пункт меню File/New Application для створення проектутазбережемо його головну форму під ім'ям sampl.cpp. а сам проект під ім'ям samp.так. Помістимо на форму компонента Button, EditTaListBox зі сторінки Standard палітри компонентів. Після цього виберемо на формі компонентів Edit і видалимо поточне значення властивості Text. Потім установимо властивість Caption для Buttonl рівним "Додати". Щоб додати оброблювач події OnClick для кнопки Додати, потрібно вибрати цю кнопку на формі, відкрити сторінку подій в інспекторі об'єктів і двічі клацнути мишею на колонку праворуч від події OnClick. У відповідному рядку уведення з'явиться ім'я функції. C++ Builder згенерує прототип оброблювача подій і покаже його в редакторі коду. Після цього варто ввести наступний код в операторні дужки {... }тіла функції: void fastcall TFormi::ButtonlClick(TObject *Sender) r if (!(Editl->Text == "")) ListRoxl->Ttems->Add(Edit І->Text); Edit1->Text1. = ""* } } Для компіляції проекту в меню Run виберемо пункт Run, Тепер можна що-небудь увести в редагує поле, що, нажати мишею на кнопку Додати та переконатися, ідо вводять строки, що, додаються до списку. Тепер модифікуємо додаток, додавши кнопки Видалити та Вихід, Для цього додамо ще дві кнопки, змінимо їхню властивість Caption і створимо оброблювачі подій, пов'язаних з натисканням на ці кнопки: Для кнопки Видалити: void fastcall TForml: :Button2Clic.k (TObject + Sender) ListBoxl->Items->Deiete(ListBoxl->ItemIndex); і і Для кнопки Вихід: Close (); Збережемо та скомпілюємо додаток, а потім протестуємо його. Отже, ми познайомилися із середовищем розробки Borland C++ Builder і створили простий додаток. База даних Для даної роботи,я використав додаток Database Desktop. А саме з БД Paradox 7. Я використав саме цю програму оскільки вона вбудована в C++ Builder 6. Моя база даних містить у собі інформацію про: Місце відправки Місце прибуття Тривалість польоту Вартість квитка Після старту Database Desktop виберіть команду меню File|New|Table для створення нової таблиці. Перед Вами з'явиться діалогове вікно вибору типу таблиці, як показано на рис.1. Ви можете вибрати будь-який формат із запропонованого, включаючи різні версії одного і того ж формату. / Після вибору типу таблиці Database Desktop представить Вам діалогове вікно, специфічне для кожного формату, в якому Ви зможете визначити поля таблиці і їх тип, як показано на рис.2. / Ім'я поля в таблиці формату Paradox є рядком, написання якого підкоряється наступним правилам : Ім'я має бути не довше 25 символів. Ім'я не повинне розпочинатися з пропуску, проте може містити пропуски. Проте, якщо Ви припускаєте в майбутньому переносити базу даних в інші формати, розумніше буде уникати включення пропусків в назву поля. Фактично, в цілях переносимості краще обмежитися дев'ятьма символами в назві поля, не включаючи в нього пропуски. Ім'я не повинне містити квадратні, круглі або фігурні дужки [], () чи {}, тире, а також комбінацію символів "тире" і "більше" (->). Ім'я не має бути тільки символом #, хоча цей символ може бути присутнім в імені серед інших символів. Хоча Paradox підтримує точку (.) в назві поля, краще її уникати, оскільки точка зарезервована в Delphi для інших цілей. Ім'я поля в таблиці формату dBase є рядком, написання якого підкоряється правилам, відмінним від Paradox : Ім'я має бути не довше 10 символів. Пропуски в імені недопустимі. Таким чином, Ви бачите, що імена полів у форматі dBase підкоряються набагато суворішим правилам, ніж такі у форматі Paradox. Проте, ми ще раз хочемо підкреслити, що якщо перед Вами коли-небудь постануть питання сумісності, то краще відразу закладати цю сумісність - давати полям імена, що підкоряються суворішим правилам. Вкажемо ще правила, яким підкоряється написання імен полів у форматі InterBase. Ім'я має бути не довше за 31 символ. Ім'я повинне розпочинатися з букв A - Z, a - z. Ім'я поля може містити букви (A - Z, a - z), цифри, знак $ і символ підкреслення (_). Пропуски в імені недопустимі. Для імен таблиць забороняється використати зарезервовані слова InterBase. Наступний (після вибору імені поля) крок полягає в завданні типу поля. Типи полів дуже сильно розрізняються один від одного, залежно від формату таблиці. Для отримання списку типів полів перейдіть до стовпця "Type", а потім натисніть пропуск або клацніть правою кнопкою мишки. Приведемо списки типів полів, характерні для форматів Paradox, dBase і InterBase. Отже, поля таблиць формату Paradox можуть мати наступний тип (для введення типу поля можна набрати тільки підкреслені букви або цифри) : Табл. A: Типы полей формата Paradox Alpha строка длиной 1-255 байт, содержащая любые печатаемые символы  Number числовое поле длиной 8 байт, значение которого может быть положительным и отрицательным. Диапазон чисел - от 10-308 до 10308 с 15 значащими цифрами  $ (Money) числовое поле, значение которого может быть положительным и отрицательным. По умолчанию, является форматированным для отображения десятичной точки и денежного знака  Short числовое поле длиной 2 байта, которое может содержать только целые числа в диапазоне от -32768 до 32767  Long Integer числовое поле длиной 4 байта, которое может содержать целые числа в диапазоне от -2147483648 до 2147483648  # (BCD) числовое поле, содержащее данные в формате BCD (Binary Coded Decimal). Скорость вычислений немного меньше, чем в других числовых форматах, однако точность - гораздо выше. Может иметь 0-32 цифр после десятичной точки  Date поле даты длиной 4 байта, которое может содержать дату от 1 января 9999 г. до нашей эры - до 31 декабря 9999 г. нашей эры. Корректно обрабатывает високосные года и имеет встроенный механизм проверки правильности даты  Time поле времени длиной 4 байта, содержит время в миллисекундах от полуночи и ограничено 24 часами  @ (Timestamp) обобщенное поле даты длиной 8 байт - содержит и дату и время  Memo поле для хранения символов, суммарная длина которых более 255 байт. Может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (1-240) - остальные символы сохраняются в отдельном файле с расширением .MB  Formatted Memo поле, аналогичное Memo, с добавлением возможности задавать шрифт текста. Также может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (0-240) - остальные символы сохраняются в отдельном файле с расширением .MB. Однако, Delphi в стандартной поставке не обладает возможностью работать с полями типа Formatted Memo  
Антиботан аватар за замовчуванням

06.02.2014 00:02-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!