Розробка програмного забезпечення для комунального підприємства «ВодГео»
У властивостях ToolBar змінюю такі властивості: DisabledImages, HotImages, Images на ImageList1. Потім у властивості ImageIndex вибираю потрібний номер картинки для кнопки і прописую відповідний для неї код. Виділяю DBGrid та DBNavigator, змінюю властивість DataSource→ DataModule2→DataSource2таким чином з'єднавши їх з таблицею «Клієнти». На Button1 прописую код для пошуку інформації… Читати ще >
Розробка програмного забезпечення для комунального підприємства «ВодГео» (реферат, курсова, диплом, контрольна)
Зміст
- Вступ
- 1. Системний аналіз
- 1.1 Огляд предметної області
- 1.2 Вимоги до продукту (Визначення С, D-вимог)
- 2. Розробка інтерфейсу програми
- 2.1 Кроки розробки призначених для користувача інтерфейсів
- 2.2 Проектування інтерфейсу
- 3. Вибір архітектури
- 3.1 Встановлення зв’язку с базою даних
- 3.2 Вибір сервера баз даних
- 4. Детальне проектування
- 4.1 Логічна структура бази даних проекту
- 4.2 Розробка структури таблиць бази даних
- Висновок
- Список літератури
- Додаток
Вступ
Розробка програмного забезпечення — це рід діяльності (професія) і процес, спрямований на створення і підтримку працездатності, якості та надійності програмного забезпечення, використовуючи технології, методологію та практики з інформатики, управління проектами, математики, інженерії та інших областей знання.
Як і інші традиційні інженерні дисципліни, розробка програмного забезпечення має справу з проблемами якості, вартості та надійності. Деякі програми містять мільйони рядків вихідного коду, які, як очікується, повинні правильно виконуватися в умовах, що змінюються.
Метою «Основ програмної інженерії» є визначення і систематизація тих аспектів діяльності, які складають суть професії розробника програмного забезпечення (ПЗ). Предметом «Основ програмної інженерії» є коло питань і проблем, що виникають при промисловій розробці ПЗ. Особливість такої розробки пов’язана з комерційним характером ПЗ, його конструктивною складністю, колективним характером роботи та низкою інших специфічних характеристик.
Виконання курсової роботи має на меті:
— систематизацію, закріплення та розширення теоретичних та практичних знань, застосування їх при розв’язанні конкретних фахових задач;
— розвиток навиків самостійної роботи та оволодіння методикою дослідження при розв’язанні проблем, які розробляються в курсовій роботі.
база сервер архітектура інтерфейс
1. Системний аналіз
1.1 Огляд предметної області
КП «ВодГео» «- комунальне підприємство у сфері водопостачання та водовідведення в місті Сміла.
КП «ВодГео» відповідає за забір, підйом води з поверхневих та підземних джерел водопостачання, очищення відповідно до вимог Технологічних регламентів, транспортування, подачу питної води споживачам згідно з вимогами Державних санітарних правил і норм 2.2.4−171. — 10 «Гігієнічні вимоги до води питної, призначеної для споживання людиною» з подальшим відведенням стоків не лише міста Києва, але й прилеглих населених пунктів Київської області.
Департамент експлуатації водопровідного господарства КП «ВодГео» обслуговує понад 4 тисячі кілометрів водопровідних мереж. Обслуговування водопровідних мереж здійснюють 11 водопровідних експлуатаційних районів та служба експлуатації водогонів. Сміла забезпечується питною водою з трьох джерел водопостачання — річок Дніпра, Десни та підземних водоносних горизонтів.
1.2 Вимоги до продукту (Визначення С, D-вимог)
Специфікація вимог до ПЗ " ВодГео"
1. Вступ
Даний документ призначений для визначення завдання на розробку програмного продукту для КП «ВодГео», а також для системних, функціональних та не функціональних вимог до даного продукту.
1.1 Мета
Фіксування вимог до продукту.
Опис роботи майбутньої системи.
Створення продукту для обробки оплат в компанії «ВодГео» .
1.2 Область застосування
Область застосування програми — сфера обслуговування клієнтів-платників
компанії.
2. Загальний опис
2.1 Характеристики
Програма повинна:
1) вести облік клієнтів, працівників, філіалів;
2) заповнювати договори та квитанції;
3) проводити пошук даних;
4) друкувати звіти;
2.2 Користувачі:
1) Директор.
2) Бухгалтер.
2.3 Середовище функціонування:
Даний продукт працює на операційній системі Windows 95/98/2003/
Vista/XP/7/8.
Апаратна платформа: Клавіатура, миша, монітор, системний блок
(материнська плата, вінчестер, процесор, блок живлення, відеоадаптер).
3. Характеристики системи
3.1 Функціональні вимоги:
1) Продукт повинен дозволяти вводити дані про клієнтів (ПІБ, Телефон
Адреса), працівників (ПІБ, Телефон Адреса), філіали (Назва філіалу,
Адреса, Телефон), договори (Код договору, Код клієнта, Дата), квитанції (Код квитанції, Код філіалу, Код клієнта, Код працівника, ПІБ клієнта, ПІБ працівника, Сума, Дата до оплати);
2) Продукт повинен дозволяти виводити дані про клієнтів, працівників,
філіали, договори, квитанції;
3) Продукт повинен дозволяти видаляти дані;
4) Продукт повинен дозволяти здійснювати пошук даних по ПІБ клієнта;
5) Продукт повинен дозволяти друкувати звіти.
4. Вимоги до зовнішніх інтерфейсів
4.1 Користувацькі інтерфейси:
На інтерфейсі продукту повинно бути:
1) Головне меню;
2) Таблиця бази даних;
3) Кнопки додавання та видалення даних.
4) Кнопки пошуку даних.
5) Меню швидкого доступу.
4.2 Апаратні інтерфейси:
1) Взаємодіє з принтером.
5. Нефункціональні вимоги
5.1 Вимоги продуктивності:
1) Продукт повинен здійснювати пошук менше ніж за секунду;
2) Програма повинна бути розроблена на мові С++.
2. Розробка інтерфейсу програми
2.1 Кроки розробки призначених для користувача інтерфейсів
Для проектування інтерфейсу додатку знадобилося дізнатись інформацію про користувача, проаналізувати його рівень комп’ютерних знань та вмінь. Я проаналізувала можливих користувачів, які будуть користуватися додатком та вивела інформацію в окрему таблицю, табл.2.1
Таблиця 2.1 — Характеристика користувача
Характеристика | Градації | |
Рівень знань і досвід | ||
Комп’ютерна грамотність | Середній. Користувач повинен володіти елементарними навиками користування комп’ютером | |
Системний досвід | Середній | |
Досвід роботи з подібними програмами | Середній | |
Освіта | Закінчена середня освіта | |
Рівень читання | 12 років в школі | |
Машинопис | 135 слів за хвилину | |
Фізичні характеристики користувача | ||
Вік | Молодий, середнього віку, літній | |
Стать | Чоловіча, жіноча | |
Розвиненість рук | Лівша, правша, володіє однаково обома руками | |
Фізичні вади | Бажано без фізичних вад | |
Характеристики завдань і роботи користувача | ||
Спосіб використання цієї програми | Ознайомлення з інформацією, яка в ній знаходиться | |
2.2 Проектування інтерфейсу
Проектування інтерфейсу виконано в середовищі C++Builder 6, в такому процесі:
1) Вікно головної форми КП «ВодГео» :
Додаю на Form1 MainMenu, ToolBar, StatusBar, Memo1;
Натиснувши 2 рази на MainMenu прописую назви кнопок швидкого доступу.
На ToolBar за допомогою команди NewButton додаю 11 кнопок, для швидкого доступу до інших вікон. Додаю на форму ImageList, натискаю 2 рази і за допомогою команди Add додаю зображення з розширенням *. bmp.
У властивостях ToolBar змінюю такі властивості: DisabledImages, HotImages, Images на ImageList1. Потім у властивості ImageIndex вибираю потрібний номер картинки для кнопки і прописую відповідний для неї код. У властивості Lines компонента Memo1 прописую «Інструкцію для користувача». Зберігаю результати, додаток 2.
2) Вікно «Клієнти «КП ВодГео» :
Додаю на Form1 MainMenu, ToolBar, StatusBar, DBGrid, DBNavigator, Button1, Button2, RadioButton;
Натиснувши 2 рази на MainMenu прописую назви кнопок швидкого доступу.
На ToolBar за допомогою команди NewButton додаю 11 кнопок, для швидкого доступу до інших вікон. Додаю на форму ImageList, натискаю 2 рази і за допомогою команди Add додаю зображення з розширенням *. bmp.
У властивостях ToolBar змінюю такі властивості: DisabledImages, HotImages, Images на ImageList1. Потім у властивості ImageIndex вибираю потрібний номер картинки для кнопки і прописую відповідний для неї код. Виділяю DBGrid та DBNavigator, змінюю властивість DataSource-> DataModule2->DataSource2таким чином з'єднавши їх з таблицею «Клієнти». На Button1 прописую код для пошуку інформації по виділеному стовпчику (стовпчик виділяється RadioButton). На Button2 прописую код для фільтрації інформації по виділеному стовпчику (стовпчик виділяється RadioButton).
Зберігаю отриману форму, додаток 2.
3) Вікно «Працівники «КП ВодГео» «
Додаю на Form1 MainMenu, ToolBar, StatusBar, DBGrid, DBNavigator, Button1, Button2, RadioButton;
Натиснувши 2 рази на MainMenu прописую назви кнопок швидкого доступу.
На ToolBar за допомогою команди NewButton додаю 11 кнопок, для швидкого доступу до інших вікон. Додаю на форму ImageList, натискаю 2 рази і за допомогою команди Add додаю зображення з розширенням *. bmp.
У властивостях ToolBar змінюю такі властивості: DisabledImages, HotImages, Images на ImageList1. Потім у властивості ImageIndex вибираю потрібний номер картинки для кнопки і прописую відповідний для неї код. Виділяю DBGrid та DBNavigator, змінюю властивість DataSource-> DataModule2->DataSource2таким чином з'єднавши їх з таблицею «Клієнти». На Button1 прописую код для пошуку інформації по виділеному стовпчику (стовпчик виділяється RadioButton). На Button2 прописую код для фільтрації інформації по виділеному стовпчику (стовпчик виділяється RadioButton).
Зберігаю отриману форму, додаток 2.
4) Вікно «Договори «КП ВодГео» «
Додаю на Form1 MainMenu, ToolBar, StatusBar, DBGrid, DBNavigator, Button1, Button2, RadioButton;
Натиснувши 2 рази на MainMenu прописую назви кнопок швидкого доступу.
На ToolBar за допомогою команди NewButton додаю 11 кнопок, для швидкого доступу до інших вікон. Додаю на форму ImageList, натискаю 2 рази і за допомогою команди Add додаю зображення з розширенням *. bmp.
У властивостях ToolBar змінюю такі властивості: DisabledImages, HotImages, Images на ImageList1. Потім у властивості ImageIndex вибираю потрібний номер картинки для кнопки і прописую відповідний для неї код. Виділяю DBGrid та DBNavigator, змінюю властивість DataSource-> DataModule2->DataSource2таким чином з'єднавши їх з таблицею «Клієнти». На Button1 прописую код для пошуку інформації по виділеному стовпчику (стовпчик виділяється RadioButton). На Button2 прописую код для фільтрації інформації по виділеному стовпчику (стовпчик виділяється RadioButton).
Зберігаю отриману форму, додаток 2.
5) Вікно «Філіали «КП ВодГео» «
Додаю на Form1 MainMenu, ToolBar, StatusBar, DBGrid, DBNavigator, Button1, Button2, RadioButton;
Натиснувши 2 рази на MainMenu прописую назви кнопок швидкого доступу.
На ToolBar за допомогою команди NewButton додаю 11 кнопок, для швидкого доступу до інших вікон. Додаю на форму ImageList, натискаю 2 рази і за допомогою команди Add додаю зображення з розширенням *. bmp.
У властивостях ToolBar змінюю такі властивості: DisabledImages, HotImages, Images на ImageList1. Потім у властивості ImageIndex вибираю потрібний номер картинки для кнопки і прописую відповідний для неї код. Виділяю DBGrid та DBNavigator, змінюю властивість DataSource-> DataModule2->DataSource2таким чином з'єднавши їх з таблицею «Клієнти». На Button1 прописую код для пошуку інформації по виділеному стовпчику (стовпчик виділяється RadioButton). На Button2 прописую код для фільтрації інформації по виділеному стовпчику (стовпчик виділяється RadioButton).
Зберігаю отриману форму, додаток 2.
6) Вікно «Квитанції «КП ВодГео» «
Додаю на Form1 MainMenu, ToolBar, StatusBar, DBGrid, DBNavigator, Button1, Button2, RadioButton;
Натиснувши 2 рази на MainMenu прописую назви кнопок швидкого доступу.
На ToolBar за допомогою команди NewButton додаю 11 кнопок, для швидкого доступу до інших вікон. Додаю на форму ImageList, натискаю 2 рази і за допомогою команди Add додаю зображення з розширенням *. bmp.
У властивостях ToolBar змінюю такі властивості: DisabledImages, HotImages, Images на ImageList1. Потім у властивості ImageIndex вибираю потрібний номер картинки для кнопки і прописую відповідний для неї код. Виділяю DBGrid та DBNavigator, змінюю властивість DataSource-> DataModule2->DataSource2таким чином з'єднавши їх з таблицею «Клієнти». На Button1 прописую код для пошуку інформації по виділеному стовпчику (стовпчик виділяється RadioButton). На Button2 прописую код для фільтрації інформації по виділеному стовпчику (стовпчик виділяється RadioButton).
Зберігаю отриману форму, додаток 2.
7) Вікно звіту договорів.
Додаю на форму QuickRep, TitleBand1, DetailBand1, QRLabel1, QRDBText1.
У властивостях QuickRep змінюю DataSet на DataModule2->ADOTable4 (тим самим прив’язую таблицю «Договори»). На TitleBand1 додаю 3 QRLabel1 та у властивості Caption прописую назви стовпців в звіті. На DetailBand1 додаю 3 QRDBText1 та змінюю властивість DataSet на DataModule2->ADOTable4 та DataField на потрібну назву таблиці. Натискаю Preview і переглядаю створений звіт, додаток 2.
8) Вікно звіту створених квитанцій.
Додаю на форму QuickRep, TitleBand1, DetailBand1, QRLabel1, QRDBText1, QRExpr1.
У властивостях QuickRep змінюю DataSet на DataModule2->ADOTable5 (тим самим прив’язую таблицю «Квитанції»). На TitleBand1 додаю 3 QRLabel1 та у властивості Caption прописую назви стовпців в звіті. На DetailBand1 додаю 3 QRDBText1 та змінюю властивість DataSet на DataModule2->ADOTable5 та DataField на потрібну назву таблиці. Натискаю на QRExpr1 і у властивості Expression створюю формулу для обчислення загальної суми за день (SUM (ADOTable1. Сума)). Натискаю Preview і переглядаю створений звіт, додаток 2.
9) Вікно довідки по роботі з програмою.
Додаю на форму Panel, Image, Memo.
На Panel додаю Image, і у властивості Picture додаю картинку (логотип компанії). У властивостях компонента Memo змінюю Lines-> «текст довідки по роботі з програмою». Зберігаю створену форму, додаток 2.
10) Вікно довідки про програмою.
Додаю на форму Panel, Image, Memo.
На Panel додаю Image, і у властивості Picture додаю картинку (логотип компанії). У властивостях компонента Memo змінюю Lines-> «інформацію про розробника та версію». Зберігаю створену форму, додаток 2.
3. Вибір архітектури
3.1 Встановлення зв’язку с базою даних
Є три різних типи компонентів потоку даних: джерела, перетворення і цільові об'єкти. Джерела витягують дані зі сховищ, таких як таблиці та подання реляційних баз даних, файли. Перетворення змінюють, об'єднують і очищають дані. Цільові об'єкти завантажують дані у сховища або створюють набори даних у пам’яті.
З'єднання компонентів потоку даних здійснюється шляхом з'єднання виходів джерел і перетворень з входами перетворень і цільових об'єктів. При створенні потоку даних зазвичай з'єднуються другий і наступні компоненти — так само, як їх додавали до потоку даних. Після з'єднання компонента вхідні стовпці можуть бути використані при налаштуванні компонента. Коли немає доступних вхідних стовпців, настройка компонента завершиться після його приєднання до потоку даних.
Для з'єднання БД з середовищем C++ Builder я використовую декілька компонентів з вкладки ADO: TADOConnection, TDataSource, TADOTable.
Для зв’язку з базою даних використовується компонент ADOConnection, в якому вказується шлях до потрібної бази даних та використовується драйвер «Microsoft Jet 4.0 OLE DB Provider», через нього здійснюється підключення до бази даних КП «ВодГео», Рис. 1
Рис. 1 Встановлення зв’язку з БД
Також для зображення бази даних на формі використовується DataSource та ADOTable, потім DataSource підключається до DBGrid і виводиться обрана таблиця.
З'єднаную проект з базою даних КП «ВодГео» :
Додаємо на форму Data Module, на ній розміщуємо такі компоненти: ADOConnection, DataSource, ADOTable.
Натиснувши 2 рази на ADOConnection вибираю потрібний драйвер, та підключаю базу даних. У властивостях DataSource: DataSet=ADOTable2 (підключила одну з таблиць бази даних до DataSource). У властивостях ADOTable: Connection=ADOConnection; Active=true; TableName=Клієнти (підключили таблицю «Клієнти»).
3.2 Вибір сервера баз даних
Для генерації бази даних було використано сервер ODBC.
Цей сервер виконує обслуговування та управління базою даних і відповідає за цілісність і збереження даних, а також забезпечує операції введення-виведення при доступі клієнта до інформації.
Ці всі дії були описані в діаграмі потоків даних, що була створена в BP-win.
В ній описане створення звіту, розрахунок оплати для користувача, друк договору, друк квитанції для оплати, пошук платника та виведення договору та звіту на принтер, додаток 3.
За допомогою програми ER-Win було згенеровоно код для майбутньої бази даних, а вже потім за допомогою програми BatchAccess (консольна утиліта для управління базами MS Access), в яку був занесений код з ER-Win була створена база даних «КП «ВодГео» «, Рис. 2.
Рис. 2 Створення Бази даних
4. Детальне проектування
4.1 Логічна структура бази даних проекту
Основними об'єктами бази даних КП «ВодГео» є таблиці:
— Працівники
— Клієнти
— Філіали
— Договори
— Квитанції
Таблиця «Працівники» зв’язана з таблицею «Філіали» компанії полем «Код працівника» та зв’язана з таблицею «Квитанції оплати» полем «Код працівника»; Таблиця «Філіали компанії» зв’язана з таблицею «Квитанціх оплати» полем «Код філіалу»; Таблиця «Договір» зв’язана з таблицею «Філіали компанії» полем «Код договору»; Таблиця «Клієнти» зв’язана з таблицею «Квитанції оплати» полем «Код клієнта», (додаток 3).
Також є такі об'єкти, як SQL-запити, які були сформовані в Builder С++ 6 за допомогою компонента ADOQuery.
В таблиці «Клієнти» йде опис клієнтів, що користуються послугами КП" ВодГео" .
В таблиці «Працівники» вказуються працівники філіалів КП" ВодГео" .
В таблиці «Договори» йде перелік договорів між КП «ВодГео» та клієнтами компанії.
В таблиці «Філіали» вносяться дані про філіали КП «ВодГео» по всій країні.
В таблиці «Квитанції оплати» заносяться дані про клієнта, філіал, договір та обраховується сума до оплати, також визначається крайній строк оплати квитанції.
4.2 Розробка структури таблиць бази даних
Таблиця «Клієнти», додаток 4:
— Код клієнта містить індивідуальний код кожного клієнта.
— ПІБ містить прізвище, ім'я, по-батькові клієнта компанії.
— Адреса містить адресу місця проживання клієнта.
— Телефон містить номер мобільного або домашнього номера телефона клієнта.
Таблиця «Працівники», додаток 4:
Код працівника містить індивідуальний код працівника.
ПІБ містить прізвище, ім'я, по-батькові працівника компанії.
Адреса містить адресу місця проживання працівника.
Телефон містить номер мобільного або домашнього номера телефона працівника.
Таблиця «Договір», додаток 4:
Код договору містить універсальний код для кожного договору.
Код клієнта містить індивідуальний код кожного клієнта.
Дата містить дату укладення договору.
Таблиця «Філіали», додаток 4:
Код філіалу містить індивідуальний код для кожного філіалу.
Код договору містить універсальний код для кожного договору, який був укладений в даному філіалі.
Код працівника містить індивідуальний код працівника, який працює в даному філіалі.
Назва філіалу містить офіційну назву філіалу.
Адреса містить адресу на якій розташований філіал.
Телефон містить номер мобільного або домашнього номера телефона філіалу.
Таблиця «Квитанції оплати», додаток 4:
Код квитанції містить індивідуальний код для кожної квитанції.
Код філіалу містить індивідуальний код для кожного філіалу.
Код клієнта містить індивідуальний код кожного клієнта.
Код працівника містить індивідуальний код працівника.
ПІБ містить прізвище, ім'я, по-батькові клієнта компанії.
ПІБ містить прізвище, ім'я, по-батькові працівника компанії.
Сума містить суму коштів за використані ресурси компанії клієнтами.
Дата до оплати містить кінцеву дату оплати по квитанції за використані ресурси компанії клієнтами.
Структуру таблиць бази даних можна переглянути на рисунках 4.1 — 4.5.
Рис. 4.1 Конструктор таблиці «Клієнти»
Рис. 4.2 Конструктор таблиці «Працівники»
Рис. 4.3 Конструктор таблиці «Договори»
Рис. 4.4 Конструктор таблиці «Філіали»
Рис. 4.5 Конструктор таблиці «Квитанції оплати»
Висновок
Розробляючи курсову роботу я поновила та поглибила свої знання з програмної інженерії, зрозуміла її важливість в різних сферах життя, адже в сучасному житті немає жодного напрямку де б не використовувались комп’ютерні технології.
При розробці курсового проекту було створено програмний додаток КП «ВодГео», який працює з базою даних фірми «ВодГео» .
Створений додаток було з'єднано за базою даних за допомогою компонента ADOConection та драйвера «Microsoft Jet 4.0 OLE DB Provider». Таблиці бази даних були підключені до програмного додатку за допомогою компонентів DataSource та ADOTable, а виведення даних було здійснено за допомогою компоненту DBGrid.
Було створено меню швидкого запуску за допомогою компонента ToolBar та MainMenu.
За допомогою компоненту DBNavigator можна додавати, видаляти, оновлювати поля, перемикати на наступне або попереднє поле в таблиці.
Також був створений пошук по таблицях, та фільтрація даних в таблиці з участю RadioGroup.
Для розробки програмного додатку знадобилось створити схему функціональної діяльності проектованої системи (IDEF0), (додаток 3); діаграму потоків даних проектованої системи (DFD), (додаток 3); діаграма варіантів використання проектованої системи, Рис.3; логічну модель бази даних проектованої системи в ERwin, (додаток 3).
Даний програмний додаток є простим у використанні та зрозумілим у інтерфесі, що робить його зрозумілим з першого погляду. Програмним додатком може користуватись як звичайний працівник, так і бухгалтер або директор компанії.
Список літератури
1. Borland C++ Builder 5. Энциклопедия программиста. Калверт Ч., Рейсдорф К., «ДиаСофт» — 2001, 944 стр.
2. Архангельский А. Я. C++Builder 6. Справочное пособие. Книга 1. Язык C++. — М.: Бином-Пресс, 2002 г. — 544 с.: ил.
3. Архангельский А. Я. C++Builder 6. Справочное пособие. Книга 2. Классы и компоненты. М.: Бином-Пресс, 2002 г. — 528 с.: ил.
4. Хомоненко А. Д., Ададуров С. Е. Работа с базами данных в C++ Builder. — СПб.: БХВ-Петербург, 2006. — 496 с: ил.
5. Джарод Холингвэрт, Дэн Баттерфилд, Боб Сворт, Джейми Оллсоп С++ Builder 5. Руководство разработчика.
6. Хаббард Дж. Автоматизированное проектирование баз данных. — М.: Мир, 1984. — 294 с.
7. Карпова Т. С. Базы данных: модели, разработка, реализация. — СПб.: Питер, 2002. — 304 с.
8. Кириллов В. В. Структуризованный язык запросов (SQL). — СПб.: ИТМО, 1994. — 80 с.
9. http://www.cyberforum.ru/cpp-beginners/thread152353.html
10. Borland C++ Builder 6. Разработка приложений баз данных, Послед Б. С., 2003, 320 стр.
Додаток
Додаток 1. Лістинг програми
Unit1. cpp
#include
#pragma hdrstop
#include «Unit1. h»
#include «Unit2. h»
#include «Unit3. h»
#include «Unit4. h»
#include «Unit5. h»
#include «Unit6. h»
#include «Unit7. h»
#include «Unit8. h»
#include «Unit9. h»
#include «Unit10. h»
#include «Unit11. h»
#include «Unit12. h»
#pragma package (smart_init)
#pragma resource «*. dfm»
TForm1 *Form1;
__fastcall TForm1: TForm1 (TComponent* Owner)
: TForm (Owner)
{ }
void __fastcall TForm1: N2Click (TObject *Sender)
{ Form4->Show (); }
void __fastcall TForm1: N3Click (TObject *Sender)
{ Form5->Show (); }
void __fastcall TForm1: N4Click (TObject *Sender)
{ Form6->Show (); }
void __fastcall TForm1: N5Click (TObject *Sender)
{ Form7->Show (); }
void __fastcall TForm1: N6Click (TObject *Sender)
{ Form8->Show (); }
void __fastcall TForm1: N8Click (TObject *Sender)
{ Form9->QuickRep1->Preview (); }
void __fastcall TForm1: N9Click (TObject *Sender)
{ Form10->QuickRep1->Preview (); }
void __fastcall TForm1: N14Click (TObject *Sender)
{ Form12->Show (); }
void __fastcall TForm1: N12Click (TObject *Sender)
{ Close (); }
void __fastcall TForm1: N13Click (TObject *Sender)
{ Form11->Show (); }
void __fastcall TForm1: N10Click (TObject *Sender)
{ Form3->Show (); }
void __fastcall TForm1: ToolButton1Click (TObject *Sender)
{ Form4->Show (); }
void __fastcall TForm1: ToolButton2Click (TObject *Sender)
{ Form5->Show (); }
void __fastcall TForm1: ToolButton3Click (TObject *Sender)
{ Form6->Show (); }
void __fastcall TForm1: ToolButton4Click (TObject *Sender)
{ Form7->Show (); }
void __fastcall TForm1: ToolButton5Click (TObject *Sender)
{ Form8->Show (); }
void __fastcall TForm1: ToolButton7Click (TObject *Sender)
{ Form9->QuickRep1->Preview (); }
void __fastcall TForm1: ToolButton8Click (TObject *Sender)
{ Form10->QuickRep1->Preview (); }
void __fastcall TForm1: ToolButton10Click (TObject *Sender)
{ Form3->Show (); }
void __fastcall TForm1: ToolButton12Click (TObject *Sender)
{ Form11->Show (); }
void __fastcall TForm1: ToolButton13Click (TObject *Sender)
{ Form12->Show (); }
void __fastcall TForm1: ToolButton15Click (TObject *Sender)
{ Close (); }
Unit 3. cpp
#include
#pragma hdrstop
#include «Unit3. h»
#include «Unit1. h»
#include «Unit2. h»
#include «Unit4. h»
#include «Unit5. h»
#include «Unit6. h»
#pragma package (smart_init)
#pragma resource «*. dfm»
TForm3 *Form3;
__fastcall TForm3: TForm3 (TComponent* Owner)
: TForm (Owner)
{ }
void __fastcall TForm3: Button1Click (TObject *Sender)
{ DataModule2->ADOQuery3->Active=true;
DBGrid1->DataSource=DataModule2->DataSource8;
DBNavigator1->DataSource=DataModule2->DataSource8; }
void __fastcall TForm3: Button2Click (TObject *Sender)
{ DataModule2->ADOQuery2->Active=true;
DBGrid1->DataSource=DataModule2->DataSource7;
DBNavigator1->DataSource=DataModule2->DataSource7; }
void __fastcall TForm3: Button3Click (TObject *Sender)
{ DataModule2->ADOQuery4->Active=true;
DBGrid1->DataSource=DataModule2->DataSource9;
DBNavigator1->DataSource=DataModule2->DataSource9; }
void __fastcall TForm3: Button4Click (TObject *Sender)
{ DataModule2->ADOQuery5->Active=true;
DBGrid1->DataSource=DataModule2->DataSource10;
DBNavigator1->DataSource=DataModule2->DataSource10; }
Unit 4. cpp
#include
#pragma hdrstop
#include «Unit4. h»
#include «Unit1. h»
#include «Unit2. h»
#include «Unit3. h»
#include «Unit5. h»
#include «Unit6. h»
#include «Unit11. h»
#include «Unit12. h»
#include «Unit13. h»
#include «Unit7. h»
#include «Unit8. h»
#include «Unit9. h»
#include «Unit10. h»
#pragma package (smart_init)
#pragma resource «*. dfm»
TForm4 *Form4;
__fastcall TForm4: TForm4 (TComponent* Owner)
: TForm (Owner)
{ }
void __fastcall TForm4: Button1Click (TObject *Sender)
{ if (Edit1->Text=="")
{ ShowMessage («Введіть поле»); }
else
if (DataModule2->ADOTable2->Locate («ПІБ», Edit1->Text, TLocateOptions ()))
ShowMessage («Поле знайдено»);
else
ShowMessage («Поле не знайдено»); }
void __fastcall TForm4: Button2Click (TObject *Sender)
{ String fd;
if (RadioButton1->Checked==true) { fd="Код_клієнта"; }
if (RadioButton2->Checked==true) { fd="ПІБ"; }
if (RadioButton3->Checked==true) { fd="Адреса"; }
if (RadioButton4->Checked==true) { fd="Телефон"; }
if (Edit2->Text! ="")
{ DataModule2->ADOTable2->Filtered = false;
DataModule2->ADOTable2->Filter = fd+" like '" +Edit2->Text+" '" ;
DataModule2->ADOTable2->Filtered = true; }
else DataModule2->ADOTable2->Filtered = false; }
void __fastcall TForm4: ToolButton1Click (TObject *Sender)
{ Form4->Show (); }
void __fastcall TForm4: ToolButton2Click (TObject *Sender)
{ Form5->Show (); }
void __fastcall TForm4: ToolButton3Click (TObject *Sender)
{ Form6->Show (); }
void __fastcall TForm4: ToolButton4Click (TObject *Sender)
{ Form7->Show (); }
void __fastcall TForm4: ToolButton5Click (TObject *Sender)
{ Form8->Show (); }
void __fastcall TForm4: ToolButton7Click (TObject *Sender)
{ Form9->QuickRep1->Preview (); }
void __fastcall TForm4: ToolButton8Click (TObject *Sender)
{ Form10->QuickRep1->Preview (); }
void __fastcall TForm4: ToolButton10Click (TObject *Sender)
{ Form3->Show (); }
void __fastcall TForm4: ToolButton12Click (TObject *Sender)
{ Form11->Show (); }
void __fastcall TForm4: ToolButton13Click (TObject *Sender)
{ Form12->Show (); }
void __fastcall TForm4: ToolButton15Click (TObject *Sender)
{ Close (); }
Unit 5. h
#ifndef Unit5H
#define Unit5H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class TForm5: public TForm
{
__published: // IDE-managed Components
TDBGrid *DBGrid1;
TDBNavigator *DBNavigator1;
TStatusBar *StatusBar1;
TLabel *Label1;
TDBEdit *DBEdit1;
TLabel *Label2;
TDBEdit *DBEdit2;
TLabel *Label3;
TDBEdit *DBEdit3;
TLabel *Label4;
TDBEdit *DBEdit4;
TRadioButton *RadioButton1;
TRadioButton *RadioButton2;
TRadioButton *RadioButton3;
TRadioButton *RadioButton4;
TButton *Button1; TEdit *Edit1; TButton *Button2;
TEdit *Edit2; TToolBar *ToolBar1; TToolButton *ToolButton1; TMainMenu *MainMenu1; TMenuItem *N1; TMenuItem *N2; TMenuItem *N3; TMenuItem *N4; TMenuItem *N5; TMenuItem *N6;
TMenuItem *N7; TMenuItem *N8; TMenuItem *N9; TMenuItem *N10; TMenuItem *N11;
TMenuItem *N12; TMenuItem *N13; TMenuItem *N14; TToolButton *ToolButton2; TToolButton *ToolButton3; TToolButton *ToolButton4; TToolButton *ToolButton5; TToolButton *ToolButton6; TToolButton *ToolButton7; TToolButton *ToolButton8;
TToolButton *ToolButton9; TToolButton *ToolButton10; TToolButton *ToolButton11;
TToolButton *ToolButton12; TToolButton *ToolButton13; TToolButton *ToolButton14; TToolButton *ToolButton15;
void __fastcall Button1Click (TObject *Sender);
void __fastcall Button2Click (TObject *Sender);
void __fastcall ToolButton1Click (TObject *Sender);
void __fastcall ToolButton2Click (TObject *Sender);
void __fastcall ToolButton3Click (TObject *Sender);
void __fastcall ToolButton4Click (TObject *Sender);
void __fastcall ToolButton5Click (TObject *Sender);
void __fastcall ToolButton7Click (TObject *Sender);
void __fastcall ToolButton8Click (TObject *Sender);
void __fastcall ToolButton10Click (TObject *Sender);
void __fastcall ToolButton12Click (TObject *Sender);
void __fastcall ToolButton13Click (TObject *Sender);
void __fastcall ToolButton15Click (TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm5 (TComponent* Owner);
};
extern PACKAGE TForm5 *Form5;
#endif
Unit 6. h
#ifndef Unit6H
#define Unit6H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class TForm6: public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TMenuItem *N1; TMenuItem *N2; TMenuItem *N3; TMenuItem *N4; TMenuItem *N5; TMenuItem *N6; TMenuItem *N7; TMenuItem *N8; TMenuItem *N9; TMenuItem *N10; TMenuItem *N11; TMenuItem *N12; TMenuItem *N13; TMenuItem *N14; TStatusBar *StatusBar1; TDBGrid *DBGrid1; TDBNavigator *DBNavigator1; TLabel *Label1; TDBEdit *DBEdit1; TLabel *Label2; TDBEdit *DBEdit2; TLabel *Label3; TDBEdit *DBEdit3; TRadioButton *RadioButton1; TRadioButton *RadioButton2; TButton *Button1;
TEdit *Edit1; TButton *Button2; TEdit *Edit2; TToolBar *ToolBar1; TToolButton *ToolButton1; TToolButton *ToolButton2;
TToolButton *ToolButton3; TToolButton *ToolButton4; TToolButton *ToolButton5;
TToolButton *ToolButton6; TToolButton *ToolButton7; TToolButton *ToolButton8; TToolButton *ToolButton9; TToolButton *ToolButton10; TToolButton *ToolButton11; TToolButton *ToolButton12; TToolButton *ToolButton13; TToolButton *ToolButton14;
TToolButton *ToolButton15;
void __fastcall Button1Click (TObject *Sender);
void __fastcall Button2Click (TObject *Sender);
void __fastcall ToolButton1Click (TObject *Sender);
void __fastcall ToolButton2Click (TObject *Sender);
void __fastcall ToolButton3Click (TObject *Sender);
void __fastcall ToolButton4Click (TObject *Sender);
void __fastcall ToolButton5Click (TObject *Sender);
void __fastcall ToolButton7Click (TObject *Sender);
void __fastcall ToolButton8Click (TObject *Sender);
void __fastcall ToolButton10Click (TObject *Sender);
void __fastcall ToolButton12Click (TObject *Sender);
void __fastcall ToolButton13Click (TObject *Sender);
void __fastcall ToolButton15Click (TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm6 (TComponent* Owner);
};
extern PACKAGE TForm6 *Form6;
#endif
Unit 7. h
#ifndef Unit7H
#define Unit7H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class TForm7: public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1; TMenuItem *N1; TMenuItem *N2; TMenuItem *N3; TMenuItem *N4; TMenuItem *N5; TMenuItem *N6;
TMenuItem *N7; TMenuItem *N8; TMenuItem *N9; TMenuItem *N10; TMenuItem *N11; TMenuItem *N12; TMenuItem *N13;
TMenuItem *N14; TStatusBar *StatusBar1; TDBGrid *DBGrid1; TDBNavigator *DBNavigator1; TLabel *Label1; TDBEdit *DBEdit1;
TLabel *Label2; TDBEdit *DBEdit2; TLabel *Label3; TDBEdit *DBEdit3; TLabel *Label4; TDBEdit *DBEdit4; TLabel *Label5; TDBEdit *DBEdit5; TLabel *Label6; TDBEdit *DBEdit6; TButton *Button1; TEdit *Edit1; TButton *Button2; TEdit *Edit2; TRadioButton *RadioButton1; TRadioButton *RadioButton2; TRadioButton *RadioButton3; TRadioButton *RadioButton4;
TRadioButton *RadioButton5; TRadioButton *RadioButton6; TToolBar *ToolBar1; TToolButton *ToolButton1;
TToolButton *ToolButton2; TToolButton *ToolButton3; TToolButton *ToolButton4; TToolButton *ToolButton5; TToolButton *ToolButton6; TToolButton *ToolButton7; TToolButton *ToolButton8; TToolButton *ToolButton9; TToolButton *ToolButton10;
TToolButton *ToolButton11; TToolButton *ToolButton12; TToolButton *ToolButton13; TToolButton *ToolButton14; TToolButton *ToolButton15;
void __fastcall Button1Click (TObject *Sender);
void __fastcall Button2Click (TObject *Sender);
void __fastcall N12Click (TObject *Sender);
void __fastcall ToolButton1Click (TObject *Sender);
void __fastcall ToolButton2Click (TObject *Sender);
void __fastcall ToolButton3Click (TObject *Sender);
void __fastcall ToolButton4Click (TObject *Sender);
void __fastcall ToolButton5Click (TObject *Sender);
void __fastcall ToolButton10Click (TObject *Sender);
void __fastcall ToolButton12Click (TObject *Sender);
void __fastcall ToolButton13Click (TObject *Sender);
void __fastcall ToolButton7Click (TObject *Sender);
void __fastcall ToolButton8Click (TObject *Sender);
void __fastcall ToolButton15Click (TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm7 (TComponent* Owner);
};
extern PACKAGE TForm7 *Form7;
#endif
Unit 8. h
#ifndef Unit8H
#define Unit8H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
class TForm8: public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1; TMenuItem *N1; TMenuItem *N2; TMenuItem *N3; TMenuItem *N4; TMenuItem *N5;
TMenuItem *N6; TMenuItem *N7; TMenuItem *N8; TMenuItem *N9; TMenuItem *N10; TMenuItem *N11; TMenuItem *N12; TMenuItem *N13; TMenuItem *N14; TStatusBar *StatusBar1; TDBGrid *DBGrid1; TDBNavigator *DBNavigator1; TLabel *Label1; TDBEdit *DBEdit1; TLabel *Label2;
TDBEdit *DBEdit2; TLabel *Label3; TDBEdit *DBEdit3; TLabel *Label4; TDBEdit *DBEdit4; TLabel *Label5; TDBEdit *DBEdit5;
TLabel *Label6; TDBEdit *DBEdit6; TLabel *Label7; TDBEdit *DBEdit7; TLabel *Label8; TDBEdit *DBEdit8; TButton *Button1; TEdit *Edit1; TButton *Button2; TEdit *Edit2; TRadioButton *RadioButton1; TRadioButton *RadioButton2; TRadioButton *RadioButton3; TRadioButton *RadioButton4; TRadioButton *RadioButton5; TRadioButton *RadioButton6; TRadioButton *RadioButton7;
TRadioButton *RadioButton8; TToolBar *ToolBar1; TToolButton *ToolButton1; TToolButton *ToolButton2; TToolButton *ToolButton3; TToolButton *ToolButton4; TToolButton *ToolButton5; TToolButton *ToolButton6; TToolButton *ToolButton7;
TToolButton *ToolButton8; TToolButton *ToolButton9; TToolButton *ToolButton10; TToolButton *ToolButton11; TToolButton *ToolButton12; TToolButton *ToolButton13; TToolButton *ToolButton14; TToolButton *ToolButton15;
void __fastcall Button1Click (TObject *Sender);
void __fastcall Button2Click (TObject *Sender);
void __fastcall ToolButton1Click (TObject *Sender);
void __fastcall ToolButton2Click (TObject *Sender);
void __fastcall ToolButton3Click (TObject *Sender);
void __fastcall ToolButton4Click (TObject *Sender);
void __fastcall ToolButton5Click (TObject *Sender);
void __fastcall ToolButton10Click (TObject *Sender);
void __fastcall ToolButton12Click (TObject *Sender);
void __fastcall ToolButton13Click (TObject *Sender);
void __fastcall ToolButton7Click (TObject *Sender);
void __fastcall ToolButton8Click (TObject *Sender);
void __fastcall ToolButton15Click (TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm8 (TComponent* Owner);
};
extern PACKAGE TForm8 *Form8;
#endif
Unit 9. h
#ifndef Unit9H
#define Unit9H
#include
#include
#include
#include
#include
#include
#include
class TForm9: public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep1;
TQRBand *DetailBand1;
TQRBand *TitleBand1;
TQRLabel *QRLabel1;
TQRLabel *QRLabel2;
TQRLabel *QRLabel3;
TQRDBText *QRDBText1;
TQRDBText *QRDBText2;
TQRDBText *QRDBText3;
TQRLabel *QRLabel4;
private: // User declarations
public: // User declarations
__fastcall TForm9 (TComponent* Owner);
};
extern PACKAGE TForm9 *Form9;
#endif
Unit 10. h
#ifndef Unit10H
#define Unit10H
#include
#include
#include
#include
#include
#include
#include
#include
#include
class TForm10: public TForm
{
__published: // IDE-managed Components
TQuickRep *QuickRep1; TQRBand *DetailBand1; TQRBand *TitleBand1; TQRLabel *QRLabel1; TQRLabel *QRLabel2; TQRLabel *QRLabel3; TQRLabel *QRLabel4; TQRLabel *QRLabel5; TQRLabel *QRLabel6; TQRLabel *QRLabel7; TQRDBText *QRDBText1; TQRDBText *QRDBText2; TQRDBText *QRDBText3; TQRDBText *QRDBText5; TQRDBText *QRDBText6; TQRDBText *QRDBText4; TQRLabel *QRLabel8; TQRDBText *QRDBText7; TQRLabel *QRLabel9; TQRDBText *QRDBText8; TADOTable *ADOTable1; TQRLabel *QRLabel10; TQRExpr *QRExpr1;
private: // User declarations
public: // User declarations
__fastcall TForm10 (TComponent* Owner);
};
extern PACKAGE TForm10 *Form10;
#endif
Unit 11. h
#ifndef Unit11H
#define Unit11H
#include
#include
#include
#include
#include
#include
class TForm11: public TForm
{
__published: // IDE-managed Components
TMemo *Memo1;
TPanel *Panel1;
TImage *Image1;
private: // User declarations
public: // User declarations
__fastcall TForm11 (TComponent* Owner);
};
extern PACKAGE TForm11 *Form11;
#endif
Unit 12. h
#ifndef Unit12H
#define Unit12H
#include
#include
#include
#include
#include
#include
class TForm12: public TForm
{
__published: // IDE-managed Components
TPanel *Panel1;
TImage *Image1;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TLabel *Label5;
private: // User declarations
public: // User declarations
__fastcall TForm12 (TComponent* Owner);
};
extern PACKAGE TForm12 *Form12;
#endif
Unit 13. h
#ifndef Unit13H
#define Unit13H
#include
#include
#include
#include
class TForm13: public TForm
{
__published: // IDE-managed Components
TMemo *Memo1;
private: // User declarations
public: // User declarations
__fastcall TForm13 (TComponent* Owner);
};
extern PACKAGE TForm13 *Form13;
#endif