ыыыыыыы (Автосохраненный). арм Медицинские услуги
Скачать 480.5 Kb.
|
МИНОБРНАУКИ РОССИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ “ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ” Факультет компьютерных наук Кафедра информационных технологий управления Курсовая работа Разработатка программы по теме «АРМ «Медицинские услуги»» Направление 09.03.03 Прикладная информатика Профиль Прикладная информатика в экономике Зав. кафедрой ___________________д.т.н., проф. Матвеев М.Г. __.__.2016 Подпись, расшифровка, ученая степень, звание Обучающийся _______________________________________ Подпись, расшифровка подписи Воронеж 2016 Содержание Содержание 2 Введение 3 1. Постановка задачи 4 2. Среда разработки 5 3.Реализация 6 1.1. Реализация логики 6 1.1.1. Входные данные 6 1.1.2. Выходные данные 8 1.2. Реализация интерфейса 9 1.2.1. Запуск 9 1.2.2. Работа в приложение 9 1.3. Требования к программному и аппаратному обеспечению 10 Заключение 11 Список использованных источников 11 программный приложение медицинский услуга 11 Приложения А 12 Приложение Б 38 Введение Сегодня не возможно представить нашу жизнь без ПО, установленного на различную технику, начиная с обычных КПК и смартфонов и заканчивая современными автомобилями, мощнейшими ПК и космическими кораблями. Вся эта техника работает под управлением ПО созданного программистами. Начало этапа программирования положила Ада Паскаль. Именно её язык программирования стал основополагающим для всех последующих языков программирования и именно этот язык программирования первым изучают все будущие программисты. На данном этапе моего обучения я получил задание, разработать программу по теме «АРМ «Медицинские услуги»». Данная пояснительная записка является полным описанием разработанного ПС и разбита на ряд разделов по содержательному признаку. В первом разделе описывается постановка задачи. Во втором разделе описывается среда разработки. В третьем разделе содержатся входные данные, выходные данные, алгоритм работы программы, требования к программному и аппаратному обеспечению.
Программа должна:
Предусмотреть возможность выдачи отчетов по запросу менеджера клиники;
Эта программа позволяет обрабатывать данные о клиентах, врачах, их расписанию, о перечне медицинских услуг (с расценками и описанием), стоимости медикаментов и их количества, выдавать отчеты по запросу менеджера клиники: бланк рецепта, прайс-листы по услугам, имеет удобный и простой интерфейс, понятный для всех пользователей.
Для создания данного программного средства использовались следующие компоненты интегрированной среды Delphi 7: Label, Panel, Image, ImageList, TreeView, RichEdit, Button, MainMenu, PopupMenu, Edit, BitBtn, Memo, Timer, XPManifest, CheckBox, RadioButton. Алгоритм создания приложения:
Алгоритм работы тестирования расположен в приложении А в виде кода.
1.1.Реализация логики В данной программе используются стандартные методы работы с базами данных 1.1.1. Входные данные Входной информацией данного курсового проекта являются данные о клиентах, врачах, их расписании, о перечне медицинских услуг (с расценками и описанием), стоимости медикаментов и их количества, представленные таблицей MS Access (в соответствии с рисунками 1.1-1.5). Рисунок 1.1 – таблица клиенты Рисунок 1.2 – таблица врачи Рисунок 1.3 – таблица расписание Рисунок 1.4 – таблица медицинские услуги Рисунок 1.5 – таблица медикаменты 1.1.2.Выходные данные Выходной информацией для разрабатываемой программы являются отчеты по запросу менеджера клиники: бланк рецепта, прайс-листы по услугам (в соответствии с рисунками 1.6-1.7). Рисунок 1.6 – прайс-лист по услугам Рисунок 1.7 – бланк рецепта 1.2.Реализация интерфейса 1.2.1.Запуск Разработанный программный продукт «АРМ «Медицинские услуги»» представляет собой файл “ Clinic.exe”. При двойном нажатии кнопки мыши на файл запускается программа, состоящий из загрузочного окна (в соответствии с рисунком Б.1), и после загрузки главного окна программы (в соответствии с рисунком Б.2). 1.2.2.Работа в приложение Слева окна программы размещено меню, состоящее из таблиц, отчетов и информации о разработчике. После выбора таблицы (в соответствии с рисунками Б.3-Б.6), можно осуществлять поиск по заданному критерию (в соответствии с рисунком Б.7). Для этого нужно в верхней части формы выбрать из выпадающего меню нужный критерий, ввести текст запроса и нажать кнопку «поиск». Чтобы отменить поиск нужно нажать кнопку «все записи». Для редактирования информации требуется нажать справа окна кнопку в виде стрелки. По нажатию кнопки появится меню редактирования информации (в соответствии с рисунком Б.8). Для добавления записи требуется ввести информацию в поля и нажать клавишу «добавить». Для удаления записи нужно выбрать нужную вам строку и нажать клавишу «удалить». Для изменения данных нужно выбрать нужную вам строку, заменить информацию в полях и нажать клавишу «изменить». Для печати отчетов, нужно в меню выбрать интересующий вас отчет, и нажать на соответствующую кнопку. Для выхода из программы на главной форме требуется нажать на красный крестик. Код алгоритма работы программы расположен в приложении А. 1.3.Требования к программному и аппаратному обеспечению Минимальными требованиями к аппаратному и программному обеспечению, для корректной работы программы представлены ниже (Таблица 1, Таблица 2) Таблица 1 – Минимальные системные требования
Заключение Данное программное средство создано для упрощения и ускорения работы сотрудников в частной клинике. Эта программа, проста в использовании и не требующая больших ресурсов системы. Она проста и интуитивно понятна в использовании, как для опытных, так и для начинающих пользователей. Данный программный продукт имеет возможность быстрого и лёгкого редактирования и просмотра данных о клиентах, врачах, их расписании, о перечне медицинских услуг (с расценками и описанием), стоимости медикаментов и их количества, поиска по заданным критериям. Программа функционирует должным образом и готово к применению на предприятии. Список использованных источников программный приложение медицинский услуга
Приложения А Код программы unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, XPMan, StdCtrls, ExtCtrls, Grids, DBGrids; type TForm2 = class(TForm) Panel1: TPanel; GroupBox1: TGroupBox; XPManifest1: TXPManifest; SpeedButton1: TSpeedButton; Button1: TButton; Panel2: TPanel; Timer1: TTimer; Label1: TLabel; Panel3: TPanel; GroupBox2: TGroupBox; DBGrid1: TDBGrid; Button2: TButton; Panel4: TPanel; Panel5: TPanel; GroupBox3: TGroupBox; SpeedButton2: TSpeedButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button3: TButton; Button4: TButton; ComboBox1: TComboBox; Button5: TButton; Button6: TButton; Label5: TLabel; Label6: TLabel; GroupBox4: TGroupBox; Button7: TButton; DBGrid2: TDBGrid; GroupBox5: TGroupBox; DBGrid3: TDBGrid; GroupBox6: TGroupBox; DBGrid4: TDBGrid; Panel6: TPanel; Label7: TLabel; Label8: TLabel; Edit4: TEdit; Edit5: TEdit; Button8: TButton; Button9: TButton; Button10: TButton; GroupBox7: TGroupBox; DBGrid5: TDBGrid; GroupBox8: TGroupBox; DBGrid6: TDBGrid; Button11: TButton; Button12: TButton; Button13: TButton; Button14: TButton; Button15: TButton; Label9: TLabel; Label10: TLabel; Label11: TLabel; procedure SpeedButton1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ComboBox1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure DBGrid2CellClick(Column: TColumn); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure DBGrid5CellClick(Column: TColumn); procedure DBGrid6CellClick(Column: TColumn); procedure DBGrid4CellClick(Column: TColumn); procedure Button12Click(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); procedure Edit5KeyPress(Sender: TObject; var Key: Char); procedure Button14Click(Sender: TObject); procedure Button15Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; k,n,l:integer; {$IFNDEF WIN32} const MAX_PATH = 144; {$ENDIF} implementation uses Unit3, DB, CommDlg; {$R *.dfm} procedure TForm2.SpeedButton1Click(Sender: TObject); begin if k=0 then begin GroupBox1.Width:=0; Panel1.Width:=36; k:=1; SpeedButton1.Glyph.LoadFromFile('jpg/Bitmap2.1.BMP'); end else begin GroupBox1.Width:=152; Panel1.Width:=188; k:=0; SpeedButton1.Glyph.LoadFromFile('jpg/Bitmap2.BMP'); end; end; procedure TForm2.FormCreate(Sender: TObject); begin k:=0; l:=0; Panel5.Width:=33; GroupBox3.Width:=0; GroupBox5.Visible:=false; GroupBox6.Visible:=false; end; procedure TForm2.Button1Click(Sender: TObject); begin ShowMessage('Программу разработал: Иванов Иван'+#13+'Контактный телефон: +375292646548'+#13+'E-mail: vano.maskalchuk27@gmail.com'); end; procedure TForm2.Timer1Timer(Sender: TObject); begin Form2.Caption:='АРМ "Медицинские услуги". Сегодня:'+datetostr(now)+' '+timetostr(now); end; procedure TForm2.Button2Click(Sender: TObject); begin //кнопка клиенты --------------------------------------- Panel2.Visible:=false; Panel3.Visible:=true; Panel6.Visible:=false; Label4.Visible:=true; Edit3.Visible:=true; GroupBox2.Visible:=true; GroupBox4.Visible:=false; GroupBox7.Visible:=false; GroupBox8.Visible:=false; Label2.Caption:='ФИО'; Label3.Caption:='Адрес'; Label4.Caption:='Телефон'; ComboBox1.Items.Text:=''; ComboBox1.Items.Text:='№'+#13+'ФИО'+#13+'Адресу'+#13+'Телефону'; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; end; procedure TForm2.Button3Click(Sender: TObject); begin //добавление записей--------------------------------------------- //клиенты if GroupBox2.Visible=true then begin with DBGrid1.DataSource.DataSet do begin Append; FieldByName('KLfio').Value:=Edit1.Text ; FieldByName('KLadres').Value:=Edit2.Text ; FieldByName('KLtel').Value:=Edit3.Text ; Post; end; end; //врачи if GroupBox4.Visible=true then begin with DBGrid2.DataSource.DataSet do begin Append; FieldByName('VRfio').Value:=Edit1.Text ; FieldByName('VRsp').Value:=Edit2.Text ; Post; end; with DBGrid3.DataSource.DataSet do begin Append; FieldByName('Rpn').Value:='Время' ; FieldByName('Rvt').Value:='Время' ; FieldByName('Rsr').Value:='Время' ; FieldByName('Rcht').Value:='Время' ; FieldByName('Rpt').Value:='Время' ; FieldByName('Rsb').Value:='Время' ; FieldByName('Rvs').Value:='Время' ; Post; end; end; //мед услуги if GroupBox7.Visible=true then begin with DBGrid5.DataSource.DataSet do begin Append; FieldByName('MYname').Value:=Edit1.Text ; FieldByName('MYopis').Value:=Edit2.Text ; FieldByName('MYst').Value:=Edit3.Text ; Post; end; end; //медикаменты if GroupBox8.Visible=true then begin with DBGrid6.DataSource.DataSet do begin Append; FieldByName('Mname').Value:=Edit1.Text ; FieldByName('Mkol').Value:=Edit2.Text ; FieldByName('Mst').Value:=Edit3.Text ; Post; end; end; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; end; procedure TForm2.Button4Click(Sender: TObject); begin //удаление записи --------------------------------------------------- //клиенты if GroupBox2.Visible=true then begin If Application.MessageBox('Вы действительно хотите удалить эту запись','!!!Внимание!!!',MB_OKCANCEL)=id_OK then if not DBGrid1.DataSource.DataSet.Eof then DBGrid1.DataSource.DataSet.Delete; end; //врачи if GroupBox4.Visible=true then begin If Application.MessageBox('Вы действительно хотите удалить эту запись','!!!Внимание!!!',MB_OKCANCEL)=id_OK then if not DBGrid2.DataSource.DataSet.Eof then DBGrid2.DataSource.DataSet.Delete; if not DBGrid3.DataSource.DataSet.Eof then DBGrid3.DataSource.DataSet.Delete; end; //мед услуги if GroupBox7.Visible=true then begin If Application.MessageBox('Вы действительно хотите удалить эту запись', '!!!Внимание!!!', MB_OKCANCEL)=id_OK then if not DBGrid5.DataSource.DataSet.Eof then DBGrid5.DataSource.DataSet.Delete; end; //медикаменты if GroupBox8.Visible=true then begin If Application.MessageBox('Вы действительно хотите удалить эту запись','!!!Внимание!!!',MB_OKCANCEL)=id_OK then if not DBGrid6.DataSource.DataSet.Eof then DBGrid6.DataSource.DataSet.Delete; end; end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Application.Terminate; end; procedure TForm2.ComboBox1Click(Sender: TObject); begin n:=ComboBox1.ItemIndex; Label6.Caption:=ComboBox1.Items.Strings[n]; ComboBox1.Text:=''; end; procedure TForm2.Button5Click(Sender: TObject); begin //поиск-------------------------------------------------- //клиенты if GroupBox2.Visible=true then begin if Label6.Caption='№' then begin DataModule3.ADODataSet1.Active:=false; DataModule3.ADODataSet1.CommandText:='select IDKL, KLfio, KLadres, KLtel from Klientu WHERE IDKL='+ComboBox1.Text; DataModule3.ADODataSet1.Active:=true; end; if Label6.Caption='ФИО' then begin DataModule3.ADODataSet1.Active:=false; DataModule3.ADODataSet1.CommandText:='select IDKL, KLfio, KLadres, KLtel from Klientu WHERE KLfio LIKE ''%'+ComboBox1.Text+'%'' ORDER BY KLfio'; DataModule3.ADODataSet1.Active:=true; end; if Label6.Caption='Адресу' then begin DataModule3.ADODataSet1.Active:=false; DataModule3.ADODataSet1.CommandText:='select IDKL, KLfio, KLadres, KLtel from Klientu WHERE KLadres LIKE ''%'+ComboBox1.Text+'%'' ORDER BY KLfio'; DataModule3.ADODataSet1.Active:=true; end; if Label6.Caption='Телефону' then begin DataModule3.ADODataSet1.Active:=false; DataModule3.ADODataSet1.CommandText:='select IDKL, KLfio, KLadres, KLtel from Klientu WHERE KLtel LIKE ''%'+ComboBox1.Text+'%'' ORDER BY KLtel'; DataModule3.ADODataSet1.Active:=true; end; end; //врачи if GroupBox4.Visible=true then begin if Label6.Caption='№' then begin DataModule3.ADODataSet2.Active:=false; DataModule3.ADODataSet2.CommandText:='select IDVR, VRfio, VRsp from Vrachi WHERE IDVR='+ComboBox1.Text; DataModule3.ADODataSet2.Active:=true; end; if Label6.Caption='ФИО' then begin DataModule3.ADODataSet2.Active:=false; DataModule3.ADODataSet2.CommandText:='select IDVR, VRfio, VRsp from Vrachi WHERE VRfio LIKE ''%'+ComboBox1.Text+'%'' ORDER BY VRfio'; DataModule3.ADODataSet2.Active:=true; end; if Label6.Caption='Специализации' then begin DataModule3.ADODataSet2.Active:=false; DataModule3.ADODataSet2.CommandText:='select IDVR, VRfio, VRsp from Vrachi WHERE VRsp LIKE ''%'+ComboBox1.Text+'%'' ORDER BY VRsp'; DataModule3.ADODataSet2.Active:=true; end; end; //мед услуги if GroupBox7.Visible=true then begin if Label6.Caption='№' then begin DataModule3.ADODataSet4.Active:=false; DataModule3.ADODataSet4.CommandText:='select IDMY, MYname, MYopis, MYst from Med_yslygi WHERE IDMY='+ComboBox1.Text; DataModule3.ADODataSet4.Active:=true; end; if Label6.Caption='Врачу' then begin DataModule3.ADODataSet4.Active:=false; DataModule3.ADODataSet4.CommandText:='select IDMY, MYname, MYopis, MYst from Med_yslygi WHERE MYname LIKE ''%'+ComboBox1.Text+'%'' ORDER BY MYname'; DataModule3.ADODataSet4.Active:=true; end; if Label6.Caption='Наименованию' then begin DataModule3.ADODataSet4.Active:=false; DataModule3.ADODataSet4.CommandText:='select IDMY, MYname, MYopis, MYst from Med_yslygi WHERE MYopis LIKE ''%'+ComboBox1.Text+'%'' ORDER BY MYname'; DataModule3.ADODataSet4.Active:=true; end; if Label6.Caption='Стоимости' then begin DataModule3.ADODataSet4.Active:=false; DataModule3.ADODataSet4.CommandText:='select IDMY, MYname, MYopis, MYst from Med_yslygi WHERE MYst LIKE ''%'+ComboBox1.Text+'%'' ORDER BY MYst'; DataModule3.ADODataSet4.Active:=true; end; end; //медикаменты if GroupBox8.Visible=true then begin if Label6.Caption='№' then begin DataModule3.ADODataSet5.Active:=false; DataModule3.ADODataSet5.CommandText:='select IDM, Mkol, Mname, Mst from Medikomenti WHERE IDM='+ComboBox1.Text; DataModule3.ADODataSet5.Active:=true; end; if Label6.Caption='Названию' then begin DataModule3.ADODataSet5.Active:=false; DataModule3.ADODataSet5.CommandText:='select IDM, Mkol, Mname, Mst from Medikomenti WHERE Mname LIKE ''%'+ComboBox1.Text+'%'' ORDER BY Mname'; DataModule3.ADODataSet5.Active:=true; end; if Label6.Caption='Количеству' then begin DataModule3.ADODataSet5.Active:=false; DataModule3.ADODataSet5.CommandText:='select IDM, Mkol, Mname, Mst from Medikomenti WHERE Mkol LIKE ''%'+ComboBox1.Text+'%'' ORDER BY Mkol'; DataModule3.ADODataSet5.Active:=true; end; if Label6.Caption='Стоимости' then begin DataModule3.ADODataSet5.Active:=false; DataModule3.ADODataSet5.CommandText:='select IDM, Mkol, Mname, Mst from Medikomenti WHERE Mst LIKE ''%'+ComboBox1.Text+'%'' ORDER BY Mst'; DataModule3.ADODataSet5.Active:=true; end; end; end; procedure TForm2.Button6Click(Sender: TObject); begin //кнопка все записи ---------------------------------------------- //клиенты DataModule3.ADODataSet1.Active:=false; DataModule3.ADODataSet1.CommandText:='select IDKL, KLfio, KLadres, KLtel from Klientu'; DataModule3.ADODataSet1.Active:=true; //врачи DataModule3.ADODataSet2.Active:=false; DataModule3.ADODataSet2.CommandText:='select IDVR, VRfio, VRsp from Vrachi'; DataModule3.ADODataSet2.Active:=true; //мед услуги DataModule3.ADODataSet4.Active:=false; DataModule3.ADODataSet4.CommandText:='select IDMY, MYname, MYopis, MYst from Med_yslygi'; DataModule3.ADODataSet4.Active:=true; //медикаменты DataModule3.ADODataSet5.Active:=false; DataModule3.ADODataSet5.CommandText:='select IDM, Mkol, Mname, Mst from Medikomenti'; DataModule3.ADODataSet5.Active:=true; end; procedure TForm2.Button7Click(Sender: TObject); begin //кнопка врачи---------------------------------------------------------- Panel2.Visible:=false; Panel3.Visible:=true; Label4.Visible:=false; Edit3.Visible:=false; GroupBox2.Visible:=false; GroupBox4.Visible:=true; GroupBox7.Visible:=false; GroupBox8.Visible:=false; Label2.Caption:='ФИО'; Label3.Caption:='Специализация'; Label7.Caption:='Наименование'; Label8.Caption:='Стоимость'; ComboBox1.Items.Text:=''; ComboBox1.Items.Text:='№'+#13+'ФИО'+#13+'Специализации'; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; end; procedure TForm2.SpeedButton2Click(Sender: TObject); begin if l=0 then begin Panel5.Width:=348; GroupBox3.Width:=315; SpeedButton2.Glyph.LoadFromFile('jpg/Bitmap2.1.BMP'); l:=1 end else begin Panel5.Width:=33; GroupBox3.Width:=0; SpeedButton2.Glyph.LoadFromFile('jpg/Bitmap2.BMP'); l:=0 end; end; procedure TForm2.DBGrid2CellClick(Column: TColumn); var d,z:string; begin Panel6.Visible:=true; GroupBox5.Visible:=true; GroupBox6.Visible:=true; d:=DataModule3.ADODataSet2.FieldByName('IDVR').AsString; z:=DataModule3.ADODataSet2.FieldByName('VRsp').AsString; DataModule3.ADODataSet3.Filtered:=false; DataModule3.ADODataSet3.Filter:='IDR='+d; DataModule3.ADODataSet3.Filtered:=true; DataModule3.ADODataSet4.Filtered:=false; DataModule3.ADODataSet4.Filter:='MYname='+''''+z+''''; DataModule3.ADODataSet4.Filtered:=true; Edit1.Text:=DataModule3.ADODataSet2.FieldByName('VRfio').AsString; Edit2.Text:=DataModule3.ADODataSet2.FieldByName('VRsp').AsString; end; procedure TForm2.Button8Click(Sender: TObject); var x:string; begin //добавление услуги-------------------------------------------- x:=DataModule3.ADODataSet2.FieldByName('VRsp').AsString; with DBGrid4.DataSource.DataSet do begin Append; FieldByName('MYname').Value:=x ; FieldByName('MYopis').Value:=Edit4.Text ; FieldByName('MYst').Value:=Edit5.Text ; Post; end; Edit4.Text:=''; Edit5.Text:=''; end; procedure TForm2.Button9Click(Sender: TObject); begin //удаление услуги---------------------------------------------- If Application.MessageBox('Вы действительно хотите удалить эту запись','!!!Внимание!!!',MB_OKCANCEL)=id_OK then if not DBGrid4.DataSource.DataSet.Eof then DBGrid4.DataSource.DataSet.Delete; end; procedure TForm2.Button10Click(Sender: TObject); begin //кнопка мед услуги--------------------------------------- Panel2.Visible:=false; Panel3.Visible:=true; Panel6.Visible:=false; Label4.Visible:=true; Edit3.Visible:=true; GroupBox2.Visible:=false; GroupBox4.Visible:=false; GroupBox7.Visible:=true; GroupBox8.Visible:=false; Label2.Caption:='Врач'; Label3.Caption:='Наименование'; Label4.Caption:='Стоимость'; DataModule3.ADODataSet4.Filtered:=false; ComboBox1.Items.Text:=''; ComboBox1.Items.Text:='№'+#13+'Врачу'+#13+'Наименованию'+#13+'Стоимости'; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; end; procedure TForm2.Button11Click(Sender: TObject); begin //кнопка медикаменты------------------------------------------- Panel2.Visible:=false; Panel3.Visible:=true; Panel6.Visible:=false; Label4.Visible:=true; Edit3.Visible:=true; GroupBox2.Visible:=false; GroupBox4.Visible:=false; GroupBox7.Visible:=false; GroupBox8.Visible:=true; Label2.Caption:='Название'; Label3.Caption:='Количество'; Label4.Caption:='Стоимость'; DataModule3.ADODataSet4.Filtered:=false; ComboBox1.Items.Text:=''; ComboBox1.Items.Text:='№'+#13+'Названию'+#13+'Количеству'+#13+'Стоимости'; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; end; procedure TForm2.DBGrid1CellClick(Column: TColumn); begin Edit1.Text:=DataModule3.ADODataSet1.FieldByName('KLfio').AsString; Edit2.Text:=DataModule3.ADODataSet1.FieldByName('KLadres').AsString Edit3.Text:=DataModule3.ADODataSet1.FieldByName('KLtel').AsString; end; procedure TForm2.DBGrid5CellClick(Column: TColumn); begin Edit1.Text:=DataModule3.ADODataSet4.FieldByName('MYname').AsString; Edit2.Text:=DataModule3.ADODataSet4.FieldByName('MYopis').AsString Edit3.Text:=DataModule3.ADODataSet4.FieldByName('MYst').AsString; end; procedure TForm2.DBGrid6CellClick(Column: TColumn); begin Edit1.Text:=DataModule3.ADODataSet5.FieldByName('Mname').AsString; Edit2.Text:=DataModule3.ADODataSet5.FieldByName('Mkol').AsString; Edit3.Text:=DataModule3.ADODataSet5.FieldByName('Mst').AsString; end; procedure TForm2.DBGrid4CellClick(Column: TColumn); begin Edit4.Text:=DataModule3.ADODataSet4.FieldByName('MYopis').AsString Edit5.Text:=DataModule3.ADODataSet4.FieldByName('MYst').AsString; end; procedure TForm2.Button12Click(Sender: TObject); begin //изменение записей--------------------------------------------- //клиенты if GroupBox2.Visible=true then begin DBGrid1.DataSource.DataSet.Edit ; DBGrid1.DataSource.DataSet.FieldByName('KLfio').Value:=Edit1.Text ; DBGrid1.DataSource.DataSet.FieldByName('KLadres').Value:=Edit2.Text ; DBGrid1.DataSource.DataSet.FieldByName('KLtel').Value:=Edit3.Text ; DBGrid1.DataSource.DataSet.Post; end; //врачи if GroupBox4.Visible=true then begin with DBGrid2.DataSource.DataSet do begin Edit; FieldByName('VRfio').Value:=Edit1.Text ; FieldByName('VRsp').Value:=Edit2.Text ; Post; end; end; //мед услуги if GroupBox7.Visible=true then begin with DBGrid5.DataSource.DataSet do begin Edit; FieldByName('MYname').Value:=Edit1.Text ; FieldByName('MYopis').Value:=Edit2.Text ; FieldByName('MYst').Value:=Edit3.Text ; Post; end; end; //медикаменты if GroupBox8.Visible=true then begin with DBGrid6.DataSource.DataSet do begin Edit; FieldByName('Mname').Value:=Edit1.Text ; FieldByName('Mkol').Value:=Edit2.Text ; FieldByName('Mst').Value:=Edit3.Text ; Post; end; end; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; end; procedure TForm2.Button13Click(Sender: TObject); begin //изменение услуги with DBGrid4.DataSource.DataSet do begin Edit; FieldByName('MYopis').Value:=Edit4.Text ; FieldByName('MYst').Value:=Edit5.Text ; Post; end; Edit4.Text:=''; Edit5.Text:=''; end; procedure TForm2.Edit2KeyPress(Sender: TObject; var Key: Char); begin if GroupBox8.Visible=true then begin case Key of '0'.. '9',#8: ; // цифры и клавиша #13:Button1.Click else begin key:=Chr(0); ShowMessage('Вводить только ЦИФРАМИ!!!'); // символ не отображать end; end; end; end; procedure TForm2.Edit3KeyPress(Sender: TObject; var Key: Char); begin case Key of '0'.. '9',#8: ; // цифры и клавиша #13:Button1.Click else begin key:=Chr(0); ShowMessage('Вводить только ЦИФРАМИ!!!'); // символ не отображать end; end; end; procedure TForm2.Edit5KeyPress(Sender: TObject; var Key: Char); begin case Key of '0'.. '9',#8: ; // цифры и клавиша #13:Button1.Click else begin key:=Chr(0); ShowMessage('Вводить только ЦИФРАМИ!!!'); // символ не отображать end; end; end; procedure TForm2.Button14Click(Sender: TObject); var Pd : TPrintDlg; DocInfo: TDocInfo; begin FillChar(Pd, sizeof(Pd), #0); Pd.lStructSize := sizeof(Pd); Pd.hWndOwner := Form2.Handle; Pd.Flags := PD_RETURNDC; if PrintDlg(pd) then begin FillChar(DocInfo, sizeof(DocInfo), #0); DocInfo.cbSize := SizeOf(DocInfo); GetMem(DocInfo.lpszDocName, 32); GetMem(DocInfo.lpszOutput, MAX_PATH); //lStrCpy(DocInfo.lpszDocName, 'recept'); {Add this line to print to a file } lStrCpy(DocInfo.lpszOutput, 'recept.txt'); StartDoc(Pd.hDc, DocInfo); StartPage(Pd.hDc); TextOut(Pd.hDc, 100, 100, 'Page 1', 6); EndPage(Pd.hDc); EndDoc(Pd.hDc); FreeMem(DocInfo.lpszDocName, 32); FreeMem(DocInfo.lpszOutput, MAX_PATH); end; end; procedure TForm2.Button15Click(Sender: TObject); begin DataModule3.RvProject1.Execute; end; end. Приложение Б Скриншоты программы Рисунок Б.1 – загрузочная форма Рисунок Б.2 – главная форма Рисунок Б.3 – таблица с данными о клиентах Рисунок Б.4 – таблица с данными о врачах Рисунок Б.5 – таблица с данными о медицинских услугах Рисунок Б.6 – таблица с данными о медикаментах Рисунок Б.7 – поиск Рисунок Б.8 – редактирование Рисунок Б.9 – предупреждение о удалении записи |