Проектування програмного комплексу "Довідник фармацевта" засобами об'єктно-орієнтованого середовища програмування з використанням бази даних

Принципи роботи інтерфейсу ADO для роботи в СУБД MS Access. Створення додатку "Довідник фармацевта" на основі Borland Delphi 7.0, що допомагає ввести звітну документацію, формувати підсумки роботи зберігати дані про ліки та їх ціни, постачальників.

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

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

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

Размещено на http://www.allbest.ru/

Зміст

Введення

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

1.1 Постановка задачі

1.2 Опис проблеми

1.3 Підстави для розробки програми

1.4 Призначення проекту

1.5 Вибір моделі даних

1.6 Вибір засобів для проектування бази даних

1.7 Програмні засоби розробки

2. Спеціальний розділ

2.1 Функціональна модель

2.2 Розробка логічних структур бази даних

2.3 Формування фізичної структури бази даних

2.4 Проектування графічного інтерфейсу

Висновок

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

Додаток

Введення

Програма написана на мові програмування Borland Delphi 7.0. Цей вибір обумовлений насамперед тим, що Delphi являється досить відомим засобом розробки додатків для Windows©. Вибір мови програмування зумовлений також поширеністю, зручністю, простотою і силою мови. Він однаково легкий як для написання інтерфейсу програми, так і для роботи з базою даних.

Розглядається створення бази даних для підприємства, в даному випадку Довідник Фармацевта. Діяльність даного підприємства здійснюється наступним чином: надають послуги по продажу медикаментів. Отже, необхідно ввести облік руху товарів. Тому доцільно поставить на даній фірмі 1-2 персональних комп'ютера, в яких буде зберігатися вся інформація про послуги та документацію. Дані комп'ютери будуть знаходитись в розпорядженні керуючого (або адміністратора), а також директора підприємства.

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

1. Вводиться найменування препарату, його тип, кількість

2. Здійснюється продаж товару

3. Запис інформації в внутрішній звіт

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

Перш ніж приступити до роботи з базою даних, в першу чергу потрібно вибрати модель представлення даних. Вона повинна відповідати наступним вимогам:

· Наочність подання інформації;

· Простота введення інформації;

· Зручність пошуку та відбору інформації;

· Можливість швидкої перенастроювання бази даний(додавання нових полів, нових записів, їх видалення).

При розробці БД можна виділити наступні етапи роботи.

I етап. Постановка проблеми

На цьому етапі формується завдання по створенню БД. В ньому детально описується склад бази, призначені та цілі її створення, а також перечислюються, такі види роботи передбачається здійснюватись в цій базі даних (відбір, доповнення, зміна даних, друк та вивід звіту і т.д.).

II етап. Аналіз об'єкта

На цьому етапі необхідно розглянути, з яких об'єктів може складатися БД, які властивості цих об'єктів. Після розбиття БД на окремі об'єкти потрібно розглянути властивості кожного з цих об'єктів, іншими словами, встановити, якими параметрами описується кожен об'єкт. Всі ці відомості можна розташувати у вигляді окремих записів і таблиць. Далі необхідно розглянути тип даних кожної окремої одиниці запису(текстовий, числовий). Відомості про типи даних також слід занести в таблицю.

III етап. Синтез моделі

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

IV етап. Способи представлення інформації, програмний інструментарій

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

· З використанням форм;

· Без використання форм.

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

V етап. Синтез комп'ютерної моделі об'єкта і технологія його створення

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

Стадія 1. Запуск СУБД, створення нового файлу бази даних або відкриття створеної раніше бази.

Стадія 2.Створення вихідної таблиці чи таблиць.

Стадія 3. Створення екранних форм.

Стадія 4. Заповнення БД.

VI етап. Робота з створеною базою даних

Робота з БД включає себе такі дії, як:

· Пошук потрібних відомостей;

· Сортування даних;

· Відбір даних;

· Вивід на друк;

· Зміна та доповнення даних.

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

1.1 Постановка задачі

Розробити програмний комплекс(Довідник фармацевта). Ця програма повинна виконувати всі основні операції, пов'язані з прийомом-продажем фармацевтичних товарів в аптечному пункті. Для розробки даного продукту використовується об'єктна-орієнтована мова програмування Borland Delphi 7.0 з вбудованими можливостями програмування баз даних Microsoft Access що входить до розширеного пакету програма Microsoft Office.

1.2 Опис проблеми

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

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

1.3 Підстави для розробки програми

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

1.4 Призначення проекту

Програмний комплекс (Довідник Фармацевта) відповідає перерахованим вище вимогам і включає в себе такі функції:

Облік лікарських препаратів та їх поставок.

Можливість пошуку потрібного препарату.

Додавання, редагування та виділення даних в таблиці.

Можливість формування звіту з продажу в програмі Excel з подальшим друком на принтері .

Сортування даних.

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

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

1.5 Вибір моделі даних

Сучасні СУБД є об'єктно-орієнтованими і реляційними. Основною одиницею є об'єкт, має властивості і зв'язки між об'єктами.

БД може бути застосована на одній моделі або на сукупності кількох моделей. Будь-яку модель даних можна розглядати як об'єкт який характеризується своїми властивостями над нею як над об'єктом можна проводити будь-які дії СУБД використовують кілька моделей даних: ієрархічну, мережеву та реляційну. Основна відмінність таких моделей в подані взаємозв'язку між об'єктами.

Ієрархічна модель БД являє собою сукупність елементів, розташованих в порядку їх розташування від загального до приватного і утворюють повернуте дерево. Воно будується за принципом: один тип об'єкта є головним все інше підлеглим. Встановлюється зв'язок "один до багатьох" тобто для деякого основного типу існує кілька підлеглих типів об'єктів. Інакше, головний тип іменується вихідним типом а підлеглі породженими. У підлеглих типів можуть бути в свою чергу підлеглі типи. Найвищий в ієрархії вузол називають кореневим. Якщо структура даних виявляється складніша, ніж звичайна, простота структури ієрархічної бази даних ставала її недоліком.

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

Мережеві бази даних мають ряд переваг:

· Гнучкість. Множині відносини дозволяли мережевій базі даних зберігати дані, структура якої була складніша ієрархічної.

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

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

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

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

Реляційна модель даних має такі властивості:

· Кожен елемент таблиці один елемент даних.

· Всі поля в таблиці є однорідними тобто мають один тип.

· Кожне поле має унікальне ім'я.

· Однакові записи в таблиці відсутні.

Всі сучасні засоби СУБД підтримують реляційну модель даних.

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

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

Однозначна ідентифікація запису: запис повинен однозначно визначатися значенням ключа.

Відсутність надмірності: ніяке поле не можна видалити з ключа не порушуючи при цьому властивість однозначної ідентифікації.

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

1.6 Вибір засобів для проектування бази даних

інтерфейс access delphi постачальник

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

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

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

Абсолютна відмінність між типами сутності і атрибутами відсутня. Атрибут є таким тільки в зв'язку з типом сутності .

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

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

1.7 Програмні засоби розробки

Розглянемо більш докладно продукти компанії Microsoft а саме Visual FoxPro. Database Desktop, Access. Найцікавішою рисою цих пакетів є їх великі можливості інтеграції спільної роботи і використання даних так як дані пакети є продуктами одного виробника а також використовують подібні технології обміну даних.

Visual FoxPro відрізняється високою швидкістю має вбудовану об'єктна-орієнтовану мову програмування з використанням xBase, SQL, діалекти яких вбудовані в багатьох СУБД. Має високий рівень об'єктної моделі. При використані в обчислювальних мережах забезпечує як монопольний так і роздільний доступ користувачів до даних

Для роботи з таблицями БД при проектуванні програми зручно використовувати програму Database Desktop - це утиль багато чим схожий на Paradox, яка розставляє разом з Delphi для інтерактивної роботи з таблицями різних форматів локальних баз даних - Paradox и dBase, а також SQL-серверних баз даних InterBase, Oracle, Informix, Sybase (з використанням SQL Links). Виконуваний файл утилю називається DBD.EXE, розташований він як правило в директорії так званої DBD.

Вона дозволяє виконувати наступні дії:

· Створення таблиці;

· Зміна структури;

· Редагування записів.

Крім того з допомогою Database Desktop можна виконувати і інші дії над БД(створення редагування виконання візуальних записів операції з псевдонімами) .

Access входить до складу найпопулярнішого пакету Microsoft Office. Основні переваги:знайомим багатьом кінцевим користувачам і має високу стійкість даних простий в освоєні може використовуватись не професійним програмістом дозволяє готувати звіти з баз даних різних форматів. Призначення для створення звітів довільної програми на підставі різних даних і розробки некомерційних додатків.

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

Для розробки бази даних вибрано MS Access через простоту використання.

Створення прикладних програм та додатків Delphi виконується і інтегрованому середовищі розробки IDE (Integrated Development Environment). IDE служить для організації взаємодії з програмістом і включає в себе пару вікон, що містять різні керуючі елементи. За допомогою засобів інтегрованого середовища розробник може зручно проектувати інтерфейсну частину програми а також писати програмний код і пов'язувати його з керуючими елементами. При цьому вся робота по створенню додатка включаючи налагодження відбувається в інтегрованому середовищі розробки. Інтегроване середовище Delphi являє собою багато віконну систему. Вид інтегрованого середовища розробки може відрізнятись в залежності від налаштувань.

2. Спеціальний розділ

2.1 Функціональна модель

Діаграми SADT (Structured Analysis and Design Technique - технологія структурного аналізу і проектування) були розроблені в 1973 році Дугласом Россом. Основне призначення цього методу це декомпозиція або розбиття основних функцій на під функції. Програмною реалізацією даного метода є програма BP Win.

Опишемо основи функціонування даного об'єкту тобто "Довідник Фармацевта" за допомогою програми BP Win.

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

мал.2.1 Функціональна діаграма - 0 рівень

В результаті, можна розробити логічний ланцюжок БД, використовуючи програму ERWin.

2.2 Розробка логічних структур бази даних

мал. 2.2 Логічна структура БД

2.3 Формування фізичної структури бази даних

2.4 Проектування графічного інтерфейсу

Головна форма

мал.2.3 Головна форма

Опис роботи:

Відображення основної інформації з таблиць БД ліки та склад.

Рядок Найти: здійснює пошук ліків за початковими літерами в його назві.

мал.2.4 Відбір даних за умовою

Рядок Постачальника: здійснює пошук постачальника за його кодом в таблиці Постачальники з відображенням назви ліків його кількості на складі і дати поставки і висновок результату в окремій формі "Результат пошуку".

мал.2.5 Результат пошуку

Розділ Замовлення:

Назва - вибір ліків

Дата - вказати дату

Ціна - вказати ціни ліків

Кількість - вказати кількість товару

Сума - підрахунок загальної суми замовлень

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

Меню Редагувати:

мал.2.6. Меню Редагувати

Додати запис - здійснює виклик форми Додати / редагувати ліки зі занесенням доданих даних.

мал.2.7 Форма Додати / редагувати ліки

Редагувати запис - здійснює виклик форми Додати / редагувати ліки з оновленням виправлених даних в таблицях Ліки та Склад

рис.2.8 Форма Додати / редагувати ліки

Меню Звіти

мал.2.9 Меню Звіти

Здійснює виклик форми Звіти по продажам.

мал.2.10 Форма Звіт по продажам

Меню Постачальник

мал.2.11 Меню Постачальник

Виконується запит форми Постачальники.

мал.2.12 Форма Постачальники

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

мал.2.13 Форма Додати / редагувати постачальника

Кнопка Редагувати - здійснює виклик форми Додати / редагувати постачальника з оновленням виправлених даних в таблицю Постачальник.

мал.2.14 Форма Додати / редагувати постачальника

Кнопка Видалити - здійснює видалення поточного запису з таблиці Постачальники.

Кнопка Вихід - закриває форму.

Меню Довідник

мал.2.15 Меню довідник

Здійснює виклик форм Міста і Типи ліків.

мал.2.16 Форма Міста

мал.2.17 Форма Тип ліків

Меню Сортування

мал.2.18 Меню сортування

Здійснює сортування ліків по назві або по ціні в таблиці Ліки.

Меню Вихід

мал.21. Меню Вихід

Висновок

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

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

1. Пошук та фільтрація даних

2. Навігація по таблиці з даними

3. Оформлення вихідної документації у вигляді звіту

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

З додатко не складно працювати навіть недосвідченому користувачеві. Вона барвисто оформлена щоб користувачеві було приємно працювати в даній програмі.

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

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

1. Орлов С.А. Технологии разработки программного обеспечения/ С. Орлов - СПб.: Питер, 2002. - 464 с.

2. Технология разработки программного обеспечения. Л.Г. Гагарина,

3. Е.В. Кокорева, Б.Д. Виснадул. Форум, Инфра-М, 2008

4. Access. Часть 1 (для пользователей). Учебное пособие. - СПб., 2005.

5. Вероника Михеева, Ирина Харитонова "MS Access 2000", БВХ-Петербург, 2000г.

6. ГОСТ 2.105-95. Единая система конструкторской документации. Общие требования к текстовым документам. Межгосударственный совет по стандартизации, метрологии и сертификации. - М.: Издво стандартов, 1996. - 36 с.

7. Дарахвелизе П.Г., Марков Е.П."Delphi 4", СПб.:,БВХ-Санкт-Петербург 1999.-816 с., ил.

8. Фленов Михаил "Библия Delphi" 2001г. http://www.cydsoft.com/vr-online.

9. "Королевство Delphi" http://www.delphikingdom.com/

10. "Советы по Delphi" http://www.webmachine.ru/

11. Кандзюба С.П., Громов В. Н, "Delphi 6/7. Базы данных и приложения", DiaSoft, 2002 г.

12. Алексей Федоров, Наталия Елманова, "ADO в Delphi", bhv-Санкт-Петербург, 2002 г.

13. А. Жуков, "Изучаем Delphi", Питер, 2000

14. В. Фаронов, "Программирование баз данных в Delphi", Питер, 2004

15. Ф. Гофман, А. Хоменко "Работа с базами данных в Delphi", bhv-Санкт-Петербург

16. В. Фаронов, "Delphi 5. Руководство программиста", Нолидж, 2001

17. Вероника Михеева, Ирина Харитонова "MS Access 2000"

Додаток

unit Unit1; //Головне вікно програми

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, Menus, ImgList, StdCtrls, DBCtrls, Mask, Buttons;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

MainMenu1: TMainMenu;

ImageList1: TImageList;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N4: TMenuItem;

DBGrid2: TDBGrid;

Edit1: TEdit;

Label1: TLabel;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

GroupBox1: TGroupBox;

N18: TMenuItem;

Label2: TLabel;

Label3: TLabel;

DBEdit2: TDBEdit;

Label4: TLabel;

DBEdit3: TDBEdit;

Label5: TLabel;

DBEdit4: TDBEdit;

Label6: TLabel;

DBEdit5: TDBEdit;

DBLookupComboBox1: TDBLookupComboBox;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label7: TLabel;

Edit2: TEdit;

BitBtn3: TBitBtn;

Label8: TLabel;

DBEdit1: TDBEdit;

Label9: TLabel;

DBEdit6: TDBEdit;

Label10: TLabel;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure Edit1Change(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure DBLookupComboBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10;

{$R *.dfm}

//Процедура збереження даних при закриті форми

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if DataModule2.ADOTable1.Modified then

DataModule2.ADOTable1.Post;

if DataModule2.ADOTable2.Modified then

DataModule2.ADOTable2.Post;

end;

//Процедура добавлення нового запису в таблицю з ліками

procedure TForm1.N4Click(Sender: TObject);

begin

DataModule2.ADOTable1.Insert;

DataModule2.ADOTable2.Insert;

Form3.ShowModal;

end;

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

procedure TForm1.N5Click(Sender: TObject);

begin

Form3.ShowModal;

end;

//Процедура сортиртування таблиці по назві препаратів

procedure TForm1.N8Click(Sender: TObject);

begin

DataModule2.ADOTable1.IndexFieldNames:='Назва';

end;

//Процедура сортиртування таблиці по ціні препарата

procedure TForm1.N9Click(Sender: TObject);

begin

DataModule2.ADOTable1.IndexFieldNames:='Цена';

end;

//Процедура пошуку по введеним першим буквам назви

procedure TForm1.Edit1Change(Sender: TObject);

begin

if Length(Edit1.Text)>0 then

DataModule2.ADOTable1.Filtered:=true

else

DataModule2.ADOTable1.Filtered:=false;

DataModule2.ADOTable1.Filter:='Название>'''+Edit1.Text+'''';

end;

//Процедура вивода таблиці Постачальник

procedure TForm1.N7Click(Sender: TObject);

begin

Form4.Show;

end;

//Процедура вивода довідника Міста

procedure TForm1.N13Click(Sender: TObject);

begin

Form6.Show;

end;

//Процедура вивода довідника Тип Ліків

procedure TForm1.N14Click(Sender: TObject);

begin

Form7.Show;

end;

//Процедура закритя програми

procedure TForm1.N11Click(Sender: TObject);

begin

Form1.Close;

end;

//Процедура вивода звіта по продажам

procedure TForm1.N18Click(Sender: TObject);

begin//Процедура

Form9.Show;

end;

//Процедура добавлення замовлення в таблицю ліків

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

DataModule2.ADOTable6.Post;

DataModule2.ADOQuery2.Active:=false;

DataModule2.ADOQuery2.SQL.Clear;

DataModule2.ADOQuery2.SQL.Add('UPDATE Склад');

DataModule2.ADOQuery2.SQL.Add('SET Склад.[кількість на складі]=Склад.[Кількість на складі]-'''+DBEdit4.Text+'''');

DataModule2.ADOQuery2.SQL.Add('WHERE Склад.[Код] LIKE '''+DBEdit1.Text+'''');

DataModule2.ADOQuery2.ExecSQL;

DataModule2.ADOTable2.Refresh;

DataModule2.ADOTable6.Refresh;

end;

//Процедура створення нового замовлення

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

DataModule2.ADOTable6.Insert;

end;

//Процедура пошуку по введеному номеру замовлення

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

DataModule2.ADOQuery1.Active:=false;

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add('Select Постачальник.[Код постачальника], Ліки.[Назва], Склад.[Кількість на складі], Склад.[Дата поставки]');

DataModule2.ADOQuery1.SQL.Add('FROM Постачальники INNER JOIN (Склад INNER JOIN Ліків ON Склад.[Ключ]=Ліки.[Ключ]) ON Постачальники.[Код постачальника]=Склад.[Код постачальника]');

DataModule2.ADOQuery1.SQL.Add('WHERE Постачальник.[Код постачальника] LIKE '''+Edit2.Text+'''');

DataModule2.ADOQuery1.Active:=true;

Form10.ShowModal;

end;

//Процедура перегляду списка назв ліків

procedure TForm1.DBLookupComboBox1Click(Sender: TObject);

begin

DataModule2.ADOQuery3.Active:=false;

DataModule2.ADOQuery3.SQL.Clear;

DataModule2.ADOQuery3.SQL.Add('Select Ліки.[Ключ], Ліки.[Ціна]');

DataModule2.ADOQuery3.SQL.Add('FROM Ліки');

DataModule2.ADOQuery3.SQL.Add('WHERE Ліки.[Ключ] LIKE '''+DBEdit6.Text+'''');

DataModule2.ADOQuery3.Open;

DBEdit3.Text:=DataModule2.ADOQuery3.FieldValues['Ціна'];

DataModule2.ADOQuery3.Active:=True;

DataModule2.ADOTable6.Refresh;

end;

end.

unit Unit2; //Модуль ідключення бази даних до програми

interface

uses

SysUtils, Classes, DB, ADODB;

type

TDataModule2 = class(TDataModule)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

DataSource1: TDataSource;

ADOTable2: TADOTable;

DataSource2: TDataSource;

ADOTable1DSDesigner: TAutoIncField;

ADOTable1DSDesigner3: TWideStringField;

ADOTable1DSDesigner5: TDateTimeField;

ADOTable1DSDesigner6: TBCDField;

ADOTable2DSDesigner: TAutoIncField;

ADOTable2DSDesigner2: TDateTimeField;

ADOTable2DSDesigner3: TWideStringField;

ADOTable2DSDesigner4: TWideStringField;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

ADOTable5: TADOTable;

DataSource3: TDataSource;

DataSource4: TDataSource;

DataSource5: TDataSource;

ADOTable1DSDesigner2: TWideStringField;

ADOTable2DSDesigner6: TIntegerField;

ADOTable3DSDesigner: TWideStringField;

ADOTable3DSDesigner2: TWideStringField;

ADOTable3DSDesigner3: TWideStringField;

ADOTable3DSDesigner4: TWideStringField;

ADOTable3DSDesigner5: TWideStringField;

ADOTable4DSDesigner: TAutoIncField;

ADOTable4DSDesigner2: TWideStringField;

ADOTable5DSDesigner: TAutoIncField;

ADOTable5DSDesigner2: TWideStringField;

ADOTable6: TADOTable;

DataSource6: TDataSource;

ADOTable6DSDesigner: TAutoIncField;

ADOTable6DSDesigner2: TDateTimeField;

ADOTable6DSDesigner3: TIntegerField;

ADOTable6DSDesigner5: TWideStringField;

ADOTable6DSDesigner6: TBCDField;

ADOTable6Field: TIntegerField;

ADOQuery1: TADOQuery;

DataSource7: TDataSource;

ADOTable2_: TWideStringField;

ADOQuery2: TADOQuery;

DataSource8: TDataSource;

ADOQuery3: TADOQuery;

DataSource9: TDataSource;

ADOQuery4: TADOQuery;

procedure ADOTable6CalcFields(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;

var

DataModule2: TDataModule2;

implementation

uses Unit9;

{$R *.dfm}

procedure TDataModule2.ADOTable6CalcFields(DataSet: TDataSet);

begin

DataModule2.ADOTable6Field.Value:=DataModule2.ADOTable6DSDesigner6.AsInteger*DataModule2.ADOTable6DSDesigner3.AsInteger;

end;

end.

unit Unit3; //Форма добавлення редагування ліків

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls, ComCtrls, Buttons, ExtCtrls;

type

TForm3 = class(TForm)

DBEdit1: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

DBEdit2: TDBEdit;

BitBtn1: TBitBtn;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

DBLookupComboBox2: TDBLookupComboBox;

Image1: TImage;

Label10: TLabel;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit2, Unit1;

{$R *.dfm}

//Процедура збереженого введеного або зміненого препарата

procedure TForm3.BitBtn1Click(Sender: TObject);

begin

if DataModule2.ADOTable1.Modified then

DataModule2.ADOTable1.Post;

if DataModule2.ADOTable2.Modified then

DataModule2.ADOTable2.Post;

Close;

end;

end.

unit Unit4; //Форма Постачальник

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, Menus, StdCtrls;

type

TForm4 = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Unit2, Unit5, Unit1, Unit3;

{$R *.dfm}

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if DataModule2.ADOTable3.Modified then

DataModule2.ADOTable3.Post;

end;

//Процедура добавлення нового препарата

procedure TForm4.Button1Click(Sender: TObject);

begin

DataModule2.ADOTable3.Edit;

DataModule2.ADOTable3.Insert;

Form5.Show;

end;

//Процедура змінення існуючого препарата

procedure TForm4.Button2Click(Sender: TObject);

begin

Form5.Show;

end;

//Процедура видалення препарата

procedure TForm4.Button3Click(Sender: TObject);

begin

if Application.MessageBox(PChar('Ти дійсно хочеш видалити '

+DataModule2.ADOTable3DSDesigner.AsString), 'Увага!!!',

MB_OKCANCEL)=id_OK then

DataModule2.ADOTable3.Delete;

end;

//Закритя форми

procedure TForm4.Button4Click(Sender: TObject);

begin

Form4.Close;

end;

end.

unit Unit5; //Модуль добавлення редагування постачальника

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBCtrls, StdCtrls, Mask;

type

TForm5 = class(TForm)

Label1: TLabel;

DBEdit1: TDBEdit;

Label2: TLabel;

DBEdit2: TDBEdit;

Label3: TLabel;

Label4: TLabel;

DBEdit4: TDBEdit;

Label5: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Button1: TButton;

DBComboBox1: TDBComboBox;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit2, Unit1, Unit4, Unit3;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

DataModule2.ADOTable3.Post;

Form5.Close;

end;

end.

unit Unit6; //Модуль довідника Місто

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, Buttons;

type

TForm6 = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Unit1, Unit2;

{$R *.dfm}

procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if DataModule2.ADOTable4.Modified then

DataModule2.ADOTable4.Post;

end;

procedure TForm6.Button1Click(Sender: TObject);

begin

Form6.Close;

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

DataModule2.ADOTable4.Edit;

DataModule2.ADOTable4.Insert;

end;

end.

unit Unit7; //Модуль довідника Тип ліків

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids;

type

TForm7 = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm7.Button2Click(Sender: TObject);

begin

Form7.Close;

end;

procedure TForm7.Button1Click(Sender: TObject);

begin

DataModule2.ADOTable5.Edit;

DataModule2.ADOTable5.Insert;

end;

end.

unit Unit9; //Модуль формування звіту по продажам

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, Buttons, RpRave, RpDefine, RpCon,

RpConDS, DB, ADODB, ComCtrls;

type

TForm9 = class(TForm)

DBGrid1: TDBGrid;

BitBtn1: TBitBtn;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form9: TForm9;

implementation

uses Unit2, Unit1;

{$R *.dfm}

procedure TForm9.FormCreate(Sender: TObject);

begin

if DataModule2.ADOTable6.Modified then

DataModule2.ADOTable6.Post;

end;

end.

unit Unit10; //Модуль вивода результата пошуку в талблиці

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids;

type

TForm10 = class(TForm)

DBGrid1: TDBGrid;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form10: TForm10;

implementation

uses Unit2;

{$R *.dfm}

end.

Размещено на Allbest.ru


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

  • Основи проектування інформаційних реляційних баз даних, надання користувачам необхідної їм інформації на основі збережених даних. Розробка бази даних, що дозволяє зберігати інформацію про абонентів (ім'я, мобільний телефон, адреса, e-mail, реєстрація).

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

  • Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.

    курсовая работа [502,5 K], добавлен 01.04.2016

  • Вибір середовища програмування Borland Delphi 7.0 для створення електронно-медичного довідника. Формування бази даних для перегляду та пошуку медичних препаратів для лікування. Особливості програмування інтерфейсу програми, інструкція користувача.

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

  • Теорія складання та використання розкладів. Проектування бази даних "Расписание", що містить інформацію про вільні аудиторії, в Microsoft Office Access з подальшим її використанням в середовищі програмування Borland Delphi та розробка програми до неї.

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

  • Теоретичні відомості про пакет ІЗВП Borland Delphi та СУБД MS Access, оцінка їх функціональних особливостей. Опис структури бази даних. Проектування інтерфейсу програми, опис її логічної структури та функцій. Контроль коректності вхідних, вихідних даних.

    курсовая работа [4,5 M], добавлен 03.01.2014

  • Концепції об'єктно-орієнтованого програмування. Спеціалізовані засоби розробки програмного забезпечення мовою Delphi. Загальні питання побудови та використання сучасних систем об’єктно-орієнтованного та візуального проектування програмних засобів.

    курсовая работа [201,4 K], добавлен 01.04.2016

  • Розроблення додатка за допомогою об'єктно-орієнтованого візуального проектування Delphi для виконання арифметичних операцій або з використанням меню. Створення інтерфейсу користувача з використанням компонентів SYSTEM і WIN32. Обробка двовимірного масиву.

    методичка [326,1 K], добавлен 13.01.2010

  • Основні принципи об’єктно-орієнтованого програмування. Типові середовища програмування та особливості мови С++. Етапи проектування БД. Розробка програмного забезпечення для реалізації створення бази відеофільмів. Основні положення та моделі БД.

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

  • Договірна діяльність організацій як предмет проекту створення бази даних. Основні етапи роботи з Microsoft Access зі створення бази даних. Мінімальний список характеристик, які потрібно врахувати в ході роботи. Ознайомлення з основними об'єктами СУБД.

    лабораторная работа [1,7 M], добавлен 21.04.2011

  • Середовище розробки програм Borland Delphi, робота компонентів. Створення нових компонентів та використання компонентів Delphi для роботи з базами даних. Системи керування базами даних InterBase та Firebird. Компоненти Delphi для роботи з СКБД FireBird.

    реферат [71,4 K], добавлен 12.04.2010

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