Руководство разработчика.
2.1. Панель Main: MainMenu - главное меню (компонент расположен на странице "Standard"). Компонент Label(предназначен для отображения статического текста, то есть надписей и меток на Форме). Edit (представляет собой однострочное текстовое поле, служащее для ввода данных пользователем.). Button представляет собой кнопку, при нажатии на которую происходит событие.
Рис.7. Компонент MainMenu.
2.2. Компоненты со страницы DataControls.
DBNavigator - это кнопки перемещения по БД, т.е. перемещение курсора на следующий и предыдущий элементы, а также на первый и последний. Так же это кнопки редактирования данных, применения изменений и отмены каких-либо действий.
Рис. 8. Навигатор.
DBGrid - Компонент который отображает набор данных в формате электронной таблицы. Одним из важнейших свойств DBGrid является свойство columns. Оно позволяет вам изменять номера и порядок столбцов, которые появляются в таблице.
3. Компоненты со страницы Interbase и DataAccess.
Свойство DataSource определяет, откуда список базы данных получает данные и указывает компонент TDataSource, связанный с набором данных (в качестве набора данных рассматривается таблица).
IBDataBase (Рис. 9). Компонент IBDataBase обеспечивает соединение с базой данных.
Рис. 9. Компонент IBDatabase.
IBTransaction (Рис. 10). Компонент IBTransaction управляет транзакциями.
Рис. 10. Свойства компонента IBTransaction.
IBDataSet - предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.
Рис.11 Свойства компонента IBDataSet.
IBStoredProc - предназначен для выполнения хранимых процедур и получения набора данных на основе результатов выполнения процедуры. Получаемый набор данных является нередактируемым. Компонент совместим с визуальными компонентами. Основное свойство - StoredProcName. Основной метод - ЕхесРгос.
Рис. 12. Свойства компонента IBStoredProc.
TIBSQL - предназначен для выполнения SQL-запросов. В отличие от TIBQuery или TIBDataSet, TIBSQL не имеет локального буфера для набора данных и несовместим с визуальными компонентами. Основной метод – ExecQuery. Основное свойство – SQL- текст запроса.
Рис. 13. Свойства компонента TIBSQL.
4. Компоненты со страницы Rave.
Для связывания приложения и отчета используется компонент ТRvProject, в свойстве которого ProjectFile указывается имя файла проекта. Компонент TRvDataSetConnection, используется для связывания отчета с набором данных (Рис.14).
Рис. 14. Пример использования компонентов со страницы Rave.
Заключение
В данной курсовой работе я разработал информационную систему для отслеживания финансовых показателей работы платной поликлиники.
База данных предназначена для хранения информации о персонале поликлиники, пациентах, посещающих ее, записях пациентов на приемы, об услугах, оказываемых врачами, и их стоимости. Все поставленные задачи в курсовой работе были реализованы (удобство редактирования данных, выборки, ведение отчетности).
Список используемого программного обеспечения
1. Delphi7
2. Firebird-1.5
3. IBExpert (версия 2009 года)
4. Microsoft Office. Word 2007
Список используемой литературы
1. Голицын О.Л., Максимов Н.В., Попов И.И. Базы данных: Учебное пособие. – М.:ФОРУМ: ИНФРА-М, 2005. -352с.
2. Ковязин С., Востриков С. Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/ Firebird/ Yaffil. – М.: КУДИЦ – ОБРАЗ, 2005. – 496 с.
3. Фаронов В.В., Программирование баз данных в Delphi. – СПб.: Питер, 2006.- 459 с.: ил.
4. Хомоненко А.Д., Гофман В.Э. Работа с базами данных в Delphi. – СПб.: БХВ – Петербург, 2005. – 640с.
5. Архангельский А.Я., Программирование в Delphi 7 – М., Бином-Пресс, 2003.
Приложение 1
Полный код программы
unit Unit1; //Модуль записи пациентов на прием
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, IBDatabase, IBStoredProc, IBSQL, ExtCtrls,
DBCtrls, Grids, DBGrids, StdCtrls, Mask, RpCon, RpConDS, RpDefine, RpRave,
DBTables, Menus;
type
TForm1 = class(TForm)
DBNavigator1: TDBNavigator;
Button3: TButton;
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
IBDataSet1: TIBDataSet;
DataSource1: TDataSource;
IBStoredProc1: TIBStoredProc;
MainMenu1: TMainMenu;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
DBGrid1: TDBGrid;
IBDataSet1N: TIntegerField;
IBDataSet1ID_PACIENTA: TIntegerField;
IBDataSet1ID_VRACHA: TIntegerField;
IBDataSet1TIME_PRIEMA: TTimeField;
IBDataSet1DIAGNOZ: TIBStringField;
IBDataSet1VID_NAZNACHENIYA: TIBStringField;
IBDataSet1DATE_OBRASHENIYA: TDateField;
IBDataSet1STOIMOST_LECHENIYA: TIBBCDField;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
IBDataSet2: TIBDataSet;
IBSQL1: TIBSQL;
Button1: TButton;
DBGrid3: TDBGrid;
IBDataSet3: TIBDataSet;
DataSource3: TDataSource;
Label3: TLabel;
Button2: TButton;
IBStoredProc2: TIBStoredProc;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;
{$R *.dfm}
// Обработчик события OnFormCreate
procedure TForm1.FormCreate(Sender: TObject);
begin
IBDatabase1.Connected:= True;
IBDataSet1.Active:= True;
end;
//Переключение между формами
procedure TForm1.N3Click(Sender: TObject);
begin
Form1.visible:=true;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form2.visible:=true;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form3.visible:=true;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form4.visible:=true;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
Form5.visible:=true;
end;
procedure TForm1.N9Click(Sender: TObject);
begin
Form7.visible:=true;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Form6.visible:=true;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
DBGrid1.visible:=true;
DBGrid2.visible:=true;
DBGrid3.visible:=true;
DBNavigator1.visible:=true;
Button1.visible:=true;
Button2.visible:=true;
Button3.visible:=true;
Edit1.Visible:=true;
Label1.visible:=true;
Label2.visible:=true;
Label3.visible:=true;
end;
// Процедура расчета стоимости лечения
procedure TForm1.Button3Click(Sender: TObject);
begin
IBStoredProc1.ParamByName('N_A').AsInteger:= IBDataSet1.FieldByName('N').AsInteger;
IBStoredProc1.ParamByName('VID_NAZNACHENIYA_A').AsString:=IBDataSet1.FieldByName('VID_NAZNACHENIYA').AsString;
IBStoredProc1.ParamByName('ID_PACIENTA_A').AsInteger:=IBDataSet1.FieldByName('ID_PACIENTA').AsInteger;
IBStoredProc1.ExecProc;
IBDataSet1.Close;
IBDataSet1.Open;
Form7.IBDataSet1.Close;
Form7.IBDataSet3.Close;
Form7.IBDataSet1.Open;
Form7.IBDataSet3.Open;
end;
// Обработчик события OnFormActivate
procedure TForm1.FormActivate(Sender: TObject);
begin
if IBDataset1.Active then IBDataset1.Close;
IBDataSet1.Open;
end;
// Обработчик события OnFormClose
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
IBdataset1.Close;
end;
//Процедура выборки врача по специальности
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.text='' then showmessage('Введите специальность')
else
begin
Ibdataset2.Open;
Ibdataset2.Close;
Ibdataset2.SelectSQL.text:='select * from SPECIALNOST_VR('''+edit1.text+''')';
Ibdataset2.Open;
Edit1.text:='';
end;
end;
end.
unit Unit2; //Модуль редактирования таблицы ВРАЧИ
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, IBCustomDataSet, ExtCtrls, DBCtrls, Grids, DBGrids,
StdCtrls, IBStoredProc;
type
TForm2 = class(TForm)
DBNavigator1: TDBNavigator;
IBDataSet1: TIBDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
IBDataSet1ID_VRACHA: TIntegerField;
IBDataSet1V_FAMILIYA: TIBStringField;
IBDataSet1V_NAME: TIBStringField;
IBDataSet1V_OTCHESTVO: TIBStringField;
IBDataSet1SPECIALNOST: TIBStringField;
IBDataSet1KVALIFIKACIYA: TIBStringField;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.N2Click(Sender: TObject);
begin
Form1.visible:=true;
Form2.visible:=false;
end;
procedure TForm2.N3Click(Sender: TObject);
begin
Form2.visible:=true;
Form1.visible:=false;
end;
end.
unit Unit3; //Модуль редактирования таблицы ПАЦИЕНТЫ
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TForm3 = class(TForm)
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
IBDataSet1: TIBDataSet;
DBGrid1: TDBGrid;
IBDataSet1ID_PACIENTA: TIntegerField;
IBDataSet1P_FAMILIYA: TIBStringField;
IBDataSet1P_NAME: TIBStringField;
IBDataSet1P_OTCHESTVO: TIBStringField;
IBDataSet1GOD_ROZHDENIYA: TIntegerField;
IBDataSet1KATEGORIYA_SKIDKI: TIntegerField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
end.
unit Unit4; //Модуль редактирования таблицы СКИДКИ
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TForm4 = class(TForm)
DBNavigator1: TDBNavigator;
IBDataSet1: TIBDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
IBDataSet1KATEGORIYA_SKIDKI: TIntegerField;
IBDataSet1S_NAIMENOVANIE: TIBStringField;
IBDataSet1SIZE_SKIDKI: TIBBCDField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
end.
unit Unit5; //Модуль редактирования таблицы СТОИМОСТЬ НАЗНАЧЕНИЙ
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TForm5 = class(TForm)
DBNavigator1: TDBNavigator;
IBDataSet1: TIBDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
IBDataSet1VID_NAZNACHENIYA: TIBStringField;
IBDataSet1N_NAIMENOVANIE: TIBStringField;
IBDataSet1CENA: TIBBCDField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
end.
unit Unit6; //Модуль регистрации пациентов
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, StdCtrls, Grids, DBGrids, IBStoredProc,
IBSQL;
type
TForm6 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit5: TEdit;
Label5: TLabel;
Button1: TButton;
IBDataSet1: TIBDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
IBStoredProc1: TIBStoredProc;
Label6: TLabel;
Edit6: TEdit;
IBDataSet1ID_PACIENTA: TIntegerField;
IBDataSet1P_FAMILIYA: TIBStringField;
IBDataSet1P_NAME: TIBStringField;
IBDataSet1P_OTCHESTVO: TIBStringField;
IBDataSet1GOD_ROZHDENIYA: TIntegerField;
IBDataSet1KATEGORIYA_SKIDKI: TIntegerField;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit1, Unit3, Unit4, Unit5, Unit2, Unit7;
{$R *.dfm}
//Процедура регистрации введенной информации
procedure TForm6.Button1Click(Sender: TObject);
begin
if (edit1.text='') or (edit2.text='') or (edit3.text='') or (edit4.text='') or (edit5.text='') or (edit6.text='') then showmessage('Введите информацию')
else
begin
IBDataset1.Open;
IBDataset1.Close;
IBStoredProc1.ParamByName('ID_PACIENTA_A').AsInteger:=strtoint(edit6.Text);
IBStoredProc1.ParamByName('P_FAMILIYA_A').AsString:=edit1.Text;
IBStoredProc1.ParamByName('P_NAME_A').AsString:=edit2.Text;
IBStoredProc1.ParamByName('P_OTCHESTVO_A').AsString:=edit3.Text;
IBStoredProc1.ParamByName('GOD_ROZHDENIYA_A').AsInteger:=strtoint(edit4.Text);
IBStoredProc1.ParamByName('KATEGORIYA_SKIDKI_A').AsInteger:=strtoint(edit5.Text);
IBStoredProc1.ExecProc;
Form1.IBTransaction1.Commit;
IBDataset1.Open;
Form1.IBDataset1.Open;
Form1.IBDataset2.Open;
Form3.IBDataset1.Open;
Form4.IBDataset1.Open;
Form5.IBDataset1.Open;
Form2.IBDataset1.Open;
Form7.IBDataset1.Open;
Form7.IBDataset3.Open;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
end;
end;
end.
unit Unit7; //Модуль создания отчетов
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, IBCustomDataSet, StdCtrls, Mask, DBCtrls, Grids, DBGrids,
ExtCtrls, RpRave, RpDefine, RpCon, RpConDS;
type
TForm7 = class(TForm)
Button1: TButton;
IBDataSet1: TIBDataSet;
DataSource1: TDataSource;
IBDataSet3: TIBDataSet;
DataSource3: TDataSource;
RvDataSetConnection1: TRvDataSetConnection;
RvProject1: TRvProject;
DBGrid1: TDBGrid;
IBDataSet3N: TIntegerField;
IBDataSet3P_FAMILIYA: TIBStringField;
IBDataSet3P_NAME: TIBStringField;
IBDataSet3P_OTCHESTVO: TIBStringField;
IBDataSet3GOD_ROZHDENIYA: TIntegerField;
IBDataSet3DIAGNOZ: TIBStringField;
IBDataSet3VID_NAZNACHENIYA: TIBStringField;
IBDataSet3DATE_OBRASHENIYA: TDateField;
IBDataSet3STOIMOST_LECHENIYA: TIBBCDField;
IBDataSet1N: TIntegerField;
IBDataSet1P_FAMILIYA: TIBStringField;
IBDataSet1P_NAME: TIBStringField;
IBDataSet1P_OTCHESTVO: TIBStringField;
IBDataSet1GOD_ROZHDENIYA: TIntegerField;
IBDataSet1DIAGNOZ: TIBStringField;
IBDataSet1VID_NAZNACHENIYA: TIBStringField;
IBDataSet1DATE_OBRASHENIYA: TDateField;
IBDataSet1STOIMOST_LECHENIYA: TIBBCDField;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
{$R *.dfm}
//Процедура вызова отчета для просмотра и печати
procedure TForm7.Button1Click(Sender: TObject);
begin
RvProject1.Execute;
end;
end.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|