Курсовые работы / ПРИС П _12
.pdfПРИЛОЖЕНИЕБ
Описаниетаблицбазы данных
Таблица Б.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