Курсовая работа на тему Облік зареєстрованих автомобілів в ДАІ

Введення

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

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

Метою курсової роботи є розробка програми Обліку .

Завданнями курсової роботи є:

Знання середовища програмування Builder C;

Знання основних принципів обєктно-орієнтованого програмування;

Знання мови програмування C;

Знання класів Builder C;

Знання компонентів Builder C;

Уміння застосовувати основні концепції обєктно-орієнтованого програмування;

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

Уміння створювати програми, передбачаючи можливі виняткові ситуації;

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


1. Середовище розробки C + + Builder

Середовище розробки C++ Builder

C++ Builder - програмний продукт, інструмент швидкої розробки додатків (RAD), інтегроване середовище програмування (IDE), система, використовувана програмістами для розробки програмного забезпечення на мові C++.

Історія

C++ Builder спочатку створювалася тільки для платформи Microsoft Windows. Пізні версії, Кроссплатформенную, що містять, компонентну бібліотеку Borland, підтримують і Windows і Linux.

У 2003 Borland випустила C++ BuilderX (CBX), написаний за допомогою тієї ж інфраструктури, що і JBuilder, який при цьому був мало схожий на C++ Builder або Delphi. Цей продукт призначався для розробки великих програм для великих підприємств, але комерційного успіху не досяг. У кінці 2004 року Borland оголосила, що продовжить розвиток класичного C++ Builder і обєднає його з середовищем розробки Delphi, припинивши, таким чином, розробку C++ BuilderX.

Опісля приблизно рік після цього оголошення, Borland випустила Borland Developer Studio 2006, який включав Borland C++ Builder 2006, що пропонував поліпшене управління конфігурацією і відладкою. Borland Developer Studio 2006 - єдинийповноціннийкомплект, Delphi, щомістить, C++Builder і CBuilder.

У 2007 CodeGear випустила C++ Builder 2007, вякомуреалізувалаповнупідтримку API Microsoft Windows Vista, збільшилаповнотувідповідностістандарту ANSI C++, збільшилашвидкістькомпіляціїізборкидо 500 %, включилапідтримку MSBuild, архітектурибазданих DBX4 і VCL для Web, поддеживающий AJAX. Підтримка API Microsoft Windows Vista включиладодатки, спочаткуоформленівстилі Vista, іприроднупідтримку VCL для Aero і Vista Desktop. CodeGear RAD Studio 2007 містить C++ Builder 2007 і Delphi. Такожв 2007 CodeGear воскресила марку Turbo івипустиладві Turbo" версії C++ Builder : Turbo C++ Professional і Turbo C++ Explorer (безкоштовний), заснованихна Borland C++ Builder 2006.

У кінці 2008 року компанія CodeGear випустила новий

Раніше повідомлялося, що наступна версія, CodeGear C++Builder (кодове імя "Commodore"), матиме підтримку x86 - 64 і можливістю створювати машинний x86 - 64 код. Проте в 2010 році до складу RAD Studio XE включена версія C++ Builder XE без цієї функціональності.

Інтерфейс

Рис.1.1 Середовище розробки C + + Builder


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

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

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

Компоненти C Builder

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

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

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

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

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

Standard Стандартна. Містить найбільш часто використовувані компоненти

Additional Додаткова. Містить доповнення компонентів до стандартної закладки

Win32 Містить 32-бітові компоненти в стилі Windows

System Системна. Містить такі компоненти, як таймер, вікно для малювання, програвач та ін.

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

Data Controls Управління даними. Компоненти відображення і редагування даних dbExpress Звязок з даними з використанням мови баз даних SQL

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

BDE Доступдоданихчерез Borland Database Engine (BDE)

ADO Звязокзбазамиданихчерез Active Data Objects (ADO) - безлічкомпонентів ActiveX, щовикористовуютьдлядоступудоінформаціїбазданих Microsoft OLE DB

InterBase Прямийзвязокз Interbase, минувши Borland Database Engine і Active Data Objects

WebServices Компоненти клієнтських Internet застосувань, що використовують доступ до служб Web за допомогою SOAP

InternetExpress Побудова додатків Internet Express - одночасно додатків Web сервера і клієнта баз даних з паралельними потоками

Internet Компоненти для створення Web серверів

WebSnap Компоненти для створення Web серверів, що містять складні сторінки, керовані даними

FastNet Різні протоколи доступу до Internet

Decision Cube Компоненти для багатовимірного аналізу даних

QReport Компоненти для підготовки звітів (діаграм, графіків і тому подібне)

Dialogs Діалоги. Містить системні діалоги типу "Відкрити файл", "Закрити файл" і тому подібне

Win 3.1 Windows 3.1. Містить компоненти в стилі Windows 3.1

Samples Зразки. Містить компоненти побудови графіка, календаря, вибору кольору та ін.

ActiveX Містить деякі компоненти ActiveX

COM+ Містить компонент, що дає доступ до каталогу СОМ+. що містить дані по конфігурації З

Тепер розглянемо призначення найбільш часто використовуваних компонентів. З деякими з них ми вже познайомилися раніше. Почнемо знайомство із закладки Standard

Компоненти Standard

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

Компонент Frames (кадр) призначений для створення контейнера (вікна) для розміщення інших компонентів. Цей компонент дуже схожий на форму Form. Для розміщення цього компонента на формі необхідно перший раз створити його за допомогою команд File ->New ->Frame. Компонент Frame перший раз має бути створений через головне меню, оскільки являється слюжным. Після його створення або створення декількох різних компонентів можна користуватися стандартним способом розміщення їх на формі шляхом вибору наявних фреймів в списку, що розкривається. Для практики створіть компонент Frame2 за допомогою команди File ->New ->Frame, a потім перейдіть на форму і клацніть двічі але компоненту Frames на закладці Standard панелі візуальних компонентів. Перед вами повинне відкритися вікно (Рис. 3), з якого можна вибрати компонент Frame2.

Компонент MainMenu (головне меню) призначений для створення головного меню програми.

Короткі описи деяких компонентів.

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

Label (етикетка) створює на формі текстову мітку або напис.

Edit (редагування) створює на формі поле для редагування текстового рядка.

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

Button (кнопка) є найпоширенішим компонентом. Служить для створення в додатку різних прямокутних кнопок з текстовим написом в одній строчці.

Checkbox (осередок стану) дозволяє створювати на формі додатка осередок з двома станами (без галочки і з галочкою) і рядком назви. Клацання лівою кнопкою мыш

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

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

Action List (список дій) здійснює управління взаємодією між інтерфейсними елементами і логікою програми. На Рис. 4 приведено вікно форми, на якій розташовані усі перераховані вище компоненти в порядку їх опису зліва направо і зверху вниз, починаючи з MainMenu.

Компоненти Addition

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

Розглянемо компоненти, розташовані на цій закладці.

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

SpeedButton (швидка кнопка) дозволяє створити на формі кнопку із зображенням без напису. Знаком нам з панелі швидких кнопок.

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

StringGrid (строкова таблиця) служить для створення таблиці (сітки), що складається з текстових рядків.

DrawGrid (графічна таблиця) створює на формі двовимірну таблицю для відображення графічних даних.

Image (образ) призначений для створення на формі невидимого контейнера, в який можна помістити один графічний файл з бітовим чином, піктограмою або метафайл.

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

(колір) і Style (стиль) групи Brush (кисть).

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

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

ChecklistBox (список з осередками) відображує список елементів, у кожного з яких є власний осередок стану.

Splitter (роздільник) розділяє робочу область програми на дві частини змінюваної ширини і дозволяє міняти їх розміри під час роботи програми.

StaticText (статичний текст) створює на формі текстовий рядок з деякими можливостями її оформлення.

Chart (діаграма) призначений для створення і виводу на друк багатоколірних графіків і діаграм.

Компоненты Win32

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

Використання цих компонентів дозволяє надати програмі сучасному і професійному вигляду. Розглянемо основні компоненти цієї закладки.

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

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

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

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

TrackBar (доріжка із смужками) створює на формі шкалу з мітками і регулювальником поточного положення. Застосовується в програмі як регулювальник гучності звуку,

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

Progress Bar {індикатор прогресу) створює на формі прямокутний індикатор для відображення процесу виконання довгих процедур в програмі (копіювання, пошуку і тому подібне).

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

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

Animate (аніматор) створює на формі невидимий контейнер для відтворення відеозаписів у форматі avi.

DataTimePicker (збирач дати і часу) створює в програмі інтерфейс для введення дати і часу.

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

Компоненти System

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

Розглянемо розташовані на цій закладці компоненти.

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

- PaintBox (рамка малювання) створює на формі елемент, на якому можна малювати.

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

- OleContainer (контейнер OLE) реалізує в програмі механізм впровадження і звязування обєктів OLE (Object Linking and Embedding - звязування і вбудовування обєктів)} за допомогою якого можна передавати дані між різними програмами в середовищі Windows.

- DdeClientConv (клієнт DDE) реалізує в програмі механізм динамічного обміну даними DDE (Dynamical Data Exchange), що є розширенням операційної системи Windows. Цей механізм призначений для передачі даних від однієї програми (сервера), до іншої - приймачу (клієнтові).

- DdeClientltem (елемент клієнта даних DDE) визначає елемент динамічного обміну і реалізує в програмі механізм динамічного обміну даними між клієнтами.

- DdeServerConv (сервер DDE) встановлює режим динамічного обміну між програмами сервера DDE.

- DdeServerltem (елемент даних сервера DDE) визначає режим динамічного обміну даними сервера DDE.

Компоненти Dialog

Компоненти закладки Dialog дозволяють створювати діалоги з користувачем програми.

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

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

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

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

- SavePict are Dialog (діалог збереження малюнка) створює діалог збереження файлу із зображенням. Так само, як і OpenPictureDialog, має можливістю попередньою перегляду файлу зображення безпосередньо у вікні діалогу.

- FontDialog (діалог вибору шрифту) надає можливість створення діалогу для вибору шрифту тексту в програмі.

- ColorDialog (діалог вибору кольору) призначений для створення діалогу для вибору кольору з палітри кольорів Windows. Отриманий числовий параметр кольори після цього можна передати будь-якому компоненту, що має властивість Color.

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

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

- FindDialog (діалог пошуку) відкриває в програмі діалог пошуку тек

Компоненти Samples

Компоненти закладки Samples є прикладами компонентів для управління програмою.

Користувач має можливість створювати власні компоненти, які будуть збожеволіти на цій закладці. Оскільки це усього лише приклади, вони забезпечені в Borland C++ Builder 6 скороченою документацією. Розглянемо деякі компоненти цієї закладки.

- Tray Icon (ікона піддону) дозволяє згортати програму в праве підвальне вікно, що має системну назву tray (піддон).

- Performance Graph (графік виконання) служить для наочного відображення використовуваних ресурсів компютера.

- CSpinButton (кнопка обертання) використовується для створення кнопок-лічильників.

- CSpinEdit (редактор обертання) застосовується для створення вікна редагування в комбінації з кнопкою-лічильником.

- CColorGrid (кольорова сітка) служить для створення таблиці кольорів, в якій користувач може вибирати необхідний колір.

- CGauge (вимірник) призначений для відображення зміни якої-небудь змінної в програмі.

- CDirectory Outline (схема каталогу) використовується для відображення структури каталогів вибраного диска.

- CCalendar (календар) застосовується для відображення календаря На вказаний місяць в стандартному форматі.

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

Компоненти Office2k

Компонентизакладки Office2k дозволяютьінтегруватидодаткизпрограмамизпакету Microsoft Office.

Розглянемо призначення компонентів цієї закладки.

Перші пять компонентів дозволяють працювати з документами, створеними у форматі Microsoft Word. Вони управляють шрифтами і форматуванням документу, а також визначають режим динамічного обміну даними (DDE) сервера.

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

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

Потім слідує група компонентів, призначена для роботи з електронними таблицями Microsoft Excel. Крім того, компонент ExcelChart цієї групи дозволяє створювати в програмі спеціальні діаграми.

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


Компоненти Data Access

Компоненти закладки Data Access служать для створення в додатку елементів управління доступом до баз даних.

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

Компоненти Data Control

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

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

Компоненти Internet Express

Компоненти закладки InternetExpress дозволяють здійснити побудову додатків з архітектурою клієнт-сервер, які діють по протоколах TCP/IP і HTTP.

Крім того, вони дозволяють створити розподілене мережеве застосування, WEB -сервер, який виступатиме в ролі клієнтського додатка MIDAS (Multi - tierDistributedApplicationServices - багаторівневий сервіс розподілених застосувань). Це технологія" розроблена компанією Inprise/Borland для створення і експлуатації надійних високопродуктивних розподілених систем на основі багатоланкової архітектури.

Компонент XML Broker (XML брокер) представляє пакети даних від постачальника сервісного застосування з кодуванням HML.

Компонент IneiXPage Producer (виробник Інтернет-сторінок) дозволяє згенерувати сторінку HTML з інформацією, отриманою від сервісного додатка MIDAS.

Компоненти Internet

Компоненти закладки Internet забезпечують підключення до програми спеціальних елементів для створення клієнтських і серверних застосувань з протоколами TCP/IP і HTTP.

Компонент ClientSockets (клієнт підключень) дозволяє створювати додатка для клієнтів мережевого підключення по протоколу TCP/IP.

Компонент ServerSockets (сервер підключень) перетворює додаток на сервер TCP/IP. Цей сервер дозволяє контролювати певний порт на предмет розпізнавання запитів і встановлення зєднань.

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


Події

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

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

Методи

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

Edit1 ->Show();

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

Менеджер проектів

Файли, що утворюють додаток - форми і модулі - зібрані в проект. Менеджер проектів показує списки файлів і модулів програми і дозволяє здійснювати навігацію між ними. Можна викликати менеджер проектів, вибравши пункт меню View / Project Manager. За замовчуванням знову створений проект отримує імя Project1.cpp.

Рис.1.5 Менеджер проектів

За умовчаннямпроект спочатку містить файли для однієї форми і вихідного коду одного модуля. Однак більшість проектів містять кілька форм і модулів. Щоб додати модуль або форму до проекту, потрібно клацнути правою кнопкою миші і вибрати пункт New Form з контекстного меню. Можна також додавати існуючі форми і модулі до проекту, використовуючи кнопку Add контекстного меню менеджера проектів і обираючи модуль або форму, яку потрібно додати. Форми і модулі можна видалити в будь-який момент протягом розробки проекту. Однак, через те, що форма повязана завжди з модулем, не можна видалити одне без видалення іншого, за винятком випадку, коли модуль не має звязку з формою. Видалити модуль з проекту можна, використовуючи кнопку Remove менеджера проектів.

Якщо вибрати кнопку Options у менеджері проектів, відкриється діалогова панель опцій проекту, в якій можна вибрати головну форму додатку, визначити, які форми будуть створюватися динамічно, які параметри компіляції модулів (в тому числі створених в Delphi 2.0, так як C Builder може включати їх в проекти) та компонування.

Рис.1.6 Установка опцій проекту

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

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

Графічні компоненти

Операційна система Windows надає розробникам додатку могутні засоби Інтерфейсу Графічних Пристроїв GDI (Graphics Device Interface) для побудови графічних зображень незалежно від типу використовуваного пристрою виводу. На жаль, GDI обтяжує програмістів безліччю додаткових дій (зокрема, з управління системними ресурсами), які відволікають розробника від його основного завдання - створення графіки.

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

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

Підтримка графіки в C Builder

C Builder інкапсулює функції Windows GDI на різних рівнях. Найбільш важливим тут є спосіб, за допомогою якого графічні компоненти представляють свої зображення на екрані монітора. При прямому виклику функції GDI необхідно передавати їм дескриптор контексту пристрою (device context handle), який задає вибрані вами знаряддя малювання - піря, кисті ц шрифти. Після завершення роботи з графічними зображеннями, ви зобовязані відновити контекст пристрою в початковий стан і тільки потім звільнитися від нього.

Замість того, щоб змушувати вас працювати з графікою на такому рівні деталізації, C Builder надає вам простий і завершений інтерфейс за допомогою властивості Canvas (Канва) графічних компонент. Це властивість про-ініціалізує правильний контекст пристрою і звільнить його в потрібний час, коли ви припините малювання. За аналогією з функціями Windows GDI канва має вкладені властивості, що представляють характеристики пера, кисті та шрифту.

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

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

Робота з базами даних у Borland C Builder.

Використовуючи Borland C Builder, можна створити програми, що працюють як з однокористувацький базами даних (БД), так і з серверними СУБД, такими як Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а також з ODBC-джерелами. Можливості C Builder, повязані зі створенням додатків, що використовують бази даних, досить великі для того, щоб описати їх в одній статті. Тому сьогодні ми розглянемо лише найпростіші можливості роботи з таблицями баз даних.

Набір даних у C Builder - це обєкт, який складається з набору записів, кожна з яких, у свою чергу, складається з полів, і покажчика поточного запису. Набір даних може мати повну відповідність з реально існуючої таблицею або бути результатом запиту, він може бути частиною таблиці або обєднувати між собою декілька таблиць. Набір даних у C Builder є нащадком абстрактного класу TDataSet (абстрактний клас - це клас, від якого можна породжувати інші класи, але не можна створити екземпляр обєкта даного класу). Наприклад, класи TQuery, TTable і TStoredProc, що містяться на сторінці палітри компонентів Data Access, - спадкоємці TDBDataSet, який, у свою чергу, є спадкоємцем TDataSet. TDataSet містить абстракції, необхідні для безпосереднього управління таблицями або запитами, забезпечуючи засоби для того, щоб відкрити таблицю або виконати запит і переміщатися по рядках.


2. Склад і опис компонентів введення і відображення числової інформації, дат і часу

Введення і відображення дат і часу компоненти DateTimePicker. З цих компонентів найбільш зручним є DateTimePicker. Компонент дуже ефектний за рахунок появи календаря, що дає (іноді навіть дуже ефектний для строго| оформленого додатку і забезпечує безпомилкове з погляду синтаксису введення дат і вре-мени|. Його властивість Kind| визначає режим роботи компоненту: dtkDate| введення дати, dtkTime| введення часу.

При введенні дат можна задати властивість DateMode| рівним dmComboBox| наявність випадного календаря, або рівним dmUpDown| наявність кнопок збільшення і зменшення, що нагадують ті, які використовуються в описаних раніше компонентах UpDown| і CSpinEdit|. Але|та| в даному випадку за допомогою кнопок користувач може незалежно встановлювати число, місяць і рік. Формат представлення дат визначається свойст-| вом| DateFormat, яке може набувати значень dfShort| короткий формат (наприклад, 08.03.02), або dfLong| повний|цілковитий| формат (наприклад, 8 Березня 2002г|.).

Огляд компонентів бібліотеки C++Builder| 173

Значення дати за умовчанням можна задати в Інспекторові Обєктів через властивість Date|. Ця ж властивість читається для визначення заданої користувачем дати. При читанні Date| треба враховувати тип цієї властивості TDateTime|, що є числом з плаваючою комою, ціла частина| якого містить число днів, відлічене від деякого початку календаря, а дробова частина дорівнює частині 24-годинного дня, тобто характеризує час і не відноситься до дати. Початком календаря вважає дата 12/30/1899 00 годин.

Для перетворення значення властивості Date| в рядок можна скористатися функцією DateToStr. Наприклад, оператор

Memol->Lines->Add|("Дата: " + DateToStr|(DateTimePickerl->Date|));

додасть у вікно Memol рядок вигляду "Дата: 08.03.0.

При введенні дат можна задати значення властивостей MaxDate| і MinDate, визначаючих відповідно максимальну і мінімальну дату, яку може задати користувач.

У режимі введення часу введене користувачем значення можна знайти у властивості Time, тип якої той же розглянутий вище TDateTime.

Перетворити час в рядок можна функцією TimeToStr.

Компонент MonthCalendar схожий на компонент DateTimePicker|, що працює у режимі введення дат. Правда, в компоненті MonthCalendar| передбачені деякі додаткові можливості: можна допустити множинний вибір дат в деякому діапазоні (властивість MultiSelect|), можна указувати в календарі номера тижнів з початку року (властивість WeekNumbers), перебудовувати календар, задаючи перший день кожного тижня (властивість FirstDayOfWeek) і тому подібне Для деяких офісних застосувань все це досить зручно. Компонент є менш барвистим і більш буденно оформлений календар на один місяць. Замість властивості Date в нім передбачені окремі властивості Year| рік, Month| місяць, Day день. Все це цілі числа, з|із| якими іноді зручніше мати справу, чим з типом TDateTime|. Перед відображенням на екрані або в процесі проектування треба задати значення Month| і Year, щоб компонент відобразив| календар на вказаний місяць вказаного року. Втім, якщо вам треба мати календар на поточний місяць, треба встановити

у true| значення властивості UseCurrentDate| (встановлено за умовчанням). В цьому випадку за умовчанням буде показаний календар на поточний місяць з| виділеним в нім поточним днем. Властивість StartOfWeek| задає день, з якого починається тиждень. За умовчанням задане 0 воскресіння, як це прийнято в західних календарях.


3. Технічне завдання

Програма обліку зареєстрованих автомобілів в ДАІ.

Введення .

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

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

Система обліку зареєстрованих автомобілів значно допоможе працівникам ДАІ з обліку, аналізу та обробці даних о зареєстораних автомобілях.

3 .1 Підстави для розробки

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

3 .2 Призначення

Програма призначена для спрощення обліку зареєстрованих автомобілів в ДАІ. Програма не вимагає особливих навичок з володіння персональним компютером.

3 .3 Вимоги до програми або програмного виробу

3 .3.1. Вимоги до функціональних характеристик

3 .3.2. Програма повинна забезпечувати можливість виконання наступних функцій:

Введення текстових і числових даних і зберігання їх в системі;

Видалення елементів з бази;

Перегляд вже внесеної інформації;

Можливість збереження інформації у файлі

Можливість завантаження інформації з файлів

Вихідні дані:

Поля для введення текстової та числової інформації

Кнопки для здійснення необхідних операцій

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

Система повинна працювати на IBM сумісних персональних компютерах.

Мінімальна конфігурація:

Процесор: AMD K6 і вище

Intel Pentium 2 і вище

Обсяг ОЗУ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 64 МБ і більше

Обсяг відеопамяті ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 32 МБ і більше

3 .3.3 Вимоги до інформаційної та програмної сумісності

Система повинна працювати під управлінням операційних систем сімейства Win 32/64 (Windows 95, Windows 98, Windows 2000, Windows XP, Windows Vista, WindowsSeven.).

3 .4 Вимоги до програмної документації

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


4. Опис програми

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

4.1 Інтерфейс програми

Рис. 4.1.1 Інтерфейс програми.

4.2 Додавання даних

Додавання даних відбувається при виборі в головному меню пункту Открыть і відкриття вікна Открыть файл (Рис.4.2.1) і з допомогоюі кнопки Добавить (Рис.4.2.2).

Рис. 4.2.1 Вікно Открыть файл.

Рис.4.2.2 Додавання даних.


4.3 Пошук даних

Для пошуку даних необхідно внести шукану інформацію в по шукачі (Рис. 4.3.1).

Рис. 4.3.1 Пошук даних

4.4 Збереження даних

Зберегти дані можна за допомогою кнопки Сохранить (Рис. 4.4.1).

Рис. 4.4.1 Збереження даних


Висновок

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

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

Розроблена програма зберігає дані у файл. Крім цього, у програмі організований пошук.

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

Створений додаток дозволяє автоматизувати роботу співробітників ДАІ.


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

1. АрхангельськийА.С. Borland C builder.

2. ДжарродХолінгворт, БобСворт, МаркКешмен, ПольГуставсон Borland C + + Builder 6. Керівництворозробника = Borland C + + Builder 6 Developers Guide. - М.: Вільямс, 2004. - С. 976. - ISBN 0-672-32480-6

3. ДжеродХоллінгворс, ДенБаттерфілд, Бобсвот C + + Builder 5. Керівництворозробника = C + + Builder 5 Developers Guide. - М.: Діалектика, 2001. - С. 884. - ISBN 0-672-31972-1

4. Краснов М. Графіка в проектах Borland C builder. - Санкт-Петербург: БХВ, 1998. - 356 с.

5. Проценко С. С., Чаленко П. Й., Ставровській А. Б. Техніка програмування на мові Сі. - До: Лебідь, 1993 - 224 с.

6. Шелест С. Д. Програмування: материал технічної інформації. Санкт-Петербург: БХВ, 2002. - 592 с.

7. compdoc.ru/prog/builder/builder/3.shtml

8. citforum.ru/programming/application/cb2.shtml

9. cbuilder.ru/


Додаток

Лістинг програми:

//---------------------------------------------------------------------------

include

pragma hdrstop

include "Unit1.h"

include "Unit3.h"

//---------------------------------------------------------------------------

pragma package(smart_init)

pragma resource "*.dfm"

TForm1 *Form1;

float p=1,b=1,l,g,m,x,a,c,d,e,buff,Find,z=1,w=0.3,k;

int i;

AnsiString aFileName;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

aFileName = "";

}

//---------------------------------------------------------------------------

// Кнопка закрыть

void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

Form1->Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::StringGrid1Click(TObject *Sender)

{

StringGrid1->Options = StringGrid1->Options >> goEditing;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn2Click(TObject *Sender)

{

if (p>=1)

{

StringGrid1->RowCount = StringGrid1->RowCount+1;

StringGrid1->Cells[0)[b)=p;

p=p+1;

}

if ( Edit1->Text =="")

{

ShowMessage("Введите Номер телефона");

}

else

{

StringGrid1->Cells[1)[b)=Edit1->Text;

}

if ( Edit4->Text =="")

{

ShowMessage("Введите Ф.И.О. аб.");

}

else

{

StringGrid1->Cells[2)[b)=Edit4->Text;

}

if ( ComboBox1->Text=="" )

{

ShowMessage("Выберите Вашего Оператор");

}

else

{

StringGrid1->Cells[3)[b)= ComboBox1->Text;

}

if ( ComboBox2->Text=="" )

{

ShowMessage("Выберите Оператора вызываемого абонента");

}

else

{

StringGrid1->Cells[4)[b)= ComboBox2->Text;

}

if ( Edit2->Text=="" )

{

ShowMessage("Введите продолжительность звонка");

}

else

{

StringGrid1->Cells[5)[b)=Edit2->Text;

}

//Для МТСа

if (ComboBox1->Text =="МТС" && ComboBox2->Text == "МТС" )

{

StringGrid1->Cells[6)[b)= w;

}

if (ComboBox1->Text =="МТС" && ComboBox2->Text == "Киевстар" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="МТС" && ComboBox2->Text == "Life :)" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="МТС" && ComboBox2->Text == "Билайн" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="МТС" && ComboBox2->Text == "Городской телефон" )

{

StringGrid1->Cells[6)[b)= z;

}

//Для Киевстара

if (ComboBox1->Text =="Киевстар" && ComboBox2->Text == "Киевстар" )

{

StringGrid1->Cells[6)[b)= w;

}

if (ComboBox1->Text =="Киевстар" && ComboBox2->Text == "МТС" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Киевстар" && ComboBox2->Text == "Life :)" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Киевстар" && ComboBox2->Text == "Билайн" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Киевстар" && ComboBox2->Text == "Городской телефон" )

{

StringGrid1->Cells[6)[b)= z;

}

//Для Life :)

if (ComboBox1->Text =="Life :)" && ComboBox2->Text == "Life :)" )

{

StringGrid1->Cells[6)[b)= w;

}

if (ComboBox1->Text =="Life :)" && ComboBox2->Text == "МТС" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Life :)" && ComboBox2->Text == "Киевстар" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Life :)" && ComboBox2->Text == "Билайн" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Life :)" && ComboBox2->Text == "Городской телефон" )

{

StringGrid1->Cells[6)[b)= z;

}

//Для Билайна

if (ComboBox1->Text =="Билайн" && ComboBox2->Text == "Билайн" )

{

StringGrid1->Cells[6)[b)= w;

}

if (ComboBox1->Text =="Билайн" && ComboBox2->Text == "МТС" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Билайн" && ComboBox2->Text == "Киевстар" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Билайн" && ComboBox2->Text == "Life :)" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Билайн" && ComboBox2->Text == "Городской телефон" )

{

StringGrid1->Cells[6)[b)= z;

}

//Для Городского телефона

if (ComboBox1->Text =="Городской телефон" && ComboBox2->Text == "Городской телефон" )

{

StringGrid1->Cells[6)[b)= w;

}

if (ComboBox1->Text =="Городской телефон" && ComboBox2->Text == "МТС" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Городской телефон" && ComboBox2->Text == "Киевстар" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Городской телефон" && ComboBox2->Text == "Life :)" )

{

StringGrid1->Cells[6)[b)= z;

}

if (ComboBox1->Text =="Городской телефон" && ComboBox2->Text == "Билайн" )

{

StringGrid1->Cells[6)[b)= z;

}

else

{

x= StrToFloat(StringGrid1->Cells[5)[b));

l= StrToFloat(StringGrid1->Cells[6)[b));

m= StrToFloat(x*l);

StringGrid1->Cells[7)[b) = m;

}

b=b+1;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

StringGrid1->Options Cells[0)[0)="";

StringGrid1->Cells[1)[0)="Номер телефона";

StringGrid1->Cells[2)[0)="Ф.И.О выз. аб.";

StringGrid1->Cells[3)[0)="Оператор выз. аб.";

StringGrid1->Cells[4)[0)="Оператор наб. аб.";

StringGrid1->Cells[5)[0)="Продолж звонка";

StringGrid1->Cells[6)[0)="Стоимость 1 минуты (в грн.)";

StringGrid1->Cells[7)[0)="Сумма к оплате";

StringGrid1->RowCount = 2;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn3Click(TObject *Sender)

{

int DeleteIndex = i;

if(StringGrid1->RowCount > 2)

{

for ( int q = DeleteIndex,MaxRowIndex=StringGrid1->RowCount-1;qRows[q)->Assign(StringGrid1->Rows[q+1));

StringGrid1->RowCount = StringGrid1->RowCount-1;

b=b-1;

int q=1;

for(int x=1;xCells[0)[x)=q;

q=q+1;

}

p=p-1;

}

else

{

StringGrid1->Cells[1)[1) = "";

StringGrid1->Cells[2)[1) = "";

StringGrid1->Cells[3)[1) = "";

StringGrid1->Cells[4)[1) = "";

StringGrid1->Cells[5)[1) = "";

StringGrid1->Cells[6)[1) = "";

StringGrid1->Cells[7)[1) = "";

}

}

//---------------------------------------------------------------------------

bool draw_it;

void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,

int ARow, TRect &Rect, TGridDrawState State)

{

i=ARow;

if (Find && Edit3->Text == StringGrid1->Cells[ACol)[ARow))

{

StringGrid1->Canvas->Brush->Color = clRed; //цвет

StringGrid1->Canvas->FillRect(Rect);

StringGrid1->Canvas->Font->Color = clWhite;

StringGrid1->Canvas->TextOut(Rect.Left, Rect.Top, StringGrid1->Cells[ACol)[ARow));

//Find = false; - раз комментировать если надо найти только первый экземпляр

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn4Click(TObject *Sender)

{

if(OpenDialog1->Execute())

{

TStringList *pStrings = new TStringList;

pStrings->LoadFromFile(OpenDialog1->FileName);

StringGrid1->RowCount = pStrings->Count+1;

for(int i=0; i < pStrings->Count; i++)

{

StringGrid1->Rows[i+1)->Delimiter = wchar_t(" ");

StringGrid1->Rows[i+1)->DelimitedText = pStrings->Strings[i);

}

delete pStrings;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn5Click(TObject *Sender)

{

if(SaveDialog1->Execute()){TStringList *pStrings = new TStringList;

for(int i=1; i RowCount; i++)

{

pStrings->Add(StringGrid1->Cells[0)[i) + " " + StringGrid1->Cells[1)[i) + " " + StringGrid1->Cells[2)[i)+ " " + StringGrid1->Cells[3)[i)+ " " + StringGrid1->Cells[4)[i)+ " " + StringGrid1->Cells[5)[i)+ " " + StringGrid1->Cells[6)[i)+ " " + StringGrid1->Cells[7)[i)+ " " + StringGrid1->Cells[8)[i)+ " " + StringGrid1->Cells[9)[i)+ " " + StringGrid1->Cells[10)[i)+ " " + StringGrid1->Cells[11)[i));

}

pStrings->SaveToFile(SaveDialog1->FileName);

delete pStrings;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn6Click(TObject *Sender)

{

Find = true;

StringGrid1->Repaint();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn7Click(TObject *Sender)

{

AboutBox->Show();

}

//---------------------------------------------------------------------

include

pragma hdrstop

include "Unit3.h"

//---------------------------------------------------------------------

pragma resource "*.dfm"

TAboutBox *AboutBox;

//---------------------------------------------------------------------

__fastcall TAboutBox::TAboutBox(TComponent* AOwner)

: TForm(AOwner)

{

}

//---------------------------------------------------------------------

void __fastcall TAboutBox::OKButtonClick(TObject *Sender)

{

AboutBox->Close();

}

//---------------------------------------------------------------------------

Похожие рефераты:

Курсовая работа на тему Обработка динамических структур Учебное пособие: Объектно-ориентированная среда программирования "Object Pascal" в профильном курсе информатики Учебное пособие: Операционные системы "тонких" клиентов Курсовая работа на тему Операційна система Linux Контрольная работа на тему Основные возможности Microsoft Оffice Outlook Курсовая работа на тему Основы криптологии Отчет по практике: Основы программирования в среде Delphi Контрольная работа на тему Отчеты Microsoft Office Access Курсовая работа на тему Оформление служебных документов Реферат на тему Плоттеры нового поколения Курсовая работа на тему Построение компоненты в Builder C++ Курсовая работа на тему Потоковое видео и открытые системы Курсовая работа на тему Предметная область "тестирование" Реферат на тему Применение компьютерных технологий при проектировании нефтеперерабатывающего завода Контрольная работа на тему Проведение АВС анализа в среде MS EXCEL Курсовая работа на тему Проектування каталогу мобільних телефонів у Access Курсовая работа на тему Проектування офісу САПР-одяг Курсовая работа на тему Разработка автоматизированной системы управления "Трехмерная печать" Контрольная работа на тему Разработка информационной системы "Производство продукции/услуг" Курсовая работа на тему Разработка мультимедийного сайта Курсовая работа на тему Разработка приложения средствами VBA Курсовая работа на тему Разработка программного обеспечения виртуальной библиотеки Курсовая работа на тему Разработка программы сжатия и восстановления файлов с помощью фиксированного блочного кода постоянного смещения Курсовая работа на тему Разработка специализированного процессора для исполнения элементарных функций Курсовая работа на тему Разработка устройства "Светодиодный пробник p-n переходов" Курсовая работа на тему Решение проблемы топологии и установки устройств физического уровня Курсовая работа на тему Решение транспортной задачи Лабораторная работа на тему Решение уравнений, неравенств и их систем Курсовая работа на тему Розвиток сучасних структур програмного забезпечення Реферат на тему Середовище навчання Moodle. Його переваги та недоліки Курсовая работа на тему Система баз данных MS SQL Server 2000 Реферат на тему Система непрерывной подачи чернил Курсовая работа на тему Система съема данных с оптопар Доклад: Сканеры и принтеры, сфера их применения Курсовая работа на тему Современные информационные системы управления государством Реферат на тему Современный уровень развития переносной флэш-памяти и USB-брелков Курсовая работа на тему Создание базы данных "Аттестация сотрудников" Контрольная работа на тему Создание презентации Курсовая работа на тему Спортивная программа и организация базы данных Курсовая работа на тему Суперэлементное моделирование пространственной системы "плита грунтовое основание" Курсовая работа на тему Сутність та принципи роботи ЕОМ Курсовая работа на тему Сучасне інтерактивне спілкування Реферат на тему Сучасний стан інформаційної безпеки. Проблеми захисту комп'ютерної інформації Реферат на тему Сучасні антивірусні програми та принцип їх роботи Реферат на тему Сучасні комп'ютерні технології Курсовая работа на тему Сучасні операційні системи, архітектура, відмінні характеристики, функціональність, виробництво і перспективи розвитку Реферат на тему Сучасні програмні продукти для управління маркетинговою діяльністю Контрольная работа на тему Сучасні системи автоматизованого проектування графічних проектів Реферат на тему Сущность алгоритмов Контрольная работа на тему Сущность защиты информации Реферат на тему Сущность искусственного интеллекта Курсовая работа на тему Схема електрична принципова модуля на базі 8-розрядного мікропроцесора Контрольная работа на тему Схема контроллера Реферат на тему Схема радиомодема Реферат на тему Схемы шифрования AES, RC4, RC5, RC6, Twofish, Mars Курсовая работа на тему Счетчик обратного отсчета Курсовая работа на тему Технологии компьютерных игр Реферат на тему Функции и возможности текстового редактора Дипломная работа на тему Функціонування системи інформаційного обслуговування користувачів бібліотек у сучасних умовах Реферат на тему Характеристика качества ПО "практичность" Курсовая работа на тему Цвет и графика на ЭВМ Реферат на тему Что такое компьютерная сеть. Виды сетей Контрольная работа на тему Экономические информационные системы Дипломная работа на тему Электронная почта Курсовая работа на тему Язык программирования высокого уровня С++ Курсовая работа на тему Языки программирования Контрольная работа на тему Установка и настройка программного обеспечения локальной сети Курсовая работа на тему Датчики скорости коррозии как элементы АСУ общей системы мониторинга Курсовая работа на тему Динамическое формирование и преобразование списков и структур Шпаргалка: Дискретная техника Реферат на тему Устройство персонального компьютера Курсовая работа на тему Устройство управления системой измерения веса Контрольная работа на тему Утилиты, буфер обмена, автоформат MS Excel Доклад: Файловая система для операционной системы Windows Лабораторная работа на тему Дослідження файлової структури Курсовая работа на тему Економічні задачі лінійного програмування і методи їх вирішення Курсовая работа на тему Емпіричне дослідження програмного забезпечення Курсовая работа на тему Автоматизация системы управления холодильной установкой Курсовая работа на тему Автоматизированная система управления климатом в тепличных хозяйствах Реферат на тему Автомобильная электроника Курсовая работа на тему Анализ доходов отдела фирмы, занимающейся розничной торговлей офисной мебелью Курсовая работа на тему База данных "Магазин по продаже дисков" Курсовая работа на тему Безпровідна мережа Wi-Fi, її будування Контрольная работа на тему Компьютерная графика Реферат на тему Компьютерная графика Контрольная работа на тему Компьютерная графика Реферат на тему Компьютерная графика и решаемые ею задачи Курсовая работа на тему Компьютерная лингвистика Дипломная работа на тему Компьютерная модель СГ в координатах d, q, 0 в режиме ХХ Курсовая работа на тему Назначение и возможности 3d's МАХ 9.0 Реферат на тему Назначение и основные функции электронных таблиц Лабораторная работа на тему Настройка ОС Windows Контрольная работа на тему Методы информационных технологий в делопроизводстве Учебное пособие: Методы исследования операций Курсовая работа на тему Применение пакетов прикладных программ в экономике Контрольная работа на тему Применение программы Ехсеl для определения заработка водителей такси Курсовая работа на тему Применение симплекс-метода Курсовая работа на тему Проблемы документационного обеспечения управления и использования электронной цифровой подписи Контрольная работа на тему Проблемы защиты информации Курсовая работа на тему Проблемы защиты информации в компьютерных сетях