Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Висновок 1 страница




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

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

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

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

 

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

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

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

 

 

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

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

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 


 

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

При розробці курсового проекту було створено програмний додаток медичного діагностичного центру «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), яка наведена в додатку 3 Рис. 16; діаграму потоків даних проектованої системи (DFD), яка наведена в додатку 3 Рис. 17; діаграма варіантів використання проектованої системи, яка наведена в додатку 3 Рис. 18; логічну модель бази даних проектованої системи в ERwin, яка наведена в додатку 3 Рис. 19.

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


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

 

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

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

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

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

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

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

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

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

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

10. Вальтер Собків (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"

Tdiag_delete *diag_delete;

__fastcall Tdiag_delete::Tdiag_delete(TComponent* Owner): TForm(Owner) { }

void __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]);

bd_work->diagnoziz->Close(); bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text);

bd_work->diagnoziz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Діагнози;"}; Memo1->Clear();

for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->diagnoziz->Close();

bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text); bd_work->diagnoziz->Open();

bd_work->diagnoziz->Active=true; bd_work->count_diagnozi->Active=false; bd_work->count_diagnozi->Active=true; }

void __fastcall Tdiag_delete::FormCreate(TObject *Sender) { Left = 387; Top = 523; }

void __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"

#include "work_bd.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

Tdiag_insert *diag_insert;

__fastcall Tdiag_insert::Tdiag_insert(TComponent* Owner): TForm(Owner) { }

void __fastcall Tdiag_insert::Button1Click(TObject *Sender)

{ Memo1->Clear();

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

" VALUES (\""+Edit1->Text+"\",\""+Edit2->Text+"\",\""+Edit3->Text+"\")"};

for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]);

bd_work->diagnoziz->Close(); bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text);

bd_work->diagnoziz->ExecSQL(); AnsiString text2[]={"SELECT *", "FROM Діагнози;"}; Memo1->Clear();

for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++) Memo1->Lines->Add(text2[t]); bd_work->diagnoziz->Close();

bd_work->diagnoziz->SQL->Clear(); bd_work->diagnoziz->SQL->Add(Memo1->Text); bd_work->diagnoziz->Open();

bd_work->diagnoziz->Active=true; bd_work->count_diagnozi->Active=false; bd_work->count_diagnozi->Active=true; }

void __fastcall Tdiag_insert::FormCreate(TObject *Sender) { Left = 387; Top = 523; }

void __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"

Tdiag_search *diag_search;

__fastcall Tdiag_search::Tdiag_search(TComponent* Owner): TForm(Owner) { }

void __fastcall Tdiag_search::Button1Click(TObject *Sender)

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

{ShowMessage("Присутній!");}

if((RadioButton1->Checked==true)&&(bd_work->diagnoziz->Locate("Код діагнозу",Edit1->Text, TLocateOptions())))

{ShowMessage("Присутній!");}

if((RadioButton3->Checked==true)&&(bd_work->diagnoziz->Locate("Термін лікування",Edit3->Text, TLocateOptions())))

{ShowMessage("Присутній!");} }

void __fastcall Tdiag_search::Edit3KeyPress(TObject *Sender, char &Key) { if(Key==VK_RETURN) Button1Click(Sender); }

void __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"

TMe *Me;

__fastcall TMe::TMe(TComponent* Owner): TForm(Owner) { }

void __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"

THelp *Help;

__fastcall THelp::THelp(TComponent* Owner): TForm(Owner) { }

void __fastcall THelp::FormCreate(TObject *Sender) { Left = 460; Top = 178; }

void __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"

TDiagnoz *Diagnoz;

String atribute[] = {"Код діагнозу","Термін","Термін лікування"};

__fastcall TDiagnoz::TDiagnoz(TComponent* Owner): TForm(Owner) { }

void __fastcall TDiagnoz::FormClose(TObject *Sender, TCloseAction &Action)

{ PasswordDlg->Close(); }

void __fastcall TDiagnoz::ComboBox1KeyPress(TObject *Sender, char &Key)

{ if(Key==Key)Key = 0x00; }

void __fastcall TDiagnoz::Button3Click(TObject *Sender) { Panel2->Visible=false; }

void __fastcall TDiagnoz::DBGrid1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ bd_work->count_diagnozi->Active=false;

bd_work->count_diagnozi->Active=true; Diagnoz->StatusBar1->Panels->Items[1]->Text = DBText1->Caption; }

void __fastcall TDiagnoz::FormCanResize(TObject *Sender, int &NewWidth, int &NewHeight, bool &Resize)

{ Edit1->Width=Diagnoz->Width-260; }

void __fastcall TDiagnoz::Button1Click(TObject *Sender)

{ if((ComboBox1->Text=="Скинути фільтр")||(Edit1->Text=="")) bd_work->diagnoziz->Filtered = false;

else if((ComboBox1->Text=="Фільтр по \"Код діагнозу\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false; bd_work->diagnoziz->Filter = "[Код діагнозу] like '"+Edit1->Text+"*'";

bd_work->diagnoziz->Filtered = true; }

else if((ComboBox1->Text=="Фільтр по \"Термін\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false; bd_work->diagnoziz->Filter = "[Термін] like '"+Edit1->Text+"*'";

bd_work->diagnoziz->Filtered = true; }

else if((ComboBox1->Text=="Фільтр по \"Термін лікування\"")&&(Edit1->Text!=""))

{ bd_work->diagnoziz->Filtered = false;

bd_work->diagnoziz->Filter = "[Термін лікування] like '"+Edit1->Text+"*'"; bd_work->diagnoziz->Filtered = true; } }

void __fastcall TDiagnoz::ToolButton1Click(TObject *Sender) { bd_work->table1Click(Sender); }

void __fastcall TDiagnoz::ToolButton2Click(TObject *Sender) { bd_work->vidalit1Click(Sender); }

void __fastcall TDiagnoz::ToolButton4Click(TObject *Sender) { bd_work->N1Click(Sender); }

void __fastcall TDiagnoz::ToolButton6Click(TObject *Sender) { bd_work->N3Click(Sender); }

void __fastcall TDiagnoz::ToolButton8Click(TObject *Sender) { bd_work->MeButtonClick(Sender); }

void __fastcall TDiagnoz::ToolButton10Click(TObject *Sender) { bd_work->N2Click(Sender); }

void __fastcall TDiagnoz::ToolButton12Click(TObject *Sender) { bd_work->N5Click(Sender); }

void __fastcall TDiagnoz::FormCreate(TObject *Sender) { Left = 387; Top = 74; }

void __fastcall TDiagnoz::ToolButton13Click(TObject *Sender) { bd_work->N63Click(Sender); }

void __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"

TPass_renew *Pass_renew;

__fastcall TPass_renew::TPass_renew(TComponent* Owner): TForm(Owner) { }

void __fastcall TPass_renew::FormCreate(TObject *Sender) { Left = 416; Top = 314; }

void __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();}

else PasswordDlg->Visible = true; Complete_pass->Text = "";New_pass->Text = "";Old_pass->Text = ""; }

void __fastcall TPass_renew::Button1Click(TObject *Sender)

{ bool turned = false; String mess1 = "Поля 'Введіть новий пароль' і ";

String mess2 = "'Повторіть новий пароль' повинні співпадати!"; Memo1->Clear();

Memo1->Lines->LoadFromFile("renew.bin"); String pass_file = Memo1->Text; if(Old_pass->Text==pass_file) {

if(New_pass->Text == Complete_pass->Text) { Memo1->Text = Complete_pass->Text; Memo1->Lines->SaveToFile("renew.bin");

turned = true; } else ShowMessage(mess1+mess2); } else ShowMessage("Невірний старий пароль!");

if(turned == true) { ShowMessage("Зміна пароля пройшла успішно!"); Visible = false; Close(); } }

void __fastcall TPass_renew::Old_passMouseMove(TObject *Sender,TShiftState Shift, int X, int Y)

{ Old_pass->Hint = Old_pass->Text; }

void __fastcall TPass_renew::New_passMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ New_pass->Hint = New_pass->Text; }

void __fastcall TPass_renew::Complete_passMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{ Complete_pass->Hint = Complete_pass->Text; }

void __fastcall TPass_renew::Button1KeyPress(TObject *Sender, char &Key)

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

//password.cpp (PasswordDlg)

#include <vcl.h>

#pragma hdrstop

#include "password.h"

#include "diagnozi.h"

#include "work_bd.h"

#include "password_new.h"

#include "fstream.h"

#pragma resource "*.dfm"

TPasswordDlg *PasswordDlg;

__fastcall TPasswordDlg::TPasswordDlg(TComponent* AOwner): TForm(AOwner) { }

void __fastcall TPasswordDlg::OKBtnClick(TObject *Sender)

{ Memo1->Clear(); Memo1->Lines->LoadFromFile("renew.bin"); String pass_file = Memo1->Text;

if(pass_file!= Password->Text) { ShowMessage("Невірний пароль!"); } else { PasswordDlg->Visible=false; Diagnoz->Show(); } }

void __fastcall TPasswordDlg::CancelBtnClick(TObject *Sender) { PasswordDlg->Close(); }

void __fastcall TPasswordDlg::FormCreate(TObject *Sender)

{ fstream file("renew.bin"); if(!file.is_open()) { ofstream sozdat("renew.bin"); sozdat.close(); } Left = 529; Top = 317; }

void __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"

TMe *Me;

__fastcall TMe::TMe(TComponent* Owner): TForm(Owner) { }

void __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"

Tkvit_delete *kvit_delete;

__fastcall Tkvit_delete::Tkvit_delete(TComponent* Owner): TForm(Owner) { }

void __fastcall Tkvit_delete::Button1Click(TObject *Sender)

{ String ed1 = "[Код квитанції]=\""+Edit1->Text+"\" OR "; String ed2 = "[Код клієнта]=\""+Edit2->Text+"\" OR "; String ed3;

if(Edit3->Text!= "") ed3 = "[Всього до оплати]="+Edit3->Text+" OR "; else Edit3->Text = "0";

String ed5 = "[Прізвище та ім'я клієнта]=\""+Edit5->Text+"\" OR "; String ed6 = "Діагноз=\""+Edit6->Text+"\" OR ";

String ed7 = "[Код препарату]=\""+Edit7->Text+"\""; String mainText = ed1+ed2+ed3+ed5+ed6+ed7;

Memo1->Clear(); bd_work->kvitanciiz->Active=false; AnsiString text[]={"DELETE FROM Квитанція where "+mainText+""};

for(unsigned t=0; t<sizeof(text)/sizeof(int); t++) Memo1->Lines->Add(text[t]); bd_work->kvitanciiz->Close();

bd_work->kvitanciiz->SQL->Clear(); bd_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->ExecSQL();

AnsiString text2[]={"SELECT *", "FROM Квитанція;"}; Memo1->Clear(); for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++)

Memo1->Lines->Add(text2[t]); bd_work->kvitanciiz->Close(); bd_work->kvitanciiz->SQL->Clear();

bd_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->Open(); bd_work->kvitanciiz->Active=true; }

void __fastcall Tkvit_delete::FormCreate(TObject *Sender) { Left = 913; Top = 453; }

void __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"

Tkvit_delete *kvit_delete;

__fastcall Tkvit_delete::Tkvit_delete(TComponent* Owner): TForm(Owner) { }

void __fastcall Tkvit_delete::Button1Click(TObject *Sender)

{ String ed1 = "[Код квитанції]=\""+Edit1->Text+"\" OR "; String ed2 = "[Код клієнта]=\""+Edit2->Text+"\" OR ";

String ed3; if(Edit3->Text!= "") ed3 = "[Всього до оплати]="+Edit3->Text+" OR ";

else Edit3->Text = "0"; String ed5 = "[Прізвище та ім'я клієнта]=\""+Edit5->Text+"\" OR ";

String ed6 = "Діагноз=\""+Edit6->Text+"\" OR "; String ed7 = "[Код препарату]=\""+Edit7->Text+"\"";

String mainText = ed1+ed2+ed3+ed5+ed6+ed7; Memo1->Clear(); bd_work->kvitanciiz->Active=false;

AnsiString text[]={"DELETE FROM Квитанція where "+mainText+""}; for(unsigned t=0; t<sizeof(text)/sizeof(int); t++)

Memo1->Lines->Add(text[t]); bd_work->kvitanciiz->Close(); bd_work->kvitanciiz->SQL->Clear();

bd_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->ExecSQL();

AnsiString text2[]={"SELECT *", "FROM Квитанція;"}; Memo1->Clear(); for(unsigned t=0; t<sizeof(text2)/sizeof(int); t++)

Memo1->Lines->Add(text2[t]); bd_work->kvitanciiz->Close(); bd_work->kvitanciiz->SQL->Clear();

bd_work->kvitanciiz->SQL->Add(Memo1->Text); bd_work->kvitanciiz->Open(); bd_work->kvitanciiz->Active=true; }

void __fastcall Tkvit_delete::FormCreate(TObject *Sender) { Left = 913; Top = 453; }

void __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"

Tkvit_insert *kvit_insert;

__fastcall Tkvit_insert::Tkvit_insert(TComponent* Owner): TForm(Owner) { }

void __fastcall Tkvit_insert::Button1Click(TObject *Sender)

{ String ed1 = "\""+Edit1->Text+"\","; String lcb1 = "\""+DBLookupComboBox2->Text+"\",";

String ed2 = "\""+Edit2->Text+"\","; String dtp1 = "\""+DateToStr(DateTimePicker1->Date)+"\",";

String ed3 = "\""+Edit3->Text+"\","; String lcb2 = "\""+DBLookupComboBox1->Text+"\",";




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 249; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.159 сек.