Таким чином для користувача реалізовані такі основні функції:
- запобігання несанкціонованого доступу до даних;
- введення даних у таблиці для складання документу;
- поповнення довідників;
- контроль за ІПР, які можуть зберігатися у файлі Excel на диску;
Програма не вимагає спеціальних знань від користувача та розрахована на користувачів з мінімальними навичками володіння Windows, має інтуїтивно-зрозумілий програмний інтерфейс та підказки, тому може використовуватися у МСЕК для ведення бази даних індивідуальних програм реабілітації інвалідів.
Розроблена пояснювальна записка акцентує увагу та інтерфейсі програми та інструкції користувача, що спрощує її використання.
Проведений економічний розрахунок показав, що собівартість програми автоматизації ведення бази даних індивідуальної реабілітації інвалідів IPR складає 11600,00 грн., якщо коледж продаватиме цю програму, то її ціна для споживача складе 18629,60 грн. При цьому з кожного екземпляра проданої програми коледж матиме прибуток 1160,00 грн.
Програмний продукт може бути корисним та актуальним для автоматизації роботи МСЕК, адже дозволяє спростити та пришвидшити роботи персоналу, надає точні дані у документі та дозволяє контролювати ІПР різних пацієнтів.
У подальшому програмна система може бути розширена за рахунок реалізації обміну даними між різними МСЕК, додавання можливостей для більш широкої систематизації даних та ведення статистики за різними показниками, формування більш широкого кола документів.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1 Borland Delphi 6. Руководство разработчика.: [Пер. с англ.] - М.: Вильямс, 2002. - 1120 с.
2 Баас Р., Фервай М., Гюнтер Х. Delphi 5: для пользователя. Пер. с нем. - К.: BHVб, 2000 - 496 с.
Бобровский С. Delphi 6 и Kylix: Библиотека программиста. - СПб.: Питер, 2002. - 560 с.
4 Основные возможности СУБД [Электронный ресурс]: / Режим доступу: #"871469.files/image077.gif">
Рисунок А.1 - Довідник статі
Рисунок А.2 - Довідник освіти
Рисунок А.3 - Довідник груп інвалідності
Рисунок А.4 - Довідник типу програми реабілітації
Рисунок А.5 - Довідник видів обмежень
Рисунок А.6 - Довідник ступенів обмежень
Рисунок А.7 - Фрагмент довідника реабілітаційних заходів
Рисунок А.8 - Довідник реабілітаційних потенціалів
Рисунок А.9 - Довідник цілей реабілітації
Приклад заповненої таблиці інформації про пацієнта приведено
на рисунку А.10. Ця таблиця заповнюється в процесі користування програмою і
приведена лише для ознайомлення.
Рисунок А.10 - Таблиця інформації про пацієнта
Додаток Б
Лістинг програми
Лістинг Б.1 - Текст програми
//Текст модуля Main, головна формаMain;
TMainForm.m_exitClick(Sender: TObject);();;
TMainForm.m_aboutClick(Sender: TObject);(not Assigned(AboutForm)) then:=TAboutForm.Create(Self);.ShowModal();;
TMainForm.tb_view_iprClick(Sender: TObject);(not Assigned(FormIPRView)) then:=TFormIPRView.Create(Self);.showModal();;
TMainForm.m_add_iprClick(Sender: TObject);(not Assigned(FormAddIPR)) then.CreateForm(TFormAddIPR, FormAddIPR);DataModule1.IBQuery3.RecordCount>0 then.fio.Text:= DataModule1.IBQuery3.fieldbyname('fio').Value;.fio.Tag:= DataModule1.IBQuery3.fieldbyname('id_chel').Value;.Tag:=11;.ShowModal();;;
TMainForm.m_zmin_korClick(Sender: TObject);(not Assigned(FormRedPas)) then:=TFormRedPas.Create(Self);.ShowModal();;
TMainForm.m_poiskClick(Sender: TObject);(Panel_Poshuk.Visible=true) then Panel_Poshuk.Visible:=falsebegin if (Panel_Poshuk.Visible=false) then Panel_Poshuk.Visible:=true; end;;
TMainForm.FormCreate(Sender: TObject);DataModule1.Tag=1 then_Inf.DataSource:=Datamodule1.DataSource3;(not Assigned(FormAvtoriz)) then Application.CreateForm(TFormAvtoriz, FormAvtoriz);.IBQuery3.Last;.Panels[0].Text := 'Кількість пацієнтів: '+IntToStr(DataModule1.IBQuery3.RecordCount);_osv.Clear;_sex.Clear;_gr.Clear;_obl.Clear;.IBQuery_osvita.Active:=true;not DataModule1.IBQuery_osvita.Eof do_osv.Items.Add(DataModule1.IBQuery_osvita.Fields[1].Value);.IBQuery_osvita.Next;;.IBQuery_sex.Active:=true;not DataModule1.IBQuery_sex.Eof do_sex.Items.Add(DataModule1.IBQuery_sex.Fields[1].Value);.IBQuery_sex.Next;;.IBQuery_gr.Active:=true;not DataModule1.IBQuery_gr.Eof do_gr.Items.Add(DataModule1.IBQuery_gr.Fields[1].Value);.IBQuery_gr.Next;;.IBQuery_obl.Active:=true;not DataModule1.IBQuery_obl.Eof do_obl.Items.Add(DataModule1.IBQuery_obl.Fields[1].Value);.IBQuery_obl.Next;;;;
TMainForm.m_add_pacClick(Sender: TObject);(not Assigned(FormAddPacient)) then.CreateForm(TFormAddPacient, FormAddPacient);.ShowModal();;
TMainForm.pop_delClick(Sender: TObject);:string;:=DataModule1.IBQuery3.FieldByName('id_chel').Value;.IBTable_Os.Active:=true;.IBTable_Os.Locate('id_chel',id, []);Application.MessageBox('Ви дійсно бажаєте видалити цей запис? Це також видалить всі зв`язані з ним дані по ІПР','Увага!',mb_YesNo+mb_Iconquestion)=idYes then.IBTable_Os.Delete;;.IBQuery3.Active:=false;.IBQuery3.Active:=true;.IBQuery3.Last;.Panels[0].Text := 'Кількість пацієнтів: '+IntToStr(DataModule1.IBQuery3.RecordCount);;
TMainForm.tb_excelClick(Sender: TObject);: variant;: integer;:string;:=CreateOleObject('Excel.Application');.Visible := false;.Application.EnableEvents:=False;.Workbooks.Open('E:\Diplom\1.xlsx', UpdateLinks:=0);.ActiveWorkBook.Sheets.Item[1].Activate;:=Trim(DataModule1.IBQuery3.FieldByName('fio').AsString);:='E:\'+s+'.xls';.ActiveWorkbook.SaveAs(s, FileFormat:=-4143, Password:='', WriteResPassword:='', ReadOnlyRecommended:=false, CreateBackup:=false);.Workbooks.Close;.Workbooks.Open(s, UpdateLinks:=0);DataModule1 do begin.ActiveWorkbook.WorkSheets[1].Cells[20,2]:=DataModule1.IBQuery3.FieldByName('fio').AsString;.ActiveWorkbook.WorkSheets[1].Cells[22,5]:=DataModule1.IBQuery3.FieldByName('dr').AsString;.ActiveWorkbook.WorkSheets[1].Cells[26,3]:=DataModule1.IBQuery3.FieldByName('tel').AsString;.ActiveWorkbook.WorkSheets[1].Cells[30,6]:=DataModule1.IBQuery3.FieldByName('work').AsString;:=DataModule1.IBQuery3.FieldByName('sex').AsInteger;.IBTable_Sex.Locate('id_sex',i,[]);:=DataModule1.IBTable_Sex.Fields[1].Value;.ActiveWorkbook.WorkSheets[1].Cells[23,3]:=s;
:=DataModule1.IBQuery3.FieldByName('osvita').AsInteger;.IBQuery_osvita.Locate('id_osvita',i,[]);:=DataModule1.IBQuery_osvita.Fields[1].Value;.ActiveWorkbook.WorkSheets[1].Cells[28,4]:=s;
:=DataModule1.IBQuery3.FieldByName('gr_inv').AsInteger;.ibquery_gr.Locate('id_gr_inv',i,[]);:=DataModule1.ibquery_gr.Fields[1].Value;.ActiveWorkbook.WorkSheets[1].Cells[32,5]:=s;
:=DataModule1.IBQuery3.FieldByName('punkt').AsInteger;.IBQuery_nas_punkt.Locate('id_nas_punkt',i,[]);:=DataModule1.IBQuery_nas_punkt.Fields[1].Value;.ActiveWorkbook.WorkSheets[1].Cells[24,5]:=s;;.Visible:=True;.Workbooks.Close;:= Unassigned;;
TMainForm.DBGrid_InfTitleClick(Column: TColumn);:integer;DataModule1.IBQuery3 do begin:=false;.Panels[2].Text := '';.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');.Add('ORDER BY '+ Column.FieldName);;:=true;;i:=0 to DBGrid_Inf.Columns.Count-1 do_Inf.Columns.Items[i].Color:=clWhite;;i:=0 to DBGrid_Inf.Columns.Count-1 doDBGrid_Inf.Columns.Items[i].DisplayName=Column.FieldName then_Inf.Columns.Items[i].Color:=clSkyBlue;;;;
TMainForm.BitBtn_filtrClick(Sender: TObject);DataModule1.IBQuery3 do begin;.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');.Add('WHERE os.dr> :D1 and os.dr< :D2');.ParamByName('D1').AsDate:=Datetimepicker1.Date;.ParamByName('D2').AsDate:=Datetimepicker2.Date;;;.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);;TMainForm.pop_add_iprClick(Sender: TObject);((DataModule1.IBQuery3.RecordCount>0) and (DataModule1.IBQuery3.RecNo>0)) then(not Assigned(FormAddIPR)) then:=TFormAddIPR.Create(Self);.fio.Text:= DataModule1.IBQuery3.fieldbyname('fio').Value;.fio.Tag:= DataModule1.IBQuery3.fieldbyname('id_chel').Value;.Tag:=11;.ShowModal();;;
TMainForm.pop_add_pacClick(Sender: TObject);(not Assigned(FormAddPacient)) then:=TFormAddPacient.Create(Self);.ShowModal();;
TMainForm.m_konfClick(Sender: TObject);(not Assigned(FormNastr)) then:=TFormNastr.Create(Self);.ShowModal();;
TMainForm.tb_add_pacClick(Sender: TObject);(not Assigned(FormAddPacient)) then:=TFormAddPacient.Create(Self);.ShowModal();;
TMainForm.m_diagnozClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet1.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[0];.PageControl1.Pages[0].Caption:='Дігнози МКХ';.IBQuery_mkh.Active:=true;.DBGrid8.DataSource:=DataModule1.ds_mkh;.Tag:=1;.ShowModal();;
TMainForm.m_mkhClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet1.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[0];.PageControl1.Pages[0].Caption:='Супутні захворювання МКХ-10';.IBQuery_mkh10.Active:=true;.DBGrid8.DataSource:=DataModule1.ds_mkh10;.Tag:=2;.ShowModal();;
TMainForm.m_profClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Професії';.IBQuery_prof.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_prof;.Tag:=3;.ShowModal();;
TMainForm.m_terminClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Терміни реабілітації';.IBQuery_termin.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_termin;.Tag:=4;.ShowModal();;TMainForm.m_obClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Обсяги реабілітації';.IBQuery_obsjag.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_obsjag;.Tag:=5;.ShowModal();;
TMainForm.m_miscClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Місця реабілітації';.IBQuery_misce.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_misce;.Tag:=6;.ShowModal();;
TMainForm.m_pracClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Працівники МСЕК';.IBQuery_prac.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_prac;.Tag:=7;.ShowModal();;
TMainForm.pop_redClick(Sender: TObject);(not Assigned(FormRedpac)) then:=TFormRedpac.Create(Self);.fio.Tag:= DataModule1.IBQuery3.fieldbyname('id_chel').Value;.ShowModal();;
TMainForm.BitBtn_cancelClick(Sender: TObject);:integer;i:=0 to DBGrid_Inf.Columns.Count-1 do_Inf.Columns.Items[i].Color:=clWhite;;_gr.ItemIndex:=-1;_obl.ItemIndex:=-1;_osv.ItemIndex:=-1;_sex.ItemIndex:=-1;.Clear;DataModule1.IBQuery3 do begin;.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');;;.Panels[2].Text :='';;
TMainForm.c_sexChange(Sender: TObject);:string;_gr.ItemIndex:=-1;_obl.ItemIndex:=-1;_osv.ItemIndex:=-1;.Clear;:=Trim(c_sex.Text);.ibtable_sex.Locate('sex',s,[]);:=DataModule1.ibtable_sex.FieldByName('id_sex').Value;DataModule1.IBQuery3 do begin;.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');.Add('WHERE os.SEX='+s);;.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);;;TMainForm.m_r_oblClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Райони області';.IBQuery_r_obl.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_r_obl;.Tag:=8;.ShowModal();;
TMainForm.m_oblClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Oбласті';.IBQuery_obl.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_obl;.Tag:=9;.ShowModal();;
TMainForm.m_nas_punktClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Населений пункт';.IBQuery_nas_punkt.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_punkt;.Tag:=10;.ShowModal();;
TMainForm.m_r_punktClick(Sender: TObject);(not Assigned(FormDovidnik)) then:=TFormDovidnik.Create(Self);.TabSheet2.TabVisible:=true;.PageControl1.ActivePage:=FormDovidnik.PageControl1.Pages[1];.PageControl1.Pages[1].Caption:='Райони населеного пункту';.IBQuery_rajon.Active:=true;.DBGrid7.DataSource:=DataModule1.ds_rajon;.Tag:=11;.ShowModal();;
TMainForm.c_grChange(Sender: TObject);:string;_obl.Text:='';_osv.Text:='';_sex.Text:='';.Clear;:=Trim(c_gr.Text);.ibquery_gr.Locate('gr_inv',s,[]);:=DataModule1.ibquery_gr.FieldByName('id_gr_inv').Value;DataModule1.IBQuery3 do begin;.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');.Add('WHERE os.gr_inv='+s);;.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);;;TMainForm.c_osvChange(Sender: TObject);:string;_gr.ItemIndex:=-1;_obl.ItemIndex:=-1;_sex.ItemIndex:=-1;.Clear;:=Trim(c_osv.Text);.IBQuery_osvita.Locate('osvita',s,[]);:=DataModule1.IBQuery_osvita.FieldByName('id_osvita').Value;DataModule1.IBQuery3 do begin;.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');.Add('WHERE os.osvita='+s);;.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);;;
TMainForm.c_oblChange(Sender: TObject);:string;_gr.ItemIndex:=-1;_osv.ItemIndex:=-1;_sex.ItemIndex:=-1;.Clear;:=Trim(c_obl.Text);.IBQuery_obl.Locate('obl',s,[]);:=DataModule1.IBQuery_obl.FieldByName('id_obl').Value;DataModule1.IBQuery3 do begin;.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');.Add('WHERE os.obl='+s);;.Panels[2].Text := 'Відфільтровано записів: '+IntToStr(DataModule1.IBQuery3.RecordCount);;;
TMainForm.fioChange(Sender: TObject);DataModule1.IBQuery3 do begin;.Clear;.Add('SELECT os.id_chel, os.fio, os.dr, sex.sex as sex1, obl.obl as obl1, osv.osvita as osvita1, os.work, os.street, os.index1, os.tel, ');.Add('ro.rajon_obl as r_obl1, np.nas_punkt as punkt1, r.rajon as r_punkt1, gr.gr_inv as gr_inv1, prof.prof as id_prof1 From Os_karta os ');.Add('INNER JOIN Spr_sex sex ON os.sex = sex.id_sex');.Add('INNER JOIN Spr_GR_INV gr ON os.gr_inv = gr.id_gr_inv');.Add('INNER JOIN Spr_osvita osv ON os.osvita = osv.id_osvita');.Add('INNER JOIN Spr_obl obl ON os.obl = obl.id_obl');.Add('INNER JOIN Spr_rajon_obl ro ON os.r_obl = ro.id_rajon_obl');.Add('INNER JOIN Spr_rajon r ON os.r_punkt = r.id_rajon');.Add('INNER JOIN Spr_nas_punkt np ON os.punkt = np.id_nas_punkt');.Add('INNER JOIN Spr_prof prof ON os.id_prof = prof.id_prof');.Add('WHERE os.fio LIKE '''+fio.Text+'%'';');;;;
TMainForm.FormActivate(Sender: TObject);.Panels[2].Text:='Сьогодні '+DatetoStr(now);FormAvtoriz.tag=1 then.Panels[1].Text:='В системі: Адміністратор';.Items[0].Items[0].Enabled:=true;.Items[3].Enabled:=true;_add_pac.Enabled:=true;_red_pac.Enabled:=true;_add_pac.Enabled:=true;_add_ipr.Enabled:=true;_red.Enabled:=true;_del.Enabled:=true;FormAvtoriz.tag=2 then.Panels[1].Text:='В системі: Гість';.Items[0].Items[0].Enabled:=false;.Items[1].Enabled:=false;.Items[3].Enabled:=false;_add_pac.Enabled:=false;_red_pac.Enabled:=false;_add_pac.Enabled:=false;_add_ipr.Enabled:=false;_red.Enabled:=false;_del.Enabled:=false;;;;
TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);Assigned(FormAvtoriz) then FormAvtoriz.Close();Assigned(FormAddIPR) then FormAddIPR.Close;;
TMainForm.m_exClick(Sender: TObject);.tag:=3;.visible:=false;.Visible:=true;;
TMainForm.m_pathClick(Sender: TObject);(not Assigned(Formpath))
then:=TFormpath.Create(Self);.ShowModal();;.
//Текст модуля AddDovMKHAddDovMKH;
TFormAddDovMKH.m_cancelClick(Sender: TObject);();;TFormAddDovMKH.m_addClick(Sender: TObject);:string;,s2:string;FormDovidnik.Tag=1 then(edit1.Text<>'')and(edit2.Text<>'') thenDataModule1.IBQuery do begin;:=edit1.Text;.Delete(s1,55,100);:=edit2.Text;.Delete(s2,10,100);.Clear;.Add('INSERT INTO SPR_Diagnoz(diagnoz, kod_diagnozu, id_diagnoz)');.Add('VALUES(:diagnoz, :kod_diagnozu, gen_id(GEN_SPR_Diagnoz_ID,1))');('diagnoz').Value:=s1;('kod_diagnozu').Value:=s2;;('Дані записано');('Не вдалося додати запис.');;;.IBQuery_mkh.Active:=false;.IBQuery_mkh.Active:=true;.IBQuery_prof.Active:=true;Assigned(FormAddIPR) thenDataModule1 do begin.diagnoz.Clear;_mkh.close();_mkh.open();_mkh.first();not(IBQuery_mkh.eof) do.diagnoz.items.add(Trim(IBQuery_mkh.fieldbyname('diagnoz').asstring));_mkh.next;;_mkh.first();;;Application.MessageBox('Ви заповнили не всі поля','Увага!',MB_OK+MB_Iconerror)
...if FormDovidnik.Tag=14 thenDataModule1.IBQuery do begin(edit1.Text<>'')and(edit2.Text<>'') then begin;:=IntToStr(DataModule1.IBQuery_mkh10.fieldbyname('id_mkh_10').Value);.Clear;:=edit1.Text;.Delete(s1,55,100);:=edit2.Text;.Delete(s2,10,100);.Add('UPDATE SPR_MKH_10 SET MKH_10=:MKH_10, KOD_MKH=:KOD_MKH WHERE ID_MKH_10='+id);('MKH_10').Value:=s1;('KOD_MKH').Value:=s2;;.MessageBox('Дані перезаписано','Увага!',MB_OK+MB_Iconinformation);.MessageBox('Не вдалося відредагувати запис','Увага!',MB_OK+MB_Iconerror);;Application.MessageBox('Ви заповнили не всі поля','Увага!',MB_OK+MB_Iconerror);.IBQuery_mkh10.Active:=false;.IBQuery_mkh10.Active:=true;.IBQuery_prof.Active:=true;Assigned(FormAddIPR) thenDataModule1 do begin.s_zah.Clear;_mkh10.close();_mkh10.open();_mkh10.first();not(ibquery_mkh10.eof) do.s_zah.items.add(Trim(ibquery_mkh10.fieldbyname('mkh_10').asstring));_mkh10.next;;_mkh10.first();;;;();.Clear;.Clear;;TFormAddDovMKH.FormActivate(Sender: TObject);.Clear;.Clear;FormDovidnik.Tag=13 then.Text:=Trim(DataModule1.IBQuery_mkh.fieldbyname('DIAGNOZ').Value);.Text:=Trim(DataModule1.IBQuery_mkh.fieldbyname('KOD_DIAGNOZU').Value);FormDovidnik.Tag=14 then.Text:=Trim(DataModule1.IBQuery_mkh10.fieldbyname('MKH_10').Value);.Text:=Trim(DataModule1.IBQuery_mkh10.fieldbyname('KOD_MKH').Value);;;;
.
//Текст модуля AddDovAddDov;
TFormAddDov.m_addClick(Sender: TObject);,s:string;FormDovidnik.Tag=3 thenEdit1.Text<>'' thenDataModule1.IBQuery do begin;.Clear;:=edit1.Text;.Delete(s,30,100);.Add('INSERT INTO SPR_Prof(prof, id_prof)');.Add('VALUES(:prof, gen_id(GEN_SPR_Prof_ID,1))');('prof').Value:=s;;.MessageBox('Дані записано','Увага!',MB_OK+MB_Iconinformation);.MessageBox('Не вдалося додати запис','Увага!',MB_OK+MB_Iconerror);;;.IBQuery_prof.Active:=false;.IBQuery_prof.Active:=true;.IBQuery_prof.Active:=true;DataModule1 doAssigned(FormAddpacient) then.c_prof.Clear;not(ibquery_prof.active) then ibquery_prof.open();_prof.first();not(ibquery_prof.eof) do.c_prof.items.add(Trim(ibquery_prof.fieldbyname('PROF').asstring));_prof.next;;_prof.first();if Assigned(FormRedPac) then.c_prof.Clear;not(ibquery_prof.active) then ibquery_prof.open();_prof.first();not(ibquery_prof.eof) do.c_prof.items.add(Trim(ibquery_prof.fieldbyname('PROF').asstring));_prof.next;;_prof.first();;;Application.MessageBox('Ви не заповнили поле','Увага!',MB_OK+MB_Iconerror)if FormDovidnik.Tag=23 thenDataModule1.IBQuery do begin;Edit1.Text<>'' then begin:=IntToStr(DataModule1.IBQuery_rajon.fieldbyname('ID_RAJON').Value);.Clear;:=edit1.Text;.Delete(s,40,100);.Add('UPDATE SPR_RAJON SET RAJON=:RAJON WHERE ID_RAJON='+id);('RAJON').Value:=s;;.MessageBox('Дані перезаписано','Увага!',MB_OK+MB_Iconinformation);.MessageBox('Не вдалося відредагувати запис','Увага!',MB_OK+MB_Iconerror);;Application.MessageBox('Ви не заповнили поле','Увага!',MB_OK+MB_Iconerror);;.IBQuery_rajon.Active:=false;.IBQuery_rajon.Active:=true;.IBQuery_prof.Active:=true;DataModule1 doAssigned(FormAddpacient) then.c_r_nas_punkt.Clear;not(ibquery_rajon.active) then ibquery_rajon.open();_rajon.first();not(ibquery_rajon.eof) do.c_r_nas_punkt.items.add(ibquery_rajon.fieldbyname('RAJON').asstring);_rajon.next;;_rajon.first();if Assigned(FormRedPac) then.c_r_nas_punkt.Clear;not(ibquery_rajon.active) then ibquery_rajon.open();_rajon.first();not(ibquery_rajon.eof) do.c_r_nas_punkt.items.add(ibquery_rajon.fieldbyname('RAJON').asstring);_rajon.next;;_rajon.first();;;;();.Clear;;