Автоматизована інформаційна система медичного діагностичного центру

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    18,13 Кб
  • Опубликовано:
    2015-06-30
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Автоматизована інформаційна система медичного діагностичного центру

Вступ

Виробництво програмного забезпечення (ПЗ) сьогодні - це найбільша галузь світової економіки, в якій зайнято більше семи мільйонів фахівців. Саме приголомшливий прогрес в області ПЗ допоміг впоратися з інформаційним бумом кінця 20 століття.

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

Потреба контролювати процес розробки ПЗ, прогнозувати і гарантувати вартість розробки, терміни і якість результатів призвела до необхідності переходу від кустарних до індустріальних способам створення ПЗ і появі сукупності інженерних методів і засобів створення ПЗ, об'єднаних загальною назвою програмна інженерія (software engineering).

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

Виконання курсової роботи має на меті:

·систематизацію, закріплення та розширення теоретичних та практичних знань, застосування їх при розвязанні конкретних фахових задач;

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

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

Даний додаток створюється за допомогою інструмента швидкої розробки додатків Builder c++ 6, який містить в собі компілятор, відладчик, редактор коду та всі необхідні компоненти для створення програмного додатку Medical© center, які поділяються на візуальні та не візуальні.

Візуальні компоненти: Edit(поле для введення), DBNavigator(панель управління БД), DBGrid(для вдображення та редагування таблиць), StatusBar(для виведення певних повідомлень), ToolBar(панель швидкого доступу), ComboBox(список вибору), Button(кнопка), Label(для виводу текстової інформації).

Не візуальні компоненти: MainMenu(головне меню - підключається до певної форми, щоб стати візуальною), ADOConnection(для підключення до БД), ADOQuery(для виконання запитів, підключається до ADOConnection), DataSource(для створення звязку між ADOQuery та DBNavigator і DBGrid), ImageList(містить іконки).

1. СИСТЕМНИЙ АНАЛІЗ

.1 Вимоги до продукту(Визначення С, D-вимог)

Специфікація вимог до ПЗ «Medical© control »

1.Вступ

1.1Призначення, мета

Даний документ проектується студентом ПР - 9 - 12 для опису програмного продукту «Medical© control». А також системних, функціональних і не функціональних вимог до даного продукту.

Даний продукт буде вести облік клієнтів, їх діагнозів, виконувати пошук по діагнозам або по ПІБ, обчислювати вартість за день та друкувати звіти.

2.Загальний опис

2.1Характеристики

2.2.1.Веде облік клієнтів;

2.2.2.Веде облік діагнозів клієнтів;

2.2.3.Виконує пошук;

2.1.4.Обчислює вартість за день;

2.1.5.Друкує звіти.

2.2Користувачі

2.2.1.Старша медсестра;

2.2.2.Лікарі;

2.2.3.Головний лікар.

2.3Середовище функціонування

Даний продукт працює на операційній системі Windows 95 / 98 / 2003 / Vista / 7 / 8 / 8.1 / 10.

Апаратна платформа: Клавіатура, миша, монітор, системний блок(материнська плата, вінчестер, процесор, блок живлення, відеоадаптер 16Mb).

3.Характеристики системи

3.1Функціональні вимоги

3.1.1Продукт повинен дозволяти вводити дані: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та імя, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату, дата виготовлення, термін придатності), Квитанції(Код квитанції, код клієнта, всього до оплати, дата видачі, прізвище та імя клієнта, діагноз клієнта, код препарату);

3.1.2Продукт повинен дозволяти виводити дані: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та імя, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату, дата виготовлення, термін придатності), Квитанції(Код квитанції, код клієнта, всього до оплати, дата видачі, прізвище та імя клієнта, діагноз клієнта, код препарату);

3.1.3Продукт повинен дозволяти видаляти дані: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та імя, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату, дата виготовлення, термін придатності), Квитанції(Код квитанції, код клієнта, всього до оплати, дата видачі, прізвище та імя клієнта, діагноз клієнта, код препарату). По заданим полями таблиці: Діагнози(Код діагнозу, термін, термін лікування), Клієнти(Код клієнта, діагноз, код лікаря, прізвище та імя, код паспорту, телефонний номер, місто проживання), Лікарі(Код лікаря, прізвище і ініціали, код паспорту, телефонний номер, місто проживання), Препарати(Код препарату, назва препарату), Квитанції(Код квитанції, код клієнта, всього до оплати, прізвище та імя клієнта, діагноз клієнта, код препарату);

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

3.1.5Продукт повинен обчислювати прибуток за день на основі даних в таблиці Квитанції по полю «Всього до оплати»;

.1.6Продукт повинен дозволяти друкувати звіти усіх полів таблиць: Діагнози, Квитанції, Лікарі, Препарати, Клієнти.

4.Вимоги до зовнішніх інтерфейсів

4.1Користувацькі інтерфейси

На інтерфейсі продукту повинно бути:

4.1.1Головне меню;

.1.2Таблиця бази даних;

4.1.3Вікна додавання та видалення даних.

4.1.4Вікна пошуку даних.

.1.5Меню швидкого доступу.

4.2Апаратні інтерфейси

4.2.1Взаємодіє з принтером.

5.Не функціональні вимоги

5.1Вимоги продуктивності

5.1.1Продукт повинен обчислювати вартість за день менше ніж за секунду;

5.1.2Програма повинна бути розроблена на мові С++.

5.2Вимоги безпеки

5.2.1Продукт повинен містити ідентифікацію по паролю.

2. РОЗРОБКА ІНТЕРФЕЙСУ ПРОГРАМИ

.1 Кроки розробки призначених для користувача інтерфейсів

Я проаналізував компюторний рівень знань користувача, який буде користуватися програмним додатком, а саме: старшу медсестру, лікарів та старшу медсестру медичного діагностичного центру.

Таблиця 2.1.1 Характеристика користувача програми

ХарактеристикаГрадаціїРівень знань і досвідКомпютерна грамотністьСередній. Користувач повинен володіти елементарними навиками користування компютеромСистемний досвідСереднійДосвід роботи з подібними програмамиСереднійОсвітаЗакінчена вища освітаРівень читання9 років в школіМашинопис100 слів за хвилину Фізичні характеристики користувачаВікМолодий, середнього віку, літнійСтатьЧоловіча, жіночаРозвиненість рукЛівша, правша, володіє однаково обома рукамиХарактеристики завдань і роботи користувачаСпосіб використання цієї програмиОзнайомлення з інформацією, яка в ній знаходиться, додавання, видалення, здійснювати пошук та фільтрацію даних, обчислювати суму за день та друкувати звіти

2.2 Проектування інтерфейсу

1.Головне вікно - вікно «Ідентифікація»:

Додаю на форму PasswordDlg Panel1, Label2.

На Panel1 розміщую Label1 - в властивостях встановлюю Caption = «Введіть пароль:»; Edit1 - текстове поле для введення паролю, в властивостях встановлюю PasswordChar = «*»; Button1 - для підтвердження паролю введений в Edit1, в властивостях встановлюю Caption = «Підтвердити»; Button2 - для виходу з програми, в властивостях встановлюю Caption = «Вихід»; BitBtn1 - для виклику вікна «Зміна паролю», в властивостях встановлюю Glyph іконку для кнопки. Label2 - в властивостях встановлюю Caption = «Ідентифікація»;

2.Вікно «Зміна паролю»:

Додаю на форму Pass_renew Panel1;

На Panel1 розміщую Panel2(розміщую Label1 - в властивостях встановлюю Caption = «Введіть старий пароль:»; Label2 - в властивостях встановлюю Caption = «Введіть новий пароль:»; Label3 - в властивостях встановлюю Caption = «Повторіть новий пароль:»), Panel3(Edit1 - текстове поле для введення старого паролю, в властивостях встановлюю PasswordChar = «*»;Edit2 - текстове поле для введення нового паролю, в властивостях встановлюю PasswordChar = «*»;Edit3 - текстове поле для повторного введення нового паролю, в властивостях встановлюю PasswordChar = «*»), Button1 - для підтвердження зміни паролю, в властивостях встановлюю Caption = «Ок».

3.Вікно «Діагнози»:

На Panel1 розміщую DBGrid1 - для відображення таблиці Діагнози, в властивостях встановлюю DataSource = «bd_work->DS_diagnoziz»; DBNavigator1 - для управління таблицею, в властивостях встановлюю DataSource = «bd_work->DS_diagnoziz»; StatusBar1 - створюю TStatusPanel[0](для виведення підказок при наведенні мишею на певний компонент), TStatusPanel[1](для виведення кількості записів), в властивостях встановлюю AutoHint = true, ShowHint = true; MainMenu1 - підключаю форму до нього в подіях встановлюю Menu = bd_work->MainMenu1, в ньому створюю кнопки та приписую до них назви; ToolBar1 - панель швидкого доступу, на якій створюю 8 кнопок, в подіях встановлюю HotImages = bd_work->ImageList1, Images = bd_work->ImageList1; Panel2(Button1 - для фільтрації по полю Edit1, який орієнтується на атрибут вибраний в ComboBox1; ComboBox1 - для вибору фільтрації по «Код діагнозу» або «Термін» або «Термін лікування» або зняття фільтрації; Edit1 - текстове поле для введення певних символів для фільтрації по таблиці Діагнози).

4.Вікно «Квитанції»:

Додаю на форму kvitancii Panel1.

На Panel1 розміщую DBGrid1 - для відображення таблиці Квитанції, в властивостях встановлюю DataSource = «bd_work->DS_pripar»; DBNavigator1 - для управління таблицею, в властивостях встановлюю DataSource = «bd_work->DS_pripar»; StatusBar1 - створюю TStatusPanel[0](для виведення підказок при наведенні мишею на певний компонент), TStatusPanel[1](для виведення кількості записів, TStatusPanel[2](для виведення заробленої суми за певний день), в властивостях встановлюю AutoHint = true, ShowHint = true; MainMenu1(for_kvit) - підключаю форму до нього в подіях встановлюю Menu = bd_work->for_kvit, в ньому створюю кнопки та приписую до них назви; ToolBar1 - панель швидкого доступу, на якій створюю 9 кнопок, в подіях встановлюю HotImages = bd_work->ImageList1, Images = bd_work->ImageList1; Panel2(Button1 - для фільтрації по полю Edit1, який орієнтується на атрибут вибраний в ComboBox1; ComboBox1 - для вибору фільтрації по «Код квитанції» або «Код клієнта» або «Всього до оплати» або «Дата видачі» або «Прізвище та імя клієнта» або «Діагноз клієнта» або «Код препарату» або зняття фільтрації; Edit1 - текстове поле для введення певних символів для фільтрації по таблиці Квитанції).

5.Вікно «Препарати»:

Додаю на форму Priparats Panel1.

На Panel1 розміщую DBGrid1 - для відображення таблиці Препарати, в властивостях встановлюю DataSource = «bd_work->DS_prip»; DBNavigator1 - для управління таблицею, в властивостях встановлюю DataSource = «bd_work->DS_prip»; StatusBar1 - створюю TStatusPanel[0](для виведення підказок при наведенні мишею на певний компонент), TStatusPanel[1](для виведення кількості записів), в властивостях встановлюю AutoHint = true, ShowHint = true; MainMenu1(for_prip) - підключаю форму до нього в подіях встановлюю Menu = bd_work->for_prip, в ньому створюю кнопки та приписую до них назви; ToolBar1 - панель швидкого доступу, на якій створюю 8 кнопок, в подіях встановлюю HotImages = bd_work->ImageList1, Images = bd_work->ImageList1; Panel2(Button1 - для фільтрації по полю Edit1, який орієнтується на атрибут вибраний в ComboBox1; ComboBox1 - для вибору фільтрації по «Код препарату» або «Назва препарату» або «Дата вироблення» або «Термін придатності» або зняття фільтрації; Edit1 - текстове поле для введення певних символів для фільтрації по таблиці Препарати).

6.Вікно «Лікарі»:

Додаю на форму likar Panel1.

На Panel1 розміщую DBGrid1 - для відображення таблиці Лікарі, в властивостях встановлюю DataSource = «bd_work->DS_likar»; DBNavigator1 - для управління таблицею, в властивостях встановлюю DataSource = «bd_work->DS_likar»; StatusBar1 - створюю TStatusPanel[0](для виведення підказок при наведенні мишею на певний компонент), TStatusPanel[1](для виведення кількості записів), в властивостях встановлюю AutoHint = true, ShowHint = true; MainMenu1(for_likar) - підключаю форму до нього в подіях встановлюю Menu = bd_work->for_likar, в ньому створюю кнопки та приписую до них назви; ToolBar1 - панель швидкого доступу, на якій створюю 8 кнопок, в подіях встановлюю HotImages = bd_work->ImageList1, Images = bd_work->ImageList1; Panel2(Button1 - для фільтрації по полю Edit1, який орієнтується на атрибут вибраний в ComboBox1; ComboBox1 - для вибору фільтрації по «Код лікаря» або «Прізвище і ініціали» або «Код паспорту» або «Телефонний номер» або «Місто проживання» або зняття фільтрації; Edit1 - текстове поле для введення певних символів для фільтрації по таблиці Лікарі).

7.Вікно «Клієнти»:

Додаю на форму klient Panel1.

На Panel1 розміщую DBGrid1 - для відображення таблиці Клієнти, в властивостях встановлюю DataSource = «bd_work->DS_klient»; DBNavigator1 - для управління таблицею, в властивостях встановлюю DataSource = «bd_work->DS_klient»; StatusBar1 - створюю TStatusPanel[0](для виведення підказок при наведенні мишею на певний компонент), TStatusPanel[1](для виведення кількості записів), в властивостях встановлюю AutoHint = true, ShowHint = true; MainMenu1(for_klient) - підключаю форму до нього в подіях встановлюю Menu = bd_work->for_klient, в ньому створюю кнопки та приписую до них назви; ToolBar1 - панель швидкого доступу, на якій створюю 8 кнопок, в подіях встановлюю HotImages = bd_work->ImageList1, Images = bd_work->ImageList1; Panel2(Button1 - для фільтрації по полю Edit1, який орієнтується на атрибут вибраний в ComboBox1; ComboBox1 - для вибору фільтрації по «Код клієнта» або «Діагноз» або «Код лікаря» або «Прізвище та імя» або «Код паспорту» або «Телефонний номер» або «Місто проживання» або зняття фільтрації; Edit1 - текстове поле для введення певних символів для фільтрації по таблиці Клієнти).

8.Вікно «Вставка запису в Діагнози»:

Додаю на форму diag_insert Panel1.

На Panel1 розміщую Panel2(Label1 - в властивостях встановлюю Caption = «Введіть код діагноза»; Label2 - в властивостях встановлюю Caption = «Введіть термін»; Label1 - в властивостях встановлюю Caption = «Введіть термін лікування:»;), Panel3(Edit1 - для введення коду діагноза; Edit2 - для введення терміну; Edit3 - для введення терміну лікування), Button1 - встановлюю властивість Caption = «Ок», додає в таблицю «Діагнози» послідовно дані прописані в Edit1, Edit2, Edit3.

9.Вікно «Видалення запису в Діагнози»:

Додаю на форму diag_delete Panel1.

На Panel1 розміщую Panel2(Label1 - в властивостях встановлюю Caption = «Введіть код діагноза»; Label2 - в властивостях встановлюю Caption = «Введіть термін»; Label1 - в властивостях встановлюю Caption = «Введіть термін лікування:»;), Panel3(Edit1 - для введення коду діагноза; Edit2 - для введення терміну; Edit3 - для введення терміну лікування), Button1 - встановлюю властивість Caption = «Ок», видаляє в таблиці «Діагнози» послідовно дані прописані в Edit1, Edit2, Edit3.

10.Вікно «Пошук в Діагнози»:

Додаю на форму diag_search Panel1 Panel1 розміщую Panel2(Label1 - в властивостях встановлюю Caption = «Введіть код діагноза»; Label2 - в властивостях встановлюю Caption = «Введіть термін»; Label3 - в властивостях встановлюю Caption = «Введіть термін лікування»; RadioButton1 - для того щоб пошук відбувався по коду діагнозу, в властивостях встановлюю Checked = true; RadioButton2 - для того щоб пошук відбувався по терміну; RadioButton3 - для того щоб пошук відбувався по терміну лікування;), Panel3(Edit1 - вводиться код діагнозу; Edit2 - вводиться термін: Edit3 - вводиться термін лікування), Button1 - в властивостях встановлюю Caption = «Ок», виконує пошук орієнтуючись на вибраний RadioButton та по його відповідному Edit.

11.Вікно «Друк Діагнози»:

Додаю на форму ZVIT_diagnozi QuickRep1

На QuickRep1 розміщую QRBand1(QRLabel1 - в властивостях встановлюю Caption = «Код діагнозу»; QRLabel2 - в властивостях встановлюю Caption = «Термін»; QRLabel3 - в властивостях встановлюю Caption = «Термін лікування»), QRBand2(QRDBText1 - в властивостях встановлюю DataSet = bd_work->diagnoziz, DataField = «Код діагнозу»; QRDBText2 - в властивостях встановлюю DataSet = bd_work->diagnoziz, DataField = «Термін»; QRDBText3 - в властивостях встановлюю DataSet = bd_work->diagnoziz, DataField = «Термін лікування»), QRLabel5 - в властивостях встановлюю Caption = «Діагнози». Властивість компоненту QuickRep1 встановлюю DataSet = bd_work->INSERT_kvitanc, властивість компоненту QRBand2 встановлюю BandType = rbDetail.

12.Вікно «Прибуток» :

Додаю на форму suma_za_den_form Panel1.

На Panel1 розміщую Label1 - в властивостях встановлюю Caption = «Виберіть день:»; Button1 - в властивостях Caption = «Ок», при натиску підраховує суму за вибраний день в MonthCalendar1; DBText1 - для виведення суми за день, в властивостях DataSource = bd_work->summa_za_den, DataField = Expr1000; MonthCalendar1 - календар для вибору дня по якому буде проводитися підрахунок заробленої суми за день.

13.Вікно «Про нас» :

Додаю на форму Me Panel1.

На Panel1 розміщую Label1 - в властивостях Caption = «#"justify">14.Вікно «Довідка» :

Додаю на форму Help Panel1.

Ha Panel1 розміщую Image1 - в властивостях Picture = (TJPEGImage)(завантажую фірмову картинку Medical© control); Label1 - в властивостях встановлюю Caption = «Medical© control (version: 1.0)»; Label2 в властивостях встановлюю Caption = «Програма призначена для:»; Label3 - в властивостях встановлюю Caption = «зберігання;»; Label4 - в властивостях встановлюю Caption = «редагування;»; Label5 - в властивостях встановлюю Caption = «видалення даних;»; Label6 - в властивостях встановлюю Caption = «підрахування заробленої суми за день»; Label7 - в властивостях встановлюю Caption = «фільтрація та пошук даних».

таблиця інтерфейс функціональний логічний

3. ВИБІР АРХІТЕКТУРИ

3.1 Функціональна структура програми(Типи моделі розробки)

IDEF0 - Діаграма декомпозиції. Дану модель використовують для показу функціональної діяльності системи.

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

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

3.2 Вхідні дані на розробку автоматизованої системи

Для розробки даної автоматизованої системи медичного діагностичного центру використовується ERwin, BatchAccess та Builder c++ 6.

·ERwin - для створення схеми бази даних(БД) та генерування коду БД для BatchAccess;

·BatchAccess - для створення БД, на основі генерованого коду на основі схеми БД із ERwin.

·Builder c++ 6 - для програмної реалізації додатку, який буде працювати із генерованою БД, де для звязку з нею буде використовуватися драйвер ADO.

3.3 Вибір середовища програмування

Програмний додаток Medical© control створюється в середовищі Builder С++ 6 на мові високого рівня C++. Builder С++ 6 містить в собі достатню кількість компонентів для звязку та обробки даних з обраної бази даних.

Для звязку з базою даних використовується компонент ADOConnection, в якому вказується шлях до потрібної бази даних(MDC.mdb) та використовується драйвер «Microsoft Jet 4.0 OLE DB Provider». Для того щоб користувач мав змогу керувати даними через програмний додаток, на форму поміщається DataSource, ADOTable(для таблиць) або ADOQuery(для запитів) і після цього до візуальних компонентів DBGrid та DBNavigator зєднується DataSource. Для того щоб обрану таблицю було видно, потрібно в ADOTable в властивостях Connection = ADOConnection, TableName = Table(обрана таблиця із бази даних), Active = true та підключити її до DataSource. Якщо ж використовувати ADOQuery, то в властивостях Connection = ADOConnection, SQL = Strings(певний SQL код), Active = true та підключити її до DataSource.

3.4 Вибір сервера баз даних

Для генерації бази даних було використано драйвер сервера ODBC. Драйвер Microsoft ODBC для SQL Server - це ізольований драйвер, який надає API-інтерфейс, який реалізує стандартні інтерфейси ODBC з Microsoft SQL Server.

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

4. ДЕТАЛЬНЕ ПРОГРАМУВАННЯ

4.1 Логічна структура програми

Основними обєктами бази даних медичного діагностичного центру є: Діагнози, Квитанції, Лікарі, Клієнти, Препарати.

Таблиця «Діагнози» звязана з таблицею «Клієнти» полем «Код діагнозу». Таблиця «Клієнти» звязана з таблицею «Квитанція» полем «Код клієнта» та звязана з таблицею «Лікарі» полем «Код лікаря». Таблиця «Квитанція» звязується з таблицею «Препарати» полем «Код препарату».

Під час проектування програмного додатку, до нього були добавлені компоненти ADOQuery, що містять в собі SQL код даної бази даних.

4.2 Розробка структури бази даних проекту

Визначаю схематично потрібні таблиці для проектованого додатку, а саме: Препарати, Лікарі, Квитанції, Клієнти, Діагнози.

Таблиця «Препарати» буде містити в собі дані про препарати медичного діагностичного центру з атрибутами(з типом даних): Код препарату (Текстовий), Назва препарату(Текстовий), Дата виготовлення(Дата/Час), Термін придатності(Дата/Час). Таблиця «Лікарі» буде містити в собі дані про лікарів медичного діагностичного центру з атрибутами(з типом даних): Код лікаря(Текстовий), Прізвище і ініціали(Текстовий), Код паспорту(Текстовий), Телефонний номер(Текстовий), Місто проживання(Текстовий). Таблиця «Квитанція» міститиме дані про квитанції медичного діагностичного центру з атрибутами(з типом даних): Код квитанції(Текстовий), Код клієнта(Текстовий), Всього до оплати(Числовий), Дата видачі(Дата/Час), Прізвище та імя клієнта(Текстовий), Діагноз(Текстовий), Код препарату(Текстовий). Таблиця «Клієнти» буде містити в собі дані про клієнтів медичного діагностичного центру з атрибутами(з типом даних): Код клієнта(Текстовий), Діагноз(Текстовий), Код лікаря(Текстовий), Прізвище та імя(Текстовий), Код паспорту(Текстовий), Телефонний номер(Текстовий), Місто проживання(Текстовий). Таблиця «Діагнози» буде містити в собі дані про діагнози, які діагностують в медичному діагностичному центрі з атрибутами(з типом даних): Код діагнозу(Текстовий), Термін(Текстовий), Термін лікування(Текстовий). Схема структури таблиць показано в додатку.

4.3 Розробка структури таблиць бази даних

Таблиця «Діагнози» містить такі поля:

·Код діагнозу - дане поле містить дані про код кожного діагнозу певного терміну.

·Термін - дане поле містить дані про назву кожного діагнозу.

·Термін лікування - дане поле містить дані про тривалість лікування кожного діагнозу.

Таблиця «Препарати» містить такі поля:

·Код препарату - дане поле містить дані про код кожний препарат медичного діагностичного центру.

·Назва препарату - дане поле містить дані про назву кожного препарату медичного діагностичного центру.

·Дата виготовлення - дане поле містить дані про дату виготовлення кожного препарату медичного діагностичного центру.

·Термін придатності - дане поле містить дані про термін придатності кожного препарату медичного діагностичного центру.

Таблиця «Клієнти» містить такі поля:

·Код клієнта - дане поле містить дані про код клієнта кожного клієнта медичного діагностичного центру.

·Діагноз клієнта - дане поле містить дані про діагнози кожного клієнта медичного діагностичного центру.

·Прізвище та імя - дане поле містить дані про прізвище та імя кожного клієнта медичного діагностичного центру.

·Код паспорту - дане поле містить дані про код паспорту кожного клієнта медичного діагностичного центру.

·Телефонний номер - дане поле містить дані про телефонні номери кожного клієнта медичного діагностичного центру.

·Місто проживання - дане поле містить дані про місто проживання кожного клієнта медичного діагностичного центру.

·Код діагнозу - дане поле містить дані про код діагнозу кожного клієнта медичного діагностичного центру.

Таблиця «Лікарі» містить такі поля:

·Код лікаря - дане поле містить дані про код лікаря кожного лікаря медичного діагностичного центру.

·Прізвище і ініціали - дане поле містить дані про прізвище та ініціали кожного лікаря медичного діагностичного центру.

·Код паспорту - дане поле містить дані про код паспорту кожного лікаря медичного діагностичного центру.

·Телефонний номер - дане поле містить дані про телефонний номер кожного лікаря медичного діагностичного центру.

·Місто проживання - дане поле містить дані про місто проживання кожного лікаря медичного діагностичного центру.

Таблиця «Квитанція» містить такі поля:

·Код квитанції - дане поле містить дані про код квитанції кожної квитанції медичного діагностичного центру.

·Код клієнта - дане поле містить дані про кожного клієнти медичного діагностичного центру.

·Всього до оплати - дане поле містить дані про кошти, які потрібно сплатити кожному клієнту.

·Дата видачі - дане поле містить дані про дату видачі кожної квитанції.

·Прізвище та імя клієнта - дане поле містить дані про прізвище та імя кожного клієнта медичного діагностичного центру.

·Діагноз - дане поле містить дані про діагнози кожного клієнта медичного діагностичного центру.

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

Ключові поля:

1.Таблиця «Діагнози» - Код діагнозу.

2.Таблиця «Препарати» - Код препарату.

.Таблиця «Лікарі» - Код лікаря.

.Таблиця «Квитанція» - Код квитанції.

.Таблиця «Клієнти» - Код клієнта.

Зовнішні поля ключових полів таблиць:

1.Таблиця «Клієнти» - Код лікаря, Код діагнозу.

2.Таблиця «Квитанція» - Код препарату.

Налаштовую цілісність даних в схемі бази даних проекту.

Висновок

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

При розробці курсового проекту було створено програмний додаток медичного діагностичного центру «Medical© control», який працює з базою даних медичного діагностичного центру. Через Medical© control можна здійснювати ряд операцій з базою даних медичного діагностичного центру: редагування, пошук та фільтрування за довільними полями, друкувати звіти, обчислювати прибуток за день, підраховувати кількість записів в таблицях: Діагнози, Квитанції, Клієнти, Препарати, Лікарі.

Створений додаток було зєднано з базою даних за допомогою компонента ADOConnection та драйвера Microsoft Jet 4.0 OLE DB Provider. Таблиці бази даних були підключені до програмного додатку за допомогою компонентів DataSource та ADOQuery, який містить в собі повний код SQL певної таблиці(Діагнози, Квитанції, Препарати, Лікарі, Клієнти). Виведення даних з таблиць було здійснено за допомогою компонента DBGrid. Було створено головне меню програмного додатку за допомогою MainMenu та панель швидкого доступу ToolBar на якому було розташовано 8 кнопок(Додати запис, Видалити запис, Пошук, Друк, Про нас, Довідка, Зміна паролю, Вихід) та додаткова 9 кнопка швидкого доступу( «Підрахунок» на формі «Квитанції»). Було розміщено компонент DBNavigator за допомогою якого можна додавати, видаляти, оновлювати дані, перемикати на наступний або попередній запис таблицях: Діагнози, Квитанції, Клієнти, Препарати, Лікарі. Також було розміщено панель фільтрації, яка містить компоненти: ComboBox(випадаючий список, в якому вибирається за яким атрибутом фільтрувати, або скинути фільтр), Edit(поле введення символів, по яких здійснюється фільтрація), Button(кнопка для підтвердження фільтрації по заданому атрибуту в ComboBox на основі введених символів в Edit). Було розташовано компонент StatusBar - для виведення підказок та кількості записів в таблиці, додатково виводить зароблену суму за день в формі «Квитанції».

Для розробки програмного додатку знадобилось створити схему функціональної діяльності проектованої системи (IDEF0), додаток 2; діаграму потоків даних проектованої системи (DFD), Рис.2.; діаграма варіантів використання проектованої системи, Рис.3; логічну модель бази даних проектованої системи в ERwin, Рис.3.2.1.

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

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

1.Іан Соммервілла. Інженерія програмного забезпечення 2002.

2.Орлов С. А. Технології розробки програмного забезпечення: Розробка складних програмних систем (Вид. 3), 2004.

.Ерік Дж. Брауде. Технологія розробки програмного забезпечення, 2004.

.Липаев, В. В. Програмна інженерія. Методологічні основи [Текст]: Учеб. / В. В. Липаев; Держ. ун-т - Вища школа економіки. - М. : ТЕИС, 2006. 608 с. - 1000 екз. - ISBN 5-7598-0424-3, УДК 004,41 (075,8), ББК 32.973.26-018я73, Липаев, Вища школа економіки, ТЕИС, 2006, PDF, економіка, програмування.

.Лапланте, Філ (2009). Вимоги Техніка для програмного забезпечення і систем (вид. 1). Редмонд, штат Вашингтон: CRC Press. ISBN 1-42006-467-3.

.Макконнелл Стів (1996). Швидкий розвиток: Приборкання Дикого Software Розклади (. Вид 1). Редмонд, штат Вашингтон: Microsoft Press. ISBN 1-55615-900-5.

.Віджерс, Карл Е. (2003). Вимоги до програмного забезпечення (вид. 2). Редмонд, штат Вашингтон: Microsoft Press. ISBN 0-7356-1879-8.

.Андрій Стельман і Дженніфер Грін (2005). Прикладне програмне забезпечення для управління проектами. Кембридж, Массачусетс: O'Reilly Media. ISBN 0-596-00948-8.

.Брайан Беренбач, Даніель Пауліш, Юрген Катзмеєр, Арнольд Рудофер (2009). Програмне забезпечення та системи технічних вимог: на практиці. Нью-Йорк: McGraw-Hill Професійний. ISBN 0-07-1605479.

.Вальтер Собків (2008). Сталий розвиток можливий при Creative System Engineering. Нью-Джерсі: CassBeth. ISBN 0615216307.

Додаток 1

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

/*

Управління базою даних «Медична діагностична клініка» MDC.mdb

Автор Гребенюк Іван Андрійович

Версія 1.0

Програмування модулів (форм) алгоритмами

*/

//diagnozi_delete_zaput.cpp (daig_delete)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi_delete_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_delete *diag_delete;

__fastcall Tdiag_delete::Tdiag_delete(TComponent* Owner) : TForm(Owner) { }__fastcall Tdiag_delete::Button1Click(TObject *Sender)

{ Memo1->Clear(); bd_work->diagnoziz->Active=false; AnsiString text[]={"DELETE FROM Діагнози",

" WHERE Діагнози.[Код діагнозу]=\""+Edit1->Text+"\"", " OR Діагнози.[Термін лікування]=\""+Edit3->Text+"\" OR",

"Діагнози.Термін=\""+Edit2->Text+"\""}; for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);_work->diagnoziz->Close(); bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text);_work->diagnoziz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Діагнози;"}; Memo1->Clear();(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->diagnoziz->Close();_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text); bd_work->diagnoziz->Open();_work->diagnoziz->Active=true; bd_work->count_diagnozi->Active=false; bd_work->count_diagnozi->Active=true; }__fastcall Tdiag_delete::FormCreate(TObject *Sender) { Left = 387; Top = 523; }__fastcall Tdiag_delete::Edit3KeyPress(TObject *Sender, char &Key)

{ if(Key == VK_RETURN) Button1Click(Sender); }

// diagnozi_insert_zaput.cpp (diag_insert)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi_insert_zaput.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_insert *diag_insert;

__fastcall Tdiag_insert::Tdiag_insert(TComponent* Owner) : TForm(Owner) { }__fastcall Tdiag_insert::Button1Click(TObject *Sender)

{ Memo1->Clear();_work->diagnoziz->Active=false; AnsiString text[]={"INSERT INTO Діагнози([Код діагнозу], Термін,[Термін лікування])",

" VALUES ( \""+Edit1->Text+"\",\""+Edit2->Text+"\",\""+Edit3->Text+"\")"};(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);_work->diagnoziz->Close(); bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text);_work->diagnoziz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Діагнози;"}; Memo1->Clear();(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->diagnoziz->Close();_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text); bd_work->diagnoziz->Open();_work->diagnoziz->Active=true; bd_work->count_diagnozi->Active=false; bd_work->count_diagnozi->Active=true; }__fastcall Tdiag_insert::FormCreate(TObject *Sender) { Left = 387; Top = 523; }__fastcall Tdiag_insert::Button1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN) Button1Click(Sender); }

//diagnozi_search_zaput.cpp (diag_search)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi_search_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_search *diag_search;

__fastcall Tdiag_search::Tdiag_search(TComponent* Owner) : TForm(Owner) { }__fastcall Tdiag_search::Button1Click(TObject *Sender)

{ if((RadioButton2->Checked==true)&&(bd_work->diagnoziz->Locate("Термін",Edit2->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton1->Checked==true)&&(bd_work->diagnoziz->Locate("Код діагнозу",Edit1->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton3->Checked==true)&&(bd_work->diagnoziz->Locate("Термін лікування",Edit3->Text, TLocateOptions())))

{ShowMessage("Присутній!");} }__fastcall Tdiag_search::Edit3KeyPress(TObject *Sender, char &Key) { if(Key==VK_RETURN) Button1Click(Sender); }__fastcall Tdiag_search::FormCreate(TObject *Sender) { Left = 387; Top = 523; }

//connect.cpp (Me)

#include <vcl.h>

#pragma hdrstop

#include "connect.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*Me;

__fastcall TMe::TMe(TComponent* Owner) : TForm(Owner) { }__fastcall TMe::FormCreate(TObject *Sender) { Left = 522; Top = 274; }

//Helps.cpp (Help)

#include <vcl.h>

#pragma hdrstop

#include "Helps.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*Help;

__fastcall THelp::THelp(TComponent* Owner) : TForm(Owner) { }__fastcall THelp::FormCreate(TObject *Sender) { Left = 460; Top = 178; }__fastcall THelp::FormActivate(TObject *Sender) { system("start Довідка.chm"); }

//diagnozi.cpp (Diagnoz)

#include <vcl.h>

#pragma hdrstop

#include "diagnozi.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*Diagnoz;atribute[] = {"Код діагнозу","Термін","Термін лікування"};

__fastcall TDiagnoz::TDiagnoz(TComponent* Owner) : TForm(Owner) { }__fastcall TDiagnoz::FormClose(TObject *Sender, TCloseAction &Action)

{ PasswordDlg->Close(); }__fastcall TDiagnoz::ComboBox1KeyPress(TObject *Sender, char &Key)

{ if(Key==Key)Key = 0x00; }__fastcall TDiagnoz::Button3Click(TObject *Sender) { Panel2->Visible=false; }__fastcall TDiagnoz::DBGrid1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ bd_work->count_diagnozi->Active=false;_work->count_diagnozi->Active=true; Diagnoz->StatusBar1->Panels->Items[1]->Text = DBText1->Caption; }__fastcall TDiagnoz::FormCanResize(TObject *Sender, int &NewWidth, int &NewHeight, bool &Resize)

{ Edit1->Width=Diagnoz->Width-260; }__fastcall TDiagnoz::Button1Click(TObject *Sender)

{ if((ComboBox1->Text=="Скинути фільтр")||(Edit1->Text=="")) bd_work->diagnoziz->Filtered = false;if((ComboBox1->Text=="Фільтр по \"Код діагнозу\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false; bd_work->diagnoziz->Filter = "[Код діагнозу] like '"+Edit1->Text+"*'";_work->diagnoziz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Термін\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false; bd_work->diagnoziz->Filter = "[Термін] like '"+Edit1->Text+"*'";_work->diagnoziz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Термін лікування\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false;_work->diagnoziz->Filter = "[Термін лікування] like '"+Edit1->Text+"*'"; bd_work->diagnoziz->Filtered = true; } }__fastcall TDiagnoz::ToolButton1Click(TObject *Sender) { bd_work->table1Click(Sender); }__fastcall TDiagnoz::ToolButton2Click(TObject *Sender) { bd_work->vidalit1Click(Sender); }__fastcall TDiagnoz::ToolButton4Click(TObject *Sender) { bd_work->N1Click(Sender); }__fastcall TDiagnoz::ToolButton6Click(TObject *Sender) { bd_work->N3Click(Sender); }__fastcall TDiagnoz::ToolButton8Click(TObject *Sender) { bd_work->MeButtonClick(Sender); }__fastcall TDiagnoz::ToolButton10Click(TObject *Sender) { bd_work->N2Click(Sender); }__fastcall TDiagnoz::ToolButton12Click(TObject *Sender) { bd_work->N5Click(Sender); }__fastcall TDiagnoz::FormCreate(TObject *Sender) { Left = 387; Top = 74; }__fastcall TDiagnoz::ToolButton13Click(TObject *Sender) { bd_work->N63Click(Sender); }__fastcall TDiagnoz::DBGrid1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

//password_new.cpp (Pass_renew)

#include <vcl.h>

#pragma hdrstop

#include "password_new.h"

#include "password.h"

#include "diagnozi.h"

#include "klienti.h"

#include "kvitanciji.h"

#include "likari.h"

#include "priparati.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_renew *Pass_renew;

__fastcall TPass_renew::TPass_renew(TComponent* Owner) : TForm(Owner) { }__fastcall TPass_renew::FormCreate(TObject *Sender) { Left = 416; Top = 314; }__fastcall TPass_renew::FormClose(TObject *Sender, TCloseAction &Action)

{ if((Diagnoz->Visible == true)||(klient->Visible == true)|| (kvitancii->Visible == true)||(likar->Visible == true)||

(Priparats->Visible == true)) {Complete_pass->Text = ""; Old_pass->Text = "";New_pass->Text = "";Close();}PasswordDlg->Visible = true; Complete_pass->Text = "";New_pass->Text = "";Old_pass->Text = ""; }__fastcall TPass_renew::Button1Click(TObject *Sender)

{ bool turned = false; String mess1 = "Поля 'Введіть новий пароль' і ";mess2 = "'Повторіть новий пароль' повинні співпадати!"; Memo1->Clear();->Lines->LoadFromFile("renew.bin"); String pass_file = Memo1->Text; if(Old_pass->Text==pass_file) {(New_pass->Text == Complete_pass->Text) { Memo1->Text = Complete_pass->Text; Memo1->Lines->SaveToFile("renew.bin");= true; } else ShowMessage(mess1+mess2); } else ShowMessage("Невірний старий пароль!");(turned == true) { ShowMessage("Зміна пароля пройшла успішно!"); Visible = false; Close(); } }__fastcall TPass_renew::Old_passMouseMove(TObject *Sender,TShiftState Shift, int X, int Y)

{ Old_pass->Hint = Old_pass->Text; }__fastcall TPass_renew::New_passMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ New_pass->Hint = New_pass->Text; }__fastcall TPass_renew::Complete_passMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ Complete_pass->Hint = Complete_pass->Text; }__fastcall TPass_renew::Button1KeyPress(TObject *Sender, char &Key)

{ if(Key == VK_RETURN)Button1Click(Sender); }

//password.cpp (PasswordDlg)

#include <vcl.h>

#include "password.h"

#include "diagnozi.h"

#include "work_bd.h"

#include "password_new.h"

#include "fstream.h"

#pragma resource "*.dfm"*PasswordDlg;

__fastcall TPasswordDlg::TPasswordDlg(TComponent* AOwner) : TForm(AOwner) { }__fastcall TPasswordDlg::OKBtnClick(TObject *Sender)

{ Memo1->Clear(); Memo1->Lines->LoadFromFile("renew.bin"); String pass_file = Memo1->Text;(pass_file != Password->Text) { ShowMessage("Невірний пароль!"); } else { PasswordDlg->Visible=false; Diagnoz->Show(); } }__fastcall TPasswordDlg::CancelBtnClick(TObject *Sender) { PasswordDlg->Close(); }__fastcall TPasswordDlg::FormCreate(TObject *Sender)

{ fstream file("renew.bin"); if(!file.is_open()) { ofstream sozdat("renew.bin"); sozdat.close(); } Left = 529; Top = 317; }__fastcall TPasswordDlg::SpeedButton1Click(TObject *Sender)

{ PasswordDlg->Visible = false; Pass_renew->Visible = true; }

//connect.cpp (Me)

#include <vcl.h>

#pragma hdrstop

#include "connect.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*Me;

__fastcall TMe::TMe(TComponent* Owner) : TForm(Owner) { }__fastcall TMe::FormCreate(TObject *Sender) { Left = 522; Top = 274; }

//kvitanciji.cpp (kvitancii)

#include <vcl.h>

#pragma hdrstop

#include "kvitanciji.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_delete *kvit_delete;

__fastcall Tkvit_delete::Tkvit_delete(TComponent* Owner) : TForm(Owner) { }__fastcall Tkvit_delete::Button1Click(TObject *Sender)

{ String ed1 = "[Код квитанції]=\""+Edit1->Text+"\" OR "; String ed2 = "[Код клієнта]=\""+Edit2->Text+"\" OR "; String ed3;(Edit3->Text != "") ed3 = "[Всього до оплати]="+Edit3->Text+" OR "; else Edit3->Text = "0";ed5 = "[Прізвище та ім'я клієнта]=\""+Edit5->Text+"\" OR "; String ed6 = "Діагноз=\""+Edit6->Text+"\" OR ";ed7 = "[Код препарату]=\""+Edit7->Text+"\""; String mainText = ed1+ed2+ed3+ed5+ed6+ed7;->Clear(); bd_work->kvitanciiz->Active=false; AnsiString text[]={"DELETE FROM Квитанція where "+mainText+""};(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]); bd_work->kvitanciiz->Close();_work->kvitanciiz->SQL->Clear(); bd_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->ExecSQL();text2[]={"SELECT *", "FROM Квитанція;"}; Memo1->Clear(); for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++)->Lines->Add(text2[t]); bd_work->kvitanciiz->Close(); bd_work->kvitanciiz->SQL->Clear();_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->Open(); bd_work->kvitanciiz->Active=true; }__fastcall Tkvit_delete::FormCreate(TObject *Sender) { Left = 913; Top = 453; }__fastcall Tkvit_delete::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

//kvitancii_delete_zaput.cpp (kvit_delete)

#include <vcl.h>

#pragma hdrstop

#include "kvitancii_delete_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_delete *kvit_delete;

__fastcall Tkvit_delete::Tkvit_delete(TComponent* Owner) : TForm(Owner) { }__fastcall Tkvit_delete::Button1Click(TObject *Sender)

{ String ed1 = "[Код квитанції]=\""+Edit1->Text+"\" OR "; String ed2 = "[Код клієнта]=\""+Edit2->Text+"\" OR ";ed3; if(Edit3->Text != "") ed3 = "[Всього до оплати]="+Edit3->Text+" OR ";Edit3->Text = "0"; String ed5 = "[Прізвище та ім'я клієнта]=\""+Edit5->Text+"\" OR ";ed6 = "Діагноз=\""+Edit6->Text+"\" OR "; String ed7 = "[Код препарату]=\""+Edit7->Text+"\"";mainText = ed1+ed2+ed3+ed5+ed6+ed7; Memo1->Clear(); bd_work->kvitanciiz->Active=false;text[]={"DELETE FROM Квитанція where "+mainText+""}; for(unsigned t=0; t<sizeof(text)/sizeof(int); t++)->Lines->Add(text[t]); bd_work->kvitanciiz->Close(); bd_work->kvitanciiz->SQL->Clear();_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->ExecSQL();text2[]={"SELECT *", "FROM Квитанція;"}; Memo1->Clear(); for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++)->Lines->Add(text2[t]); bd_work->kvitanciiz->Close(); bd_work->kvitanciiz->SQL->Clear();_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->Open(); bd_work->kvitanciiz->Active=true; }__fastcall Tkvit_delete::FormCreate(TObject *Sender) { Left = 913; Top = 453; }__fastcall Tkvit_delete::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

//kvitancii_insert_zaput.cpp (kvit_insert)

#include <vcl.h>

#pragma hdrstop

#include "kvitancii_insert_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_insert *kvit_insert;

__fastcall Tkvit_insert::Tkvit_insert(TComponent* Owner) : TForm(Owner) { }__fastcall Tkvit_insert::Button1Click(TObject *Sender)

{ String ed1 = "\""+Edit1->Text+"\","; String lcb1 = "\""+DBLookupComboBox2->Text+"\",";ed2 = "\""+Edit2->Text+"\","; String dtp1 = "\""+DateToStr(DateTimePicker1->Date)+"\",";ed3 = "\""+Edit3->Text+"\","; String lcb2 = "\""+DBLookupComboBox1->Text+"\",";lcb3 = "\""+DBLookupComboBox3->Text+"\""; String mainText = ed1+lcb1+ed2+dtp1+ed3+lcb2+lcb3;->Clear(); bd_work->kvitanciiz->Active=false; AnsiString text[]={"INSERT INTO Квитанція([Код квитанції],[Код клієнта],",

"[Всього до оплати],[Дата видачі],[Прізвище та ім'я клієнта],Діагноз,[Код препарату])", " VALUES ("+mainText+")"};(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]); bd_work->kvitanciiz->Close();_work->kvitanciiz->SQL->Clear(); bd_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->ExecSQL();text2[]={"SELECT *", "FROM Квитанція;"}; Memo1->Clear(); for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++)->Lines->Add(text2[t]); bd_work->kvitanciiz->Close(); bd_work->kvitanciiz->SQL->Clear();_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->Open(); bd_work->kvitanciiz->Active=true; }__fastcall Tkvit_insert::FormCreate(TObject *Sender) { Left = 913; Top = 441; }__fastcall Tkvit_insert::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

//kvitancii_search_zaput.cpp (kvit_search)

#include <vcl.h>

#pragma hdrstop

#include "kvitancii_search_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_search *kvit_search;

__fastcall Tkvit_search::Tkvit_search(TComponent* Owner) : TForm(Owner) { }__fastcall Tkvit_search::Button1Click(TObject *Sender)

{ if((RadioButton1->Checked==true)&&(bd_work->kvitanciiz->Locate("Код квитанції",Edit1->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton2->Checked==true)&&(bd_work->kvitanciiz->Locate("Код клієнта",Edit2->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton3->Checked==true)&&(bd_work->kvitanciiz->Locate("Всього до оплати",Edit3->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton4->Checked==true)&&(bd_work->kvitanciiz->Locate("Прізвище та ім'я клієнта",Edit4->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton5->Checked==true)&&(bd_work->kvitanciiz->Locate("Діагноз",Edit5->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton6->Checked==true)&&(bd_work->kvitanciiz->Locate("Код препарату",Edit6->Text, TLocateOptions())))

{ShowMessage("Присутній!");} }__fastcall Tkvit_search::FormCreate(TObject *Sender) { Left = 913; Top = 441; }__fastcall Tkvit_search::RadioButton1KeyPress(TObject *Sender, char &Key) {if(Key==VK_RETURN)Button1Click(Sender); }

//kvitancii_suma_za_den_zaput.cpp (suma_za_den_form)

#include <vcl.h>

#pragma hdrstop

#include "kvitancii_suma_za_den_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_za_den_form *suma_za_den_form;

__fastcall Tsuma_za_den_form::Tsuma_za_den_form(TComponent* Owner) : TForm(Owner) { }proverka()

{ if(suma_za_den_form->DBText1->Caption == "") {String none = "0"; suma_za_den_form->DBText1->Caption = none;}}__fastcall Tsuma_za_den_form::Button1Click(TObject *Sender)

{ if(Key == VK_RETURN)Button1Click(Sender); }

//klienti.cpp (klienti)

#include <vcl.h>

#pragma hdrstop

#include "klienti.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*klient;

__fastcall Tklient::Tklient(TComponent* Owner) : TForm(Owner) { }__fastcall Tklient::FormCanResize(TObject *Sender, int &NewWidth, int &NewHeight, bool &Resize)

{ Edit1->Width=klient->Width-260; }__fastcall Tklient::FormCreate(TObject *Sender)

{ Edit1->Width=klient->Width-260; Left = 237; Top = 116; }__fastcall Tklient::FormClose(TObject *Sender, TCloseAction &Action) { PasswordDlg->Close(); }__fastcall Tklient::Button1Click(TObject *Sender)

{ if((ComboBox1->Text=="Скинути фільтр")||(Edit1->Text=="")) bd_work->klientiz->Filtered = false;if((ComboBox1->Text=="Фільтр по \"Код клієнта\"")&&(Edit1->Text!=""))

{ bd_work->klientiz->Filtered = false; bd_work->klientiz->Filter = "[Код клієнта] like '"+Edit1->Text+"*'";_work->klientiz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Діагноз\"")&&(Edit1->Text!=""))

{ bd_work->klientiz->Filtered = false; bd_work->klientiz->Filter = "[Діагноз клієнта] like '"+Edit1->Text+"*'";_work->klientiz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Код лікаря\"")&&(Edit1->Text!=""))

{ bd_work->klientiz->Filtered = false; bd_work->klientiz->Filter = "[Код лікаря] like '"+Edit1->Text+"*'";_work->klientiz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Прізвище та ім'я\"")&&(Edit1->Text!=""))

{ bd_work->klientiz->Filtered = false;_work->klientiz->Filter = "[Прізвище та ім'я] like '"+Edit1->Text+"*'"; bd_work->klientiz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Код паспорту\"")&&(Edit1->Text!="")) { bd_work->klientiz->Filtered = false;_work->klientiz->Filter = "[Код паспорту] like '"+Edit1->Text+"*'"; bd_work->klientiz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Телефонний номер\"")&&(Edit1->Text!="")) { bd_work->klientiz->Filtered = false;_work->klientiz->Filter = "[Телефонний номер] like '"+Edit1->Text+"*'"; bd_work->klientiz->Filtered = true; }if((ComboBox1->Text=="Фільтр по \"Місто проживання\"")&&(Edit1->Text!=""))

{ bd_work->klientiz->Filtered = false; bd_work->klientiz->Filter = "[Місто проживання] like '"+Edit1->Text+"*'";_work->klientiz->Filtered = true; } }__fastcall Tklient::DBGrid1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ bd_work->count_klients->Active=false;_work->count_klients->Active=true; klient->StatusBar1->Panels->Items[1]->Text = DBText1->Caption; }__fastcall Tklient::ToolButton1Click(TObject *Sender) { bd_work->N56Click(Sender); }__fastcall Tklient::ToolButton2Click(TObject *Sender) { bd_work->N57Click(Sender); }__fastcall Tklient::ToolButton4Click(TObject *Sender) { bd_work->N58Click(Sender); }__fastcall Tklient::ToolButton6Click(TObject *Sender) { bd_work->N59Click(Sender); }__fastcall Tklient::ToolButton8Click(TObject *Sender) { bd_work->N60Click(Sender); }__fastcall Tklient::ToolButton10Click(TObject *Sender) { bd_work->N61Click(Sender); }__fastcall Tklient::ToolButton12Click(TObject *Sender) { bd_work->N51Click(Sender); }__fastcall Tklient::ToolButton14Click(TObject *Sender) { bd_work->N63Click(Sender); }__fastcall Tklient::DBGrid1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

//klienti_delete_zaput.cpp (klient_deletes)

#include <vcl.h>

#pragma hdrstop

#include "klienti_delete_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_deletes *klient_deletes;

__fastcall Tklient_deletes::Tklient_deletes(TComponent* Owner) : TForm(Owner) { }__fastcall Tklient_deletes::Button1Click(TObject *Sender)

{ String ed1 = "[Код клієнта] = \""+Edit1->Text+"\" OR "; String ed2 = "[Діагноз клієнта] = \""+Edit2->Text+"\" OR ";ed3 = "[Код лікаря] = \""+Edit3->Text+"\" OR "; String ed4 = "[Прізвище та ім'я] = \""+Edit4->Text+"\" OR ";ed5 = "[Код паспорту] = \""+Edit5->Text+"\" OR "; String ed6 = "[Телефонний номер] = \""+Edit6->Text+"\" OR ";ed7 = "[Місто проживання] = \""+Edit7->Text+"\""; String mainText = ed1+ed2+ed3+ed4+ed5+ed6+ed7;->Clear(); bd_work->klientiz->Active=false; AnsiString text[]={"DELETE FROM Клієнти ",

"WHERE "+mainText+";"}; for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);_work->klientiz->Close(); bd_work->klientiz->SQL->Clear(); bd_work->klientiz->SQL->Add(Memo1->Text);_work->klientiz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Клієнти;"}; Memo1->Clear();(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->klientiz->Close();_work->klientiz->SQL->Clear(); bd_work->klientiz->SQL->Add(Memo1->Text); bd_work->klientiz->Open();_work->klientiz->Active=true; bd_work->count_klients->Active=false; bd_work->count_klients->Active=true; }__fastcall Tklient_deletes::FormCreate(TObject *Sender) { Left = 913; Top = 453; }__fastcall Tklient_deletes::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

//klienti_insert_zaput.cpp (klient_insert)

#include <vcl.h>

#pragma hdrstop

#include "klienti_insert_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_insert *klient_insert;

__fastcall Tklient_insert::Tklient_insert(TComponent* Owner) : TForm(Owner) { }__fastcall Tklient_insert::Button1Click(TObject *Sender)

{ String ed1 = "\""+Edit1->Text+"\","; String lcb1 = "\""+DBLookupComboBox1->Text+"\",";lcb2 = "\""+DBLookupComboBox2->Text+"\","; String ed4 = "\""+Edit4->Text+"\",";ed5 = "\""+Edit5->Text+"\","; String ed6 = "\""+Edit6->Text+"\","; String ed7 = "\""+Edit7->Text+"\"";mainText = ed1+lcb1+lcb2+ed4+ed5+ed6+ed7; Memo1->Clear();_work->klientiz->Active=false; AnsiString text[]={"INSERT INTO Клієнти([Код клієнта],[Діагноз клієнта],",

"[Код лікаря],[Прізвище та ім'я],[Код паспорту],", "[Телефонний номер],[Місто проживання])"," VALUES ("+mainText+")"};

for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]); bd_work->klientiz->Close();_work->klientiz->SQL->Clear(); bd_work->klientiz->SQL->Add(Memo1->Text); bd_work->klientiz->ExecSQL();text2[]={"SELECT *", "FROM Клієнти;"}; Memo1->Clear();(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->klientiz->Close();_work->klientiz->SQL->Clear(); bd_work->klientiz->SQL->Add(Memo1->Text); bd_work->klientiz->Open();_work->klientiz->Active=true; bd_work->count_klients->Active=false; bd_work->count_klients->Active=true; }__fastcall Tklient_insert::FormCreate(TObject *Sender) { Left = 913; Top = 453; }__fastcall Tklient_insert::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

//klienti_search_zaput.cpp (klient_search)

#include <vcl.h>

#pragma hdrstop

#include "klienti_search_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_search *klient_search;

__fastcall Tklient_search::Tklient_search(TComponent* Owner) : TForm(Owner) { }__fastcall Tklient_search::Button1Click(TObject *Sender)

{ if((RadioButton1->Checked==true)&&(bd_work->klientiz->Locate("Код клієнта",Edit1->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton2->Checked==true)&&(bd_work->klientiz->Locate("Діагноз клієнта",Edit2->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton3->Checked==true)&&(bd_work->klientiz->Locate("Код лікаря",Edit3->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton4->Checked==true)&&(bd_work->klientiz->Locate("Прізвище та ім'я",Edit4->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton5->Checked==true)&&(bd_work->klientiz->Locate("Код паспорту",Edit5->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton6->Checked==true)&&(bd_work->klientiz->Locate("Телефонний номер",Edit6->Text, TLocateOptions())))

{ShowMessage("Присутній!");}((RadioButton7->Checked==true)&&(bd_work->klientiz->Locate("Місто проживання",Edit7->Text, TLocateOptions())))

{ShowMessage("Присутній!");} }__fastcall Tklient_search::FormCreate(TObject *Sender)

{ Left = 913; Top = 453; }__fastcall Tklient_search::RadioButton1KeyPress(TObject *Sender, char &Key)

{ if(Key == VK_RETURN)Button1Click(Sender); }

//likari.cpp (likar)

#include <vcl.h>

#pragma hdrstop

#include "likari.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*likar;

__fastcall Tlikar::Tlikar(TComponent* Owner) : TForm(Owner) { }__fastcall Tlikar::FormCanResize(TObject *Sender, int &NewWidth, int &NewHeight, bool &Resize)

{ Edit1->Width=likar->Width-260; }__fastcall Tlikar::FormCreate(TObject *Sender) { Edit1->Width=likar->Width-260; Left = 367; Top = 120; }__fastcall Tlikar::DBGrid1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ bd_work->count_likari->Active=false; bd_work->count_likari->Active=true;->Panels->Items[1]->Text = DBText1->Caption; }__fastcall Tlikar::Button1Click(TObject *Sender)

{ if((ComboBox1->Text=="Скинути фільтр")||(Edit1->Text=="")) bd_work->likariz->Filtered = false; String FN = ""; //FieldName((ComboBox1->Text=="Фільтр по \"Код лікаря\"")&&(Edit1->Text!="")) {FN = "[Код лікаря] like '"+Edit1->Text+"*'"; }if((ComboBox1->Text=="Фільтр по \"Прізвище і ініціали\"")&&(Edit1->Text!=""))

{FN = "[Прізвище і ініціали] like '"+Edit1->Text+"*'";}if((ComboBox1->Text=="Фільтр по \"Код паспорту\"")&&(Edit1->Text!="")) {FN = "[Код паспорту] like '"+Edit1->Text+"*'";}if((ComboBox1->Text=="Фільтр по \"Телефонний номер\"")&&(Edit1->Text!=""))

{ FN = "[Телефонний номер] like '"+Edit1->Text+"*'"; }if((ComboBox1->Text=="Фільтр по \"Місто проживання\"")&&(Edit1->Text!=""))

{ PasswordDlg->Close(); }__fastcall Tlikar::ToolButton1Click(TObject *Sender) { bd_work->N43Click(Sender); }__fastcall Tlikar::ToolButton2Click(TObject *Sender) { bd_work->N44Click(Sender); }__fastcall Tlikar::ToolButton4Click(TObject *Sender) { bd_work->N45Click(Sender); }__fastcall Tlikar::ToolButton7Click(TObject *Sender) { bd_work->N46Click(Sender); }__fastcall Tlikar::ToolButton9Click(TObject *Sender) { bd_work->N47Click(Sender); }__fastcall Tlikar::ToolButton11Click(TObject *Sender) { bd_work->N48Click(Sender); }__fastcall Tlikar::ToolButton5Click(TObject *Sender) { bd_work->N39Click(Sender); }__fastcall Tlikar::ToolButton13Click(TObject *Sender) { bd_work->N63Click(Sender);}__fastcall Tlikar::DBGrid1KeyPress(TObject *Sender, char &Key)

{ if(Key == VK_RETURN)Button1Click(Sender); }

//likari_delete_zaput.cpp (likar_delete)

#include <vcl.h>

#pragma hdrstop

#include "likari_delete_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_delete *likar_delete;

__fastcall Tlikar_delete::Tlikar_delete(TComponent* Owner) : TForm(Owner) { }__fastcall Tlikar_delete::Button1Click(TObject *Sender)

{ String ed1 = "[Код лікаря] = \""+Edit1->Text+"\" OR ";ed2 = "[Прізвище і ініціали] = \""+Edit2->Text+"\" OR "; String ed3 = "[Код паспорту] = \""+Edit3->Text+"\" OR ";ed4 = "[Телефонний номер] = \""+Edit4->Text+"\" OR "; String ed5 = "[Місто проживання] = \""+Edit5->Text+"\"";mainText = ed1+ed2+ed3+ed4+ed5; Memo1->Clear();_work->likariz->Active=false; AnsiString text[]={"DELETE FROM Лікарі WHERE "+mainText+""};(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);_work->likariz->Close(); bd_work->likariz->SQL->Clear(); bd_work->likariz->SQL->Add(Memo1->Text);_work->likariz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Лікарі;"};->Clear(); for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++)->Lines->Add(text2[t]); bd_work->likariz->Close(); bd_work->likariz->SQL->Clear();_work->likariz->SQL->Add(Memo1->Text); bd_work->likariz->Open(); bd_work->likariz->Active=true; }__fastcall Tlikar_delete::FormCreate(TObject *Sender) { Left = 913; Top = 441; }__fastcall Tlikar_delete::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender);}

//likari_insert_zaput.cpp (likar_insert)

#include <vcl.h>

#pragma hdrstop

#include "likari_insert_zaput.h"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"_insert *likar_insert;

__fastcall Tlikar_insert::Tlikar_insert(TComponent* Owner) : TForm(Owner) { }__fastcall Tlikar_insert::Button1Click(TObject *Sender)

{ String ed1 = "\""+Edit1->Text+"\","; String ed2 = "\""+Edit2->Text+"\",";ed3 = "\""+Edit3->Text+"\","; String ed4 = "\""+Edit4->Text+"\","; String ed5 = "\""+Edit5->Text+"\"";mainText = ed1+ed2+ed3+ed4+ed5; Memo1->Clear(); bd_work->likariz->Active=false;text[]={"INSERT INTO Лікарі([Код лікаря],[Прізвище і ініціали],[Код паспорту],",

"[Телефонний номер],[Місто проживання]) VALUES ("+mainText+")"};

for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);_work->likariz->Close(); bd_work->likariz->SQL->Clear(); bd_work->likariz->SQL->Add(Memo1->Text);_work->likariz->ExecSQL(); AnsiString text2[]={"SELECT *",

"FROM Лікарі;"}; Memo1->Clear(); for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++)->Lines->Add(text2[t]); bd_work->likariz->Close(); bd_work->likariz->SQL->Clear();_work->likariz->SQL->Add(Memo1->Text); bd_work->likariz->Open(); bd_work->likariz->Active=true;

}__fastcall Tlikar_insert::FormCreate(TObject *Sender) { Left = 913; Top = 441; }__fastcall Tlikar_insert::Edit1KeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN)Button1Click(Sender); }

Похожие работы на - Автоматизована інформаційна система медичного діагностичного центру

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!