на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Информационная система "Data-центр"
p align="left">procedure N12Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N21Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FRMMain: TFRMMain;

implementation

uses UnitDM, UnitSprav, UnitTable;

{$R *.dfm}

procedure TFRMMain.N7Click(Sender: TObject);

begin

FRMSPRAV.DBGrid1.DataSource:=DM.DS_KLIENT;

FRMSPRAV.DBNavigator1.DataSource:=DM.DS_KLIENT;

FRMSPRAV.Caption:='Клиенты';

FRMSPRAV.Show;

end;

procedure TFRMMain.N8Click(Sender: TObject);

begin

FRMSPRAV.DBGrid1.DataSource:=DM.DS_PROC;

FRMSPRAV.DBNavigator1.DataSource:=DM.DS_PROC;

FRMSPRAV.Caption:='Процессоры';

FRMSPRAV.Show;

end;

procedure TFRMMain.N9Click(Sender: TObject);

begin

FRMSPRAV.DBGrid1.DataSource:=DM.DS_HDD;

FRMSPRAV.DBNavigator1.DataSource:=DM.DS_HDD;

FRMSPRAV.Caption:='Жесткие диски';

FRMSPRAV.Show;

end;

procedure TFRMMain.N10Click(Sender: TObject);

begin

FRMSPRAV.DBGrid1.DataSource:=DM.DS_MEM;

FRMSPRAV.DBNavigator1.DataSource:=DM.DS_MEM;

FRMSPRAV.Show;

FRMSPRAV.Caption:='Память';

end;

procedure TFRMMain.N11Click(Sender: TObject);

begin

FRMTable.Label1.Caption:=('Введите название машины');

FRMTable.DBGrid1.DataSource:=DM.DSQ_Dogovor;

FRMTable.ClientHeight:=211;

FRMTable.Show;

FRMTable.Panel1.Visible:=false;

FRMTable.Panel2.Visible:=true;

FRMTable.Caption:='Поиск арендаторов';

end;

procedure TFRMMain.N12Click(Sender: TObject);

begin

FRMSPRAV.DBGrid1.DataSource:=DM.DS_SPEED;

FRMSPRAV.DBNavigator1.DataSource:=DM.DS_SPEED;

FRMSPRAV.Show;

FRMSPRAV.Caption:='Скорость';

end;

procedure TFRMMain.N13Click(Sender: TObject);

begin

FRMTable.DBGrid1.DataSource:=DM.DSv_DOGOVOR;

FRMTable.Show;

FRMTable.ClientHeight:=169;

FRMTable.Caption:='Договора';

end;

procedure TFRMMain.N14Click(Sender: TObject);

begin

FRMTable.DBGrid1.DataSource:=DM.DSV_MASHINS;

FRMTable.Show;

FRMTable.ClientHeight:=169;

FRMTable.Caption:='Прайс-лист';

end;

procedure TFRMMain.N15Click(Sender: TObject);

begin

FRMTable.DBGrid1.DataSource:=DM.DS_DOGOVOR;

FRMTable.ClientHeight:=211;

FRMTable.Show;

FRMTable.Panel1.Visible:=true;

FRMTable.Panel2.Visible:=false;

FRMTable.Caption:='Договора';

end;

procedure TFRMMain.N16Click(Sender: TObject);

begin

FRMTable.DBGrid1.DataSource:=DM.DS_MASHIN;

FRMTable.ClientHeight:=211;

FRMTable.Show;

FRMTable.Panel1.Visible:=true;

FRMTable.Panel2.Visible:=false;

FRMTable.Caption:='Прайс-лист';

end;

procedure TFRMMain.N21Click(Sender: TObject);

begin

FRMTable.Label1.Caption:=('Введите требуемый объем памяти');

FRMTable.DBGrid1.DataSource:=DM.DSP_Poisk;

FRMTable.ClientHeight:=211;

FRMTable.Show;

FRMTable.Panel1.Visible:=false;

FRMTable.Panel2.Visible:=true;

FRMTable.Caption:='Поиск машины';

end;

procedure TFRMMain.N5Click(Sender: TObject);

begin

DM.RvDogovora.Execute;

end;

procedure TFRMMain.N6Click(Sender: TObject);

begin

close;

end;

end.

unit UnitDM;

interface

uses

SysUtils, Classes, DB, ADODB, RpCon, RpConDS, RpDefine, RpRave, RpRender,

RpRenderCanvas, RpRenderPreview, DBClient;

type

TDM = class(TDataModule)

T_KLIENTS: TADOTable;

T_DOGOVOR: TADOTable;

T_MASHIN: TADOTable;

T_SPEED: TADOTable;

T_MEM: TADOTable;

T_HDD: TADOTable;

T_PROC: TADOTable;

DS_DOGOVOR: TDataSource;

DS_MASHIN: TDataSource;

DS_SPEED: TDataSource;

DS_MEM: TDataSource;

DS_HDD: TDataSource;

DS_PROC: TDataSource;

DS_KLIENT: TDataSource;

ADOConnection1: TADOConnection;

T_HDDID_HDD: TAutoIncField;

T_HDDNAIM: TWideStringField;

T_HDDHARACT: TWideStringField;

T_PROCID_PROC: TAutoIncField;

T_PROCNAIM: TWideStringField;

T_PROCHARACT: TWideStringField;

T_MEMID_MEM: TAutoIncField;

T_MEMNAIM: TWideStringField;

T_MEMHARACT: TWideStringField;

T_KLIENTSID_KLIENT: TAutoIncField;

T_KLIENTSNAIM: TWideStringField;

T_SPEEDID_SPEED: TAutoIncField;

T_SPEEDNAIM: TWideStringField;

T_SPEEDHARACT: TWideStringField;

RvDogovora: TRvProject;

RvDogovor: TRvDataSetConnection;

TV_DOGOVOR: TADOTable;

DSV_DOGOVOR: TDataSource;

TV_MASHINS: TADOTable;

DSV_MASHINS: TDataSource;

TV_MASHINSNAIM_MASH: TWideStringField;

TV_MASHINSNAIM_MEM: TWideStringField;

TV_MASHINSNAIM_SPEED: TWideStringField;

TV_MASHINSNAIM_PROC: TWideStringField;

TV_MASHINSNAIM_HDD: TWideStringField;

TV_MASHINSCENA: TFloatField;

TV_DOGOVORNAIM_MASH: TWideStringField;

TV_DOGOVORCENA: TFloatField;

TV_DOGOVORDate_zakl: TDateTimeField;

TV_DOGOVORDate_okonch: TDateTimeField;

TV_DOGOVORStoimost: TFloatField;

TV_DOGOVORNAIM_KLIENT: TWideStringField;

QP_Dogovor: TADOQuery;

DSQ_Dogovor: TDataSource;

P_Poisk: TADOStoredProc;

DSP_Poisk: TDataSource;

T_KLIENTSHARACT: TWideStringField;

T_DOGOVORID_DOGOVOR: TAutoIncField;

T_DOGOVORID_KLIENT: TIntegerField;

T_DOGOVORID_MASHIN: TIntegerField;

T_DOGOVORDate_zakl: TDateTimeField;

T_DOGOVORDate_okonch: TDateTimeField;

T_DOGOVORStoimost: TFloatField;

T_MASHINID_MASHIN: TAutoIncField;

T_MASHINID_PROC: TIntegerField;

T_MASHINID_HDD: TIntegerField;

T_MASHINID_MEM: TIntegerField;

T_MASHINID_SPEED: TIntegerField;

T_MASHINNAIM: TWideStringField;

T_MASHINCENA: TFloatField;

QP_DogovorNAIM_KLIENT: TWideStringField;

QP_DogovorNAIM_MASH: TWideStringField;

QP_DogovorCENA: TFloatField;

QP_DogovorDate_zakl: TDateTimeField;

QP_DogovorDate_okonch: TDateTimeField;

QP_DogovorStoimost: TFloatField;

P_PoiskNAIM_MASH: TWideStringField;

P_PoiskNAIM_MEM: TWideStringField;

P_PoiskNAIM_SPEED: TWideStringField;

P_PoiskNAIM_PROC: TWideStringField;

P_PoiskNAIM_HDD: TWideStringField;

P_PoiskCENA: TFloatField;

procedure T_DOGOVORCalcFields(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;

var

DM: TDM;

implementation

uses UnitMain;

{$R *.dfm}

procedure TDM.T_DOGOVORCalcFields(DataSet: TDataSet);

begin

T_Dogovor.Fields[5].AsFloat:=round(T_Dogovor.Fields[4].AsDateTime-T_Dogovor.Fields[3].AsDateTime)*(T_Mashin.Fields[6].AsInteger/30);

end;

end.

unit UnitTable;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls;

type

TFRMTable = class(TForm)

DBGrid1: TDBGrid;

Panel1: TPanel;

Button3: TButton;

Button2: TButton;

Button1: TButton;

Panel2: TPanel;

Edit1: TEdit;

Button4: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FRMTable: TFRMTable;

implementation

uses UnitDM, UnitAdd;

{$R *.dfm}

procedure set_add_form_dogovor;

begin

FRMAdd.DBLookupComboBoxD1.Visible:=true;

FRMAdd.DBLookupComboBoxD2.Visible:=true;

FRMAdd.DBEditD1.Visible:=true;

FRMAdd.DBEditD2.Visible:=true;

FRMAdd.DBLookupComboBoxM1.Visible:=false;

FRMAdd.DBLookupComboBoxM2.Visible:=false;

FRMAdd.DBLookupComboBoxM3.Visible:=false;

FRMAdd.DBLookupComboBoxM4.Visible:=false;

FRMAdd.DBEditm1.Visible:=false;

FRMAdd.DBEditm2.Visible:=false;

FRMAdd.Label1.Caption:=('ФИО Клиента');

FRMAdd.Label2.Caption:=('Название машины');

FRMAdd.Label3.Caption:=('Дата заключения');

FRMAdd.Label4.Caption:=('Дата окончания');

FRMAdd.Label5.Caption:=('');

FRMAdd.Label6.Caption:=('');

end;

procedure set_add_form_mashin;

begin

FRMAdd.DBLookupComboBoxD1.Visible:=false;

FRMAdd.DBLookupComboBoxD2.Visible:=false;

FRMAdd.DBEditD1.Visible:=false;

FRMAdd.DBEditD2.Visible:=false;

FRMAdd.DBLookupComboBoxM1.Visible:=true;

FRMAdd.DBLookupComboBoxM2.Visible:=true;

FRMAdd.DBLookupComboBoxM3.Visible:=true;

FRMAdd.DBLookupComboBoxM4.Visible:=true;

FRMAdd.DBEditm1.Visible:=true;

FRMAdd.DBEditm2.Visible:=true;

FRMAdd.Label1.Caption:=('Процессор');

FRMAdd.Label2.Caption:=('Жесткий диск');

FRMAdd.Label3.Caption:=('Память');

FRMAdd.Label4.Caption:=('Скорость подключения');

FRMAdd.Label5.Caption:=('Название');

FRMAdd.Label6.Caption:=('Цена');

end;

procedure TFRMTable.Button1Click(Sender: TObject);

begin

if DBGrid1.DataSource=DM.DS_DOGOVOR then begin

DM.T_DOGOVOR.Append;

set_add_form_dogovor;

FRMAdd.Caption:='Добавить договор';

end else

if DBGrid1.DataSource=DM.DS_MASHIN then begin

DM.T_MASHIN.Append;

set_add_form_mashin;

FRMAdd.Caption:='Добавить конфигурацию';

end;

FRMAdd.show;

end;

procedure TFRMTable.Button2Click(Sender: TObject);

begin

if DBGrid1.DataSource=DM.DS_DOGOVOR then begin

DM.T_DOGOVOR.Edit;

set_add_form_dogovor;

FRMAdd.Caption:='Редактировать договор';

end else

if DBGrid1.DataSource=DM.DS_MASHIN then begin

DM.T_MASHIN.Edit;

set_add_form_mashin;

FRMAdd.Caption:='Редактировать конфигурацию';

end;

FRMAdd.show;

end;

procedure TFRMTable.Button3Click(Sender: TObject);

begin

if DBGrid1.DataSource=DM.DS_DOGOVOR then begin

DM.T_DOGOVOR.Delete;

end else

if DBGrid1.DataSource=DM.DS_MASHIN then begin

DM.T_MASHIN.Delete;

end;

end;

procedure TFRMTable.Button4Click(Sender: TObject);

var s:string;

begin

if DBGrid1.DataSource=DM.DSQ_DOGOVOR then begin

DM.QP_Dogovor.Close;

s:='SELECT NAIM_KLIENT, NAIM_MASH, CENA, Date_zakl, Date_okonch, ';

s:=s+' Stoimost FROM PR_DOGOVOR ';

s:=s+'WHERE NAIM_MASH =('''+edit1.Text+''')';

DM.QP_Dogovor.SQL.Clear;

DM.QP_Dogovor.SQL.Add(s);

try

dm.QP_Dogovor.Open;

except

showmessage('ошибка');

end;

end else

if DBGrid1.DataSource=DM.DSP_Poisk then begin

dm.P_Poisk.close;

dm.P_Poisk.Parameters.ParamByName('@p').Value:=Edit1.Text;

dm.P_Poisk.Open;

end;

end;

end.

unit UnitAdd;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, Mask;

type

TFRMAdd = class(TForm)

Button1: TButton;

DBEditD1: TDBEdit;

DBEditD2: TDBEdit;

DBLookupComboBoxD1: TDBLookupComboBox;

DBLookupComboBoxD2: TDBLookupComboBox;

Button2: TButton;

DBLookupComboBoxM1: TDBLookupComboBox;

DBLookupComboBoxM2: TDBLookupComboBox;

DBLookupComboBoxM3: TDBLookupComboBox;

DBLookupComboBoxM4: TDBLookupComboBox;

DBEditM1: TDBEdit;

DBEditM2: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FRMAdd: TFRMAdd;

implementation

uses UnitDM, UnitTable;

{$R *.dfm}

procedure TFRMAdd.Button1Click(Sender: TObject);

begin

if FRMTable.DBGrid1.DataSource=DM.DS_DOGOVOR then begin

DM.T_Dogovor.Fields[5].AsFloat:=round(DM.T_Dogovor.Fields[4].AsDateTime-DM.T_Dogovor.Fields[3].AsDateTime)*(round(DM.T_Mashin.Fields[6].AsInteger/30));

DM.T_DOGOVOR.Post;

DM.T_DOGOVOR.Active:=false;

DM.T_DOGOVOR.Active:=true;

DM.T_DOGOVOR.Append;

end

else if FRMTable.DBGrid1.DataSource=DM.DS_MASHIN then begin

DM.T_MASHIN.Post;

DM.T_MASHIN.Active:=false;

DM.T_MASHIN.Active:=true;

DM.T_MASHIN.Append;

end;

end;

procedure TFRMAdd.Button2Click(Sender: TObject);

begin

close;

end;

end.

3.2 Руководство пользователя

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

Рисунок 3.1 Главная форма

С помощью главного меню открывается редактор таблиц, путем использования кнопок «Добавить», «Редактировать», «Удалить» можно внести изменения в состав таблиц (рис. 3.2, 3.3). При нажатии кнопки «Ок» на форме добавления/редактирования записи автоматически посчитается сумма договора на основании длительности договора и стоимости аренды данной конфигурации.

Рисунок 3.2 Таблица «Договора» и форма для внесения изменений.

Рисунок 3.3 Таблица «Прайс-лист» и форма для внесения изменений.

При использовании второго пункта меню «Справочники» Можно внести изменения в имеющиеся в базе данных справочники (рис. 3.4 - 3.8)

Рисунок 3.4 Справочник «Клиенты».

Рисунок 3.5 Справочник «Процессоры».

Рисунок 3.6 Справочник «Жесткие диски».

Рисунок 3.7 Справочник «Оперативная память».

Рисунок 3.8 Справочник «Скорость».

Для удобства просмотра хранящейся в базе данных информации сделаны представления, которые можно увидеть с помощью пункта меню «Представления» (рис. 3.9, 3.10)

Рисунок 3.9 Представление Договоров.

Рисунок 3.10 Представление Прайс-листа.

Для получения каких-либо сведений из базы данных используются запросы. На рис 3.11 показан результат запроса на выборку всех арендаторов заданной конфигурации.

Рисунок 3.11 Запрос.

Для удобства просмотра и возможности вывода информации на печать была использована программа RaveReports с помощью которой можно создавать отчеты. На рис. 3.12 показан внешний вид получаемого отчета.

Рисунок 3.12 Вид отчета.

Заключение

В результате работы была создана реляционная база данных в Microsoft SQL Server, содержащая 7 таблиц, 5 из которых справочники. Клиентское приложение написанное с помощью CodeGear Delphi позволяющее просматривать, изменять и искать нужную информацию. Были рассмотрены различные способы внесения и получения данных из базы данных. Построен отчет для вывода на печать с помощью программы RaveReports. Изучены свойства и методы компонентов CodeGear Delphi для работы с базами данных.

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.