Скачиваний:
9
Добавлен:
17.06.2023
Размер:
1.8 Mб
Скачать

ПРИЛОЖЕНИЕБ

Описаниетаблицбазы данных

Таблица Б.1 – Описание свойств полей таблицы Audit

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

a_id

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

a_nomer

Числовое

Длинное

Нет

Нет

Номер

 

 

целое

 

 

 

a_vid

Текстовый

50

Нет

Нет

Вид

EDIT

Логический

 

 

Нет

Метка

Таблица Б.2 – Описание свойств полей таблицы Soed

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

s_id

Числовой

Авто

Нет

Нет

Соединительная

a_id

Числовой

Авто

Нет

Нет

таблица

Таблица Б.3 – Описание свойств полей таблицы Sotr

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

s_id

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

s_fam

Текстовый

50

Нет

Нет

Фамилия

s_otch

Текстовый

50

Нет

Нет

Отчество

s_name

Текстовый

50

Нет

Нет

Имя

s_dolzh

Текстовый

50

Нет

Нет

Должность

s_tel

Числовой

Длинное

Нет

Нет

Номер телефона

 

 

целое

 

 

 

EDIT

Логический

 

 

Нет

Метка

32

Таблица Б.4 – Описание свойств полей таблицы Zakrep_oborud

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

 

поля

поле

поле

 

 

z_id

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

 

целое

 

не допускаются)

 

 

z_o_id

Числовой

Длинное

Нет

Нет

Подстановка

с

 

 

целое

 

 

таблицы

 

 

 

 

 

 

оборудования

 

z_a_id

Числовой

Длинное

Нет

Нет

Подстановка

с

 

 

целое

 

 

таблицы

 

 

 

 

 

 

аудиторий

 

EDIT

Логический

-

-

Нет

Метка занятости

Таблица Б.5 – Описание свойств полей таблицы Oborud

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

o_id

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

o_name

Текстовый

50

Нет

Нет

Наименование

o_inv_nom

Числовой

Длинное

Да

Да

Инвентарный

er

 

целое

 

 

номер

o_date

Дата/время

-

Нет

Нет

Дата выпуска

o_datelasti

Дата/время

-

Нет

Нет

Дата последней

nv

 

 

 

 

инвентаризации

o_stoim

Денежный

-

Нет

Нет

Стоимость

EDIT

Логический

-

-

Нет

Метка занятости

Таблица Б.6 – Описание свойств полей таблицы User

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

id_user

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

Login

Текстовый

50

Да

Нет

Логин

Pass

Текстовый

50

Нет

Нет

Пароль

33

 

ПРИЛОЖЕНИЕВ

 

Текстпрограммы

unit Main;

N17: TMenuItem;

 

N18: TMenuItem;

interface

N19: TMenuItem;

 

Btn1: TButton;

uses

Button1: TButton;

Windows, Messages, SysUtils, Variants, Classes,

Image1: TImage;

Graphics, Controls, Forms,

procedure N2Click(Sender: TObject);

 

Dialogs, Menus, ComCtrls, ExtCtrls, ComObj, IniFiles,

StdCtrls, jpeg;

procedure Timer1Timer(Sender: TObject);

 

procedure N8Click(Sender: TObject);

type

procedure N11Click(Sender: TObject);

TFrmMain = class(TForm)

procedure N10Click(Sender: TObject);

MainMenu1: TMainMenu;

procedure N9Click(Sender: TObject);

N1: TMenuItem;

procedure CompactDatabase_JRO (DatabaseName:

N2: TMenuItem;

string;DestDatabaseName: string = ''; Password: string =

'');

N3: TMenuItem;

procedure N3Click(Sender: TObject);

N4: TMenuItem;

procedure N12Click(Sender: TObject);

N5: TMenuItem;

procedure N13Click(Sender: TObject);

N6: TMenuItem;

procedure N14Click(Sender: TObject);

N7: TMenuItem;

procedure N15Click(Sender: TObject);

StatusBar1: TStatusBar;

procedure N16Click(Sender: TObject);

Timer1: TTimer;

procedure N17Click(Sender: TObject);

N8: TMenuItem;

procedure N18Click(Sender: TObject);

N9: TMenuItem;

procedure N19Click(Sender: TObject);

N10: TMenuItem;

procedure N20Click(Sender: TObject);

N11: TMenuItem;

procedure Btn1Click(Sender: TObject);

N12: TMenuItem;

procedure Button1Click(Sender: TObject);

N13: TMenuItem;

procedure FormShow(Sender: TObject);

N14: TMenuItem;

private

OpenDialog1: TOpenDialog;

{ Private declarations }

N16: TMenuItem;

public

{ Public declarations } end;

var

FrmMain: TFrmMain;

implementation

uses About, DataModule, change_password, ChUser, Audit, Sotr, Oborud,

Zakrep_oborud, Otchet1, Otchet2, Otchet3, Otchet4,

Otchet5,

authorization;

{$R *.dfm}

procedure TFrmMain.CompactDatabase_JRO(DatabaseName: string;

DestDatabaseName: string = ''; Password: string =

''); Const

Provider = 'Provider=Microsoft.Jet.OLEDB.4.0;';

Var

TempName : Array[0..MAX_PATH] of Char;

TempPath : String;

Name : String;

Src,Dest : WideString;

V : Variant;

begin

F:=TIniFile.Create(ExtractFilePath(Application.ExeName)

+'Options.ini'); DBPath:=F.ReadString('Section_DBPath','Path', ''); try

Src := Provider + 'Data

Source='+DBPath+DatabaseName;

if DestDatabaseName<>'' then

Name:=DBPath+DestDatabaseName

else begin

TempPath:=ExtractFilePath(DatabaseName);

if TempPath='' Then TempPath:=GetCurrentDir;

GetTempFileName(PChar(TempPath),'mdb',0,TempName

);

Name:=StrPas(TempName);

end;

DeleteFile(PChar(Name));

Dest := Provider + 'Data Source=' +Name; if Password<>'' then begin

Src := Src + ';Jet OLEDB:Database Password=' +

Password;

Dest := Dest + ';Jet OLEDB:Database Password=' +

Password;

end;

V:=CreateOleObject('jro.JetEngine'); try

V.CompactDatabase(Src,Dest); finally

V:=0;

end;

if DestDatabaseName='' then begin DeleteFile(PChar(DatabaseName)); RenameFile(Name,DatabaseName);

end;

if V=0 then

Showmessage('Резевное копирование выполнено.'); except

on E: Exception do ShowMessage(e.message); end;

end;

procedure TFrmMain.N2Click(Sender: TObject);

35

begin Application.Terminate; end;

procedure TFrmMain.Timer1Timer(Sender: TObject); begin

StatusBar1.Panels[1].Text:= DateTimeToStr(now); end;

procedure TFrmMain.N8Click(Sender: TObject); begin

aboutbox.ShowModal;

end;

procedure TFrmMain.N11Click(Sender: TObject); begin

With DM do begin dm.ADOconnection.Close; end;

CompactDatabase_JRO('bd.mdb', 'bd_bakup.mdb','');

DM.ADOconnection.Open;

end;

procedure TFrmMain.N10Click(Sender: TObject); begin

Frm_change_password:=TFrm_change_password.Create(s elf);

Frm_change_password.ShowModal; end;

procedure TFrmMain.N9Click(Sender: TObject); begin Frm_ChUser:=TFrm_ChUser.Create(self);

Frm_ChUser.ShowModal;

36

end;

procedure TFrmMain.N3Click(Sender: TObject); begin

F:=TiniFile.Create(ExtractFilePath(Application.ExeName)

+'Options.ini');

if OpenDialog1.Execute then begin

DBPath:=ExtractFilePath(OpenDialog1.FileName);

F.WriteString('Section_DBPath','Path',DBPath);

DM.ADOConnection.Close;

DM.ADOConnection.ConnectionString:='Provider=Micro

soft.Jet.OLEDB.4.0;Data Source='+DBPath+'bd.mdb;Persist Security Info=False';

DM.ADOConnection.Open;

end;

F.Free;

end;

procedure TFrmMain.N12Click(Sender: TObject); begin

FrmAudit:=TFrmAudit.Create(self);

FrmAudit.ShowModal;

end;

procedure TFrmMain.N13Click(Sender: TObject); begin

FrmSotr:=TFrmSotr.Create(self);

FrmSotr.ShowModal;

end;

procedure TFrmMain.N14Click(Sender: TObject); begin

FrmOborud:=TFrmOborud.Create(self);

FrmOborud.ShowModal;

begin

end;

FrmOtchet5:=TFrmOtchet5.Create(self);

 

FrmOtchet5.ShowModal;

procedure TFrmMain.N15Click(Sender: TObject);

end;

begin

 

FrmZakrep_oborud:=TFrmZakrep_oborud.Create(self);

procedure TFrmMain.Btn1Click(Sender: TObject); begin

FrmZakrep_oborud.ShowModal;

FrmZakrep_oborud:=TFrmZakrep_oborud.Create(self);

end;

FrmZakrep_oborud.ShowModal;

 

end;

procedure TFrmMain.N16Click(Sender: TObject);

 

begin

procedure TFrmMain.Button1Click(Sender: TObject);

FrmOtchet1:=TFrmOtchet1.Create(self);

begin

FrmOtchet1.ShowModal;

FrmOtchet5:=TFrmOtchet5.Create(self);

end;

FrmOtchet5.ShowModal;

 

end;

procedure TFrmMain.N17Click(Sender: TObject);

 

begin

procedure TFrmMain.FormShow(Sender: TObject);

FrmOtchet2:=TFrmOtchet2.Create(self);

begin

FrmOtchet2.ShowModal;

if chek='Пользователь' then

end;

begin

 

N11.Enabled:=false;

procedure TFrmMain.N18Click(Sender: TObject);

end;

begin

if chek='Гость' then

FrmOtchet3:=TFrmOtchet3.Create(self);

begin

FrmOtchet3.ShowModal;

N4.Enabled:=false;

end;

N5.Enabled:=false;

 

N6.Enabled:=false;

procedure TFrmMain.N19Click(Sender: TObject);

N11.Enabled:=false;

begin

end;

FrmOtchet4:=TFrmOtchet4.Create(self);

end;

FrmOtchet4.ShowModal;

 

end;

end.

 

unit DataModule;

procedure TFrmMain.N20Click(Sender: TObject);

37

 

interface

uses

SysUtils, Classes, DB, ADODB, IniFiles, Forms;

type

TDM = class(TDataModule) ADOConnection: TADOConnection; ADODataSetUserTable: TADODataSet; update_pas: TADOQuery;

DSAudit: TDataSource;

DSOborud: TDataSource;

DSSotr: TDataSource;

DSZakrep_oborud: TDataSource;

AuditQuery: TADOQuery;

AuditQuerya_id: TAutoIncField;

AuditQuerya_vid: TWideStringField;

AuditQueryEDIT: TBooleanField;

SotrQuery: TADOQuery;

OborudQuery: TADOQuery;

OborudQueryo_id: TAutoIncField;

OborudQueryo_name: TWideStringField;

OborudQueryo_inv_nomer: TIntegerField;

OborudQueryo_date: TDateTimeField;

OborudQueryo_datelastinv: TDateTimeField;

OborudQueryo_stoim: TIntegerField;

OborudQueryEDIT: TBooleanField;

Zakrep_oborudQuery: TADOQuery;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

ADOQuery1z_id: TAutoIncField;

ADOQuery1z_o_id: TIntegerField;

ADOQuery1z_a_id: TIntegerField;

ADOQuery1EDIT: TBooleanField; SotrQuerys_id: TAutoIncField; SotrQuerys_fam: TWideStringField; SotrQuerys_otch: TWideStringField; SotrQuerys_name: TWideStringField; SotrQuerys_dolzh: TWideStringField; SotrQuerys_tel: TIntegerField; SotrQueryEDIT: TBooleanField; ADOQuery2: TADOQuery; DataSource2: TDataSource; DataSource3: TDataSource; ADOQuery3: TADOQuery; ADOQuery4: TADOQuery; DataSource4: TDataSource; ADOQuery4o_name: TWideStringField; ADOQuery4o_inv_nomer: TIntegerField; DataSource5: TDataSource; ADOQuery5: TADOQuery; ADOQuery5o_name: TWideStringField; ADOQuery5o_inv_nomer: TIntegerField; ADOQuery6: TADOQuery; ADOQuery7: TADOQuery; DataSource6: TDataSource; DataSource7: TDataSource; ADOQuery6o_name: TWideStringField; ADOQuery6o_inv_nomer: TIntegerField; ADOQuery8: TADOQuery; DataSource8: TDataSource; ADOQuery8sotrs_id: TAutoIncField; ADOQuery8s_fam: TWideStringField; ADOQuery8s_otch: TWideStringField; ADOQuery8s_name: TWideStringField; ADOQuery8s_dolzh: TWideStringField;

ADOQuery8s_tel: TIntegerField;

38

ADOQuery8sotrEDIT: TBooleanField;

ADOQuery8audita_id: TAutoIncField;

ADOQuery8a_vid: TWideStringField;

ADOQuery8auditEDIT: TBooleanField;

ADOQuery8soeds_id: TIntegerField;

ADOQuery8soeda_id: TIntegerField;

ADOQuery9: TADOQuery; DataSource9:

TDataSource;

ADOQuery9s_fam: TWideStringField;

ADOQuery10: TADOQuery;

ADOQuery11: TADOQuery;

DataSource10: TDataSource;

DataSource11: TDataSource;

ADOQuery10sotrs_id: TAutoIncField;

ADOQuery10s_fam: TWideStringField;

ADOQuery10s_otch: TWideStringField;

ADOQuery10s_name: TWideStringField;

ADOQuery10s_dolzh: TWideStringField;

ADOQuery10s_tel: TIntegerField;

ADOQuery10sotrEDIT: TBooleanField;

ADOQuery10audita_id: TAutoIncField;

ADOQuery10a_vid: TWideStringField;

ADOQuery10auditEDIT: TBooleanField;

ADOQuery10soeds_id: TIntegerField;

ADOQuery10soeda_id: TIntegerField;

ADOQuery10nomer: TIntegerField;

DSUserTable: TDataSource;

DataSource12: TDataSource;

ADOQuery12: TADOQuery;

ADOQuery13: TADOQuery;

DataSource13: TDataSource;

AuditQuerya_nomer: TWideStringField;

ADOQuery8a_nomer: TWideStringField;

ADOQuery10a_nomer: TWideStringField;

ADOQuery11a_nomer: TWideStringField;

ADOQuery12a_nomer: TWideStringField;

ADOQuery13a_id: TAutoIncField;

Zakrep_oborudQueryz_id: TAutoIncField;

Zakrep_oborudQueryEDIT: TBooleanField;

Zakrep_oborudQueryo_name: TWideStringField;

Zakrep_oborudQueryo_inv_nomer: TIntegerField;

Zakrep_oborudQuerya_nomer: TWideStringField;

ADOQuery3a_nomer: TWideStringField;

ADOQuery6a_nomer: TWideStringField;

procedure ADOConnectionBeforeConnect(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

DM: TDM; var

DBPath:widestring;

F:TiniFile; implementation

uses authorization;

{$R *.dfm}

procedure TDM.ADOConnectionBeforeConnect(Sender: TObject);

begin

F:=TIniFile.Create(ExtractFilePath(Application.ExeName)

+'Options.ini');

39

DBPath:=F.ReadString('Section_DBPath','Path', '');

ADOConnection.ConnectionString:='Provider=Microsoft.J et.OLEDB.4.0;Data Source='+DBPath+'bd.mdb;Persist Security Info=False';

end;

end.

unit authorization;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, DB, ADODB, ExtCtrls,

IniFiles;

type

TFrm_authorization = class(TForm)

Label1: TLabel;

Button1: TButton;

Button2: TButton;

Image1: TImage;

Edit2: TEdit;

Label2: TLabel;

Label3: TLabel;

OpenDialog1: TOpenDialog; DBLookupComboBox1: TDBLookupComboBox; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject);

private

{Private declarations } public

{Public declarations }

end;

var

Frm_authorization: TFrm_authorization;

UserIndex: Integer;

chek: string; implementation

uses DataModule, Main;

{$R *.dfm}

procedure TFrm_authorization.Button2Click(Sender: TObject);

begin Application.Terminate; end;

procedure TFrm_authorization.Button1Click(Sender: TObject);

var LogPass: array of string; I,H, Counts: integer; ResultLogPass: string;

begin Counts:=0;

SetLength (LogPass,800);

dm.ADODataSetUserTable.Active:=true;

dm.ADODataSetUserTable.First;

for I := 0 to dm.ADODataSetUserTable.RecordCount -1 do

begin

LogPass[I]:= dm.ADODataSetUserTable.FieldValues ['login']+' '+dm.ADODataSetUserTable.FieldValues ['pass'];

49

dm.ADODataSetUserTable.Next;

Inc(Counts);

end;

ResultLogPass:= Trim(DBLookupComboBox1.Text)+'

'+Trim(Edit2.Text);

for H := 0 to Counts do begin

if ResultLogPass = LogPass[H] then begin

UserIndex:=H;

chek:= DBLookupComboBox1.Text; FrmMain.Show;

close; end Else

Label3.Caption:='Не верный логин или пароль';

end;

chek:= DBLookupComboBox1.Text; end;

procedure TFrm_authorization.FormShow(Sender: TObject);

begin

if DM.ADOConnection.Connected then DM.ADOConnection.Close;

F:=TIniFile.Create(ExtractFilePath(Application.ExeName)

+'Options.ini'); DBPath:=f.ReadString('Section_DBPath','Path', ''); try

if DBPath='' then

if OpenDialog1.Execute then begin

DBPath:=ExtractFilePath(OpenDialog1.FileName);

F.WriteString('Section_DBPath','Path',DBPath);

DM.ADOConnection.Close;

DM.ADOConnection.ConnectionString:='Provider=Micro

soft.Jet.OLEDB.4.0;Data Source='+DBPath+'bd.mdb;Persist Security Info=False';

DM.ADOConnection.Open;

end; finally F.Free;

dm.ADODataSetUserTable.Active:=true;

end;

end;

end.

unit Audit;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, Menus, ExtCtrls, StdCtrls;

type

TFrmAudit = class(TForm)

DBGrid1: TDBGrid;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

GroupBox1: TGroupBox;

41

Соседние файлы в папке Курсовые работы