Главная страница
Навигация по странице:

  • ВЫСШЕГО ОБРАЗОВАНИЯ “ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ”

  • Реализация 1.1.Реализация логики В данной программе используются стандартные методы работы с базами данных 1.1.1. Входные данные

  • 1.2.Реализация интерфейса 1.2.1.Запуск

  • 1.2.2.Работа в приложение

  • 1.3.Требования к программному и аппаратному обеспечению

  • Список использованных источников

  • Приложения А Код программы

  • Приложение Б Скриншоты программы

  • ыыыыыыы (Автосохраненный). арм Медицинские услуги


    Скачать 480.5 Kb.
    Названиеарм Медицинские услуги
    Дата14.11.2018
    Размер480.5 Kb.
    Формат файлаdoc
    Имя файлаыыыыыыы (Автосохраненный).doc
    ТипКурсовая
    #56482


    МИНОБРНАУКИ РОССИИ

    ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

    ВЫСШЕГО ОБРАЗОВАНИЯ

    ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ”

    Факультет компьютерных наук

    Кафедра информационных технологий управления

    Курсовая работа

    Разработатка программы по теме «АРМ «Медицинские услуги»»

    Направление 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


    Введение
    Сегодня не возможно представить нашу жизнь без ПО, установленного на различную технику, начиная с обычных КПК и смартфонов и заканчивая современными автомобилями, мощнейшими ПК и космическими кораблями. Вся эта техника работает под управлением ПО созданного программистами. Начало этапа программирования положила Ада Паскаль. Именно её язык программирования стал основополагающим для всех последующих языков программирования и именно этот язык программирования первым изучают все будущие программисты.

    На данном этапе моего обучения я получил задание, разработать программу по теме «АРМ «Медицинские услуги»».

    Данная пояснительная записка является полным описанием разработанного ПС и разбита на ряд разделов по содержательному признаку.

    В первом разделе описывается постановка задачи.

    Во втором разделе описывается среда разработки.

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

    1. Постановка задачи


    Программа должна:

    • Предоставлять возможность просмотра информации;

    • Организовать поиск по определенным критериям;

    • Предусмотреть возможность добавления, редактирования и удаления данных;

    Предусмотреть возможность выдачи отчетов по запросу менеджера клиники;

    • Программа должна отвечать следующим параметрам:

    • Понятность и доступность для любого пользователя;

    • Содержать минимальное количество сложных элементов;

    • Удобные меню и под меню;

    • Удобства просмотра информации;

    • Возможность обработки данных;

    • Работать без сбоев.

    Эта программа позволяет обрабатывать данные о клиентах, врачах, их расписанию, о перечне медицинских услуг (с расценками и описанием), стоимости медикаментов и их количества, выдавать отчеты по запросу менеджера клиники: бланк рецепта, прайс-листы по услугам, имеет удобный и простой интерфейс, понятный для всех пользователей.


    1. Среда разработки



    Для создания данного программного средства использовались следующие компоненты интегрированной среды Delphi 7: Label, Panel, Image, ImageList, TreeView, RichEdit, Button, MainMenu, PopupMenu, Edit, BitBtn, Memo, Timer, XPManifest, CheckBox, RadioButton.

    Алгоритм создания приложения:

    • Добавление на форму компонентов;

    • Применение свойств компонентов для решения поставленной задачи;

    • Обработка команд для дальнейшей работы программного средства;

    • Тестирование полученного результата, проверка на работоспособность;

    Алгоритм работы тестирования расположен в приложении А в виде кода.



    1. Реализация



    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 – Минимальные системные требования

    CPU

    GPU

     RAM

    OC

     Pentium II 350 МГц

     NVIDIA Geforce3

     128Mb

     Windows Me



    Устройства ввода

    Устройства вывода

    Клавиатура, мышь

    Монитор VGA 1024x720
    Таблица 2 – Требования к устройствам ввода и вывода.

    Заключение
    Данное программное средство создано для упрощения и ускорения работы сотрудников в частной клинике. Эта программа, проста в использовании и не требующая больших ресурсов системы. Она проста и интуитивно понятна в использовании, как для опытных, так и для начинающих пользователей. Данный программный продукт имеет возможность быстрого и лёгкого редактирования и просмотра данных о клиентах, врачах, их расписании, о перечне медицинских услуг (с расценками и описанием), стоимости медикаментов и их количества, поиска по заданным критериям.

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

    программный приложение медицинский услуга


    1. Н.Б.Культин Основы программирования в Delphi 7: самоучитель./Н.Б. Культин – СПб.: БХВ-Петербург, 2007. – 608 с.

    2. П.Г.Дарахвелидзе Программирования в Delphi 7: учебник/П.Г. Дарахвелидзе, Е.П. Марков – СПб.: БХВ-Петербург, 2003. – 784с.

    3. В.Э.Гофман Delphi. Быстрый старт: учебник./.В.Э.Гофман, А.Д. Хомоненко – СПб.: БХВ-Петербург, 2003. – 288 с.

    4. Интернет-ресурсы.


    Приложения А

    Код программы

    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 – предупреждение о удалении записи




    написать администратору сайта