Диплом: Автоматизация и обеспечение информационной безопасности процесса ведения документации и отчетности ООО "Тандер"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
91
else
if lnOstatokMetr<0 then begin
ShowMessage('Свободных площадей по данному объекту больше нет!'+CHR(13)+
'Выберите другой объект для аренды.');
Abort;
end;
end
else
if DataSet['Метры'] > DM.tab_object['Площадь'] then begin
DataSet['Метры']:=0;
ShowMessage('Кол-во введенных метров для аренды превышает остаток площади объекта!'+CHR(13)+
'Введите правильное значение не более '+IntToStr(DM.tab_object['Площадь'])+ ' кв.м.');
end;
except {секция обработки ошибок}
On e : EDatabaseError do {e - новый дескриптор ошибки}
messageDlg(e.message,mtError,[mbOK],0); {показываем свойство message объекта e}
end; {окончание обработки ошибки}
end;
end;
procedure TDM.tab_dogovorFloatFieldChange(Sender: TField);
begin
if Sender.IsNull then
DM.tab_dogovor['Стоимость']:= 0
else
DM.tab_dogovor['Стоимость']:= Sender.value * DM.tab_object['Цена'];
end;
procedure TDM.tab_dogovorNewRecord(DataSet: TDataSet);
begin
DataSet['Метры']:=0;
DataSet['Стоимость']:=0;
end;
procedure TDM.tab_sotrAfterPost(DataSet: TDataSet);
begin
tab_qry_sotr.Active:=false;
tab_qry_sotr.Active:=true;
end;
end.
Программный модуль «Unit_menu.pas»
В данном модуле объявляются все компоненты для работы с меню.
unit Unit_menu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N_sprav: TMenuItem;
92
N_arendator: TMenuItem;
N_object: TMenuItem;
N_otchet: TMenuItem;
N_exit: TMenuItem;
N_gorod_st_adr: TMenuItem;
N9: TMenuItem;
N_vidobject: TMenuItem;
N_communic: TMenuItem;
N_status: TMenuItem;
N13: TMenuItem;
N_dolgnost: TMenuItem;
N_sotrudniki: TMenuItem;
XPManifest1: TXPManifest;
N1: TMenuItem;
N_customers: TMenuItem;
N_otchet1: TMenuItem;
N_otchet2: TMenuItem;
N_otchet3: TMenuItem;
N_otchet4: TMenuItem;
procedure N_objectClick(Sender: TObject);
procedure N_arendatorClick(Sender: TObject);
procedure N_sotrudnikiClick(Sender: TObject);
procedure N_dolgnostClick(Sender: TObject);
procedure N_statusClick(Sender: TObject);
procedure N_communicClick(Sender: TObject);
procedure N_vidobjectClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N_gorod_st_adrClick(Sender: TObject);
procedure N_exitClick(Sender: TObject);
procedure N_customersClick(Sender: TObject);
procedure N_otchet1Click(Sender: TObject);
procedure N_otchet2Click(Sender: TObject);
procedure N_otchet3Click(Sender: TObject);
procedure N_otchet4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses unit_dm, Unit_gorod_st_ad, unit_vid, unit_comm, unit_status, unit_dolgn,Unit_sotrud,
Unit_arendat, Unit_object, Unit_PassWord, Unit_customer, Unit_otchet1, Unit_otchet2,
Unit_otchet3, Unit_otchet4;
procedure TForm1.N_exitClick(Sender: TObject);
begin
Form1.Close;
Unit_PassWord.PasswordDlg.Show;
end;
procedure TForm1.N_gorod_st_adrClick(Sender: TObject);
93
begin
Form_gorod_st_ad.Show;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
DM.tab_gorod.Active:=true;
DM.tab_street.Active:=true;
DM.tab_adres.Active:=true;
DM.tab_vid.Active:=true;
DM.tab_comm.Active:=true;
DM.tab_status.Active:=true;
DM.tab_dolgn.Active:=true;
DM.tab_sotr.Active:=true;
DM.tab_arend.Active:=true;
DM.tab_object.Active:=true;
DM.tab_comm_ob.Active:=true;
DM.tab_dogovor.Active:=true;
DM.tab_oplata.Active:=True;
DM.tab_customer.Active:=True;
DM.tab_qry_adres.Active:=true;
DM.tab_qry_sotr.Active:=true;
DM.tab_qry_dogovor.Active:=true;
if Unit_PassWord.PasswordDlg.gcLogin<>'Администратор' then
N_customers.Visible:=False
else
N_customers.Visible:=True;
end;
procedure TForm1.N_vidobjectClick(Sender: TObject);
begin
Form_vid.Show;
end;
procedure TForm1.N_communicClick(Sender: TObject);
begin
Form_comm.Show;
end;
procedure TForm1.N_customersClick(Sender: TObject);
begin
Form_customer.Show;
end;
procedure TForm1.N_statusClick(Sender: TObject);
begin
Form_status.Show;
end;
procedure TForm1.N_dolgnostClick(Sender: TObject);
begin
Form_dolgn.Show;
end;
procedure TForm1.N_sotrudnikiClick(Sender: TObject);
94
begin
Form_sotrud.Show;
end;
procedure TForm1.N_arendatorClick(Sender: TObject);
begin
Form_arendat.show;
end;
procedure TForm1.N_objectClick(Sender: TObject);
begin
Form_object.Show;
end;
procedure TForm1.N_otchet1Click(Sender: TObject);
begin
Form_otchet1.Show;
end;
procedure TForm1.N_otchet2Click(Sender: TObject);
begin
Form_otchet2.Show;
end;
procedure TForm1.N_otchet3Click(Sender: TObject);
begin
Form_otchet3.Show;
end;
procedure TForm1.N_otchet4Click(Sender: TObject);
begin
Form_otchet4.Show;
end;
end.
Программный модуль « Unit_PassWord.pas»
Предназначен для авторизации пользователя.
unit Unit_PassWord;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, DBCtrls, Dialogs, Messages;
type
TPasswordDlg = class(TForm)
Label1: TLabel;
Password: TEdit;
OKBtn: TButton;
CancelBtn: TButton;
Label2: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
procedure CancelBtnClick(Sender: TObject);
procedure OKBtnClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
95
private
{ Private declarations }
public
gcLogin:string; // глобальная переменная для записи логина после авторизации
end;
var
PasswordDlg: TPasswordDlg;
implementation
{$R *.dfm}
uses unit_menu, unit_dm;
procedure TPasswordDlg.CancelBtnClick(Sender: TObject);
begin
Close;
end;
procedure TPasswordDlg.FormActivate(Sender: TObject);
begin
DM.tab_customer.Active:=True;
end;
procedure TPasswordDlg.OKBtnClick(Sender: TObject);
begin
if DM.tab_customer['Пароль']=Password.Text then begin
gcLogin:=DM.tab_customer['Логин'];
unit_menu.Form1.Caption:='Форма главного меню - пользователь '+DM.tab_customer['Логин'];
unit_menu.Form1.Show;
PasswordDlg.Hide;
end
else
ShowMessage('Введен не правильный пароль! Повторите ввод пароля.')
end;
end.
Программный модуль « Unit_Arendat.pas»
Предназначен для работы со справочником арендаторов.
unit Unit_arendat;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB;
type
TForm_arendat = class(TForm)
Label1: TLabel;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Button1: TButton;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
96
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_arendat: TForm_arendat;
implementation
{$R *.dfm}
uses unit_menu, unit_dm;
procedure TForm_arendat.Button1Click(Sender: TObject);
begin
Form_arendat.Close;
end;
procedure TForm_arendat.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
if not DM.tab_arend.Locate('Наименование', Edit1.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись не найдена!')
else
DBGrid1.SetFocus;
end;
end.
Программный модуль «Unit_Comm.pas»
Предназначен для работы со справочником коммуникаций для объекта.
unit Unit_comm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB;
type
TForm_comm = class(TForm)
Label1: TLabel;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Button1: TButton;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
97
Form_comm: TForm_comm;
implementation
{$R *.dfm}
uses unit_menu, unit_dm;
procedure TForm_comm.Button1Click(Sender: TObject);
begin
Form_comm.Close;
end;
procedure TForm_comm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
if not DM.tab_comm.Locate('Наименование', Edit1.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись не найдена!')
else
DBGrid1.SetFocus;
end;
end.
Программный модуль « Unit_Customer.pas»
Предназначен для работы со справочником пользователей.
unit Unit_customer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB;
type
TForm_customer = class(TForm)
Label1: TLabel;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Button1: TButton;
Label2: TLabel;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_customer: TForm_customer;
implementation
{$R *.dfm}
uses unit_menu, unit_dm;
98
procedure TForm_customer.Button1Click(Sender: TObject);
begin
Form_customer.Close;
end;
procedure TForm_customer.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
if not DM.tab_customer.Locate('ФИО', Edit1.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись не найдена!')
else
DBGrid1.SetFocus;
end;
procedure TForm_customer.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
if not DM.tab_customer.Locate('Логин', Edit2.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись не найдена!')
else
DBGrid1.SetFocus;
end;
end.
Программный модуль « Unit_dolgn.pas»
Предназначен для работы со справочником должностей сотрудников.
unit Unit_dolgn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB;
type
TForm_dolgn = class(TForm)
Label1: TLabel;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Button1: TButton;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_dolgn: TForm_dolgn;
implementation
{$R *.dfm}
99
uses unit_menu, unit_dm;
procedure TForm_dolgn.Button1Click(Sender: TObject);
begin
Form_dolgn.Close;
end;
procedure TForm_dolgn.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
if not DM.tab_dolgn.Locate('Наименование', Edit1.Text, [loCaseInsensitive, loPartial Key]) then
ShowMessage('Запись не найдена!')
else
DBGrid1.SetFocus;
end;
end.
Программный модуль « Unit_gorod_st_ad.pas»
Предназначен для работы со справочниками городов, улиц, адресов.
unit Unit_gorod_st_ad;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB;
type
TForm_gorod_st_ad = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
DBNavigator1: TDBNavigator;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
Edit2: TEdit;
Label3: TLabel;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
Edit3: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBMemo1: TDBMemo;
Label7: TLabel;
Label8: TLabel;
Edit4: TEdit;
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
100
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_gorod_st_ad: TForm_gorod_st_ad;
implementation
{$R *.dfm}
uses unit_menu, unit_dm;
procedure TForm_gorod_st_ad.Button1Click(Sender: TObject);
begin
Form_gorod_st_ad.Close;
end;
procedure TForm_gorod_st_ad.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
if not DM.tab_gorod.Locate('Наименование', Edit1.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись по городу не найдена!')
else
DBGrid1.SetFocus;
end;
procedure TForm_gorod_st_ad.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
if not DM.tab_street.Locate('Наименование', Edit2.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись по улице не найдена!')
else
DBGrid2.SetFocus;
end;
procedure TForm_gorod_st_ad.Edit3KeyPress(Sender: TObject; var Key: Char);
var
lnKod:integer;
begin
// сначала ищу в справочнике городов наименование,
// потом получаю код города, далее ищу по коду города город в адресах
if Key=#13 then
if not DM.tab_gorod.Locate('Наименование', Edit3.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись по городу не найдена!')
else begin
lnKod:=DM.tab_gorod.FieldByName('КодГорода').Value;
if not DM.tab_adres.Locate('КодГорода', lnKod, [loCaseInsensitive, loPartialKey]) then
ShowMessage('Запись по городу не найдена!')
else
DBGrid3.SetFocus;
end;
end;

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)