Пропускной пункт предприятия

Автор работы: Пользователь скрыл имя, 11 Декабря 2011 в 17:33, курсовая работа

Описание работы

Организация контрольно-пропускного режима отличается определенной сложностью. Дело в том, что механизм основывается на применении "запретов" и "ограничений" в отношении субъектов, пересекающих границы охраняемых объектов, для обеспечения интересов предприятия. Такой механизм должен быть безупречным для дальнейшего устранение угрозы несанкционированного проникновения на закрытые объекты.

Содержание работы

ВВЕДЕНИЕ 4
1 ОБЩАЯ ЧАСТЬ 6
1.1 Техническое задание на разработку программного продукта 6
1.2 Анализ средств программирования 9
2 СПЕЦИАЛЬНАЯ ЧАСТЬ 15
2.1 Описание алгоритма 15
2.2 Текст программы с описанием 15
2.3 Описание процесса отладки программы 16
3 ОРГАНИАЦИЯ ПРОИЗВОДСТВА 17
ЗАКЛЮЧЕНИЕ 18
СПИСОК ЛИТЕРАТУРЫ 19

Файлы: 1 файл

Мезин.doc

— 891.00 Кб (Скачать файл)

open;

end;

if ADOQuery1.RecordCount<>0 then

DataSource5.DataSet:=ADOQuery1

else

ShowMessage ('Нет машин  находящихся на территории обекта'); //Если не найдены записи то выдаст сообщение

end; 

procedure TMenu1.N8Click(Sender: TObject);

begin

z:=1;

TabbedNotebook1.ActivePage:='Отчет';

with menu1.ADOQuery1 do begin

Close;

SQL.Clear;

SQL.Add('SELECT *');       //выделить все поля в таблице  РабочийПерсонал

SQL.Add('FROM РабочийПерсонал');

SQL.Add('Where НаОбъекте  LIKE "Да"');  //Дабовить все записи если значение в поле наобъекте равно Да

open;

end;

if ADOQuery1.RecordCount<>0 then

DataSource5.DataSet:=ADOQuery1

else

ShowMessage ('На объекте  нет персонала');    //Если  не найдены записи то выдаст сообщение

end; 

procedure TMenu1.N9Click(Sender: TObject);

begin

z:=2;

TabbedNotebook1.ActivePage:='Отчет';

with menu1.ADOQuery1 do begin

Close;

SQL.Clear;

SQL.Add('SELECT *');             //выделить все поля в таблице  РабочийПерсонал

SQL.Add('FROM РабочийПерсонал');

SQL.Add('Where НаОбъекте  LIKE "Нет"'); //Дабовить все записи если значение в поле наобъекте равно Нет

open;

end;

if ADOQuery1.RecordCount<>0 then

DataSource5.DataSet:=ADOQuery1

else

ShowMessage ('Весь  рабочий персонал на местах');  //Если не найдены записи то  выдаст сообщение

end; 

procedure TMenu1.N11Click(Sender: TObject);

begin

z:=4;

TabbedNotebook1.ActivePage:='Отчет';

with menu1.ADOQuery1 do begin

Close;

SQL.Clear;

SQL.Add('SELECT *');        //выделить все поля в таблице  ВременныйПропускДляЛюдей

SQL.Add('FROM ВременныйПропускДляЛюдей');

SQL.Add('Where НаОбъекте  LIKE "Да"');    //Дабовить все  записи если значение в поле  наобъекте равно Нет

open;

end;

if ADOQuery1.RecordCount<>0 then

DataSource5.DataSet:=ADOQuery1

else

ShowMessage ('Еще никто  не проходил');        //Если не найдены записи то выдаст сообщение

end; 

procedure TMenu1.N12Click(Sender: TObject);

begin

z:=5;

TabbedNotebook1.ActivePage:='Отчет';

with menu1.ADOQuery1 do begin

Close;

SQL.Clear;

SQL.Add('SELECT *');      //выделить все поля в таблице  ВременныйПропускДляЛюдей

SQL.Add('FROM ВременныйПропускДляЛюдей');

open;

end;

if ADOQuery1.RecordCount<>0 then

DataSource5.DataSet:=ADOQuery1

else

ShowMessage ('Еще никто  не проходил');       //Если  не найдены записи то выдаст  сообщение

end; 

procedure TMenu1.N13Click(Sender: TObject);

begin

z:=6;

TabbedNotebook1.ActivePage:='Отчет';

with menu1.ADOQuery1 do begin

Close;

SQL.Clear;

SQL.Add('SELECT *');     //выделить все поля в таблице ВременныйПропускДляМашин

SQL.Add('FROM ВременныйПропускДляМашин');

open;

end;

if ADOQuery1.RecordCount<>0 then

DataSource5.DataSet:=ADOQuery1

else

ShowMessage ('Еще никто  не приезжал');       //Если  не найдены записи то выдаст сообщение

end; 

procedure TMenu1.Button5Click(Sender: TObject);

begin

Car.showmodal;      //открытие формы Машины

end; 

procedure TMenu1.BitBtn1Click(Sender: TObject);

begin

people.ShowModal;   //открытие формы Люди

end; 

procedure TMenu1.Button4Click(Sender: TObject);

begin

VremenniyCar.showmodal;  //открытие формы Временные пропуска для машин

end; 

procedure TMenu1.Button8Click(Sender: TObject);

begin

VremenniyPeople.ShowModal;  //открытие формы Временные пропуска  для людей

end; 

procedure TMenu1.TabbedNotebook1Click(Sender: TObject);

begin

if TabbedNotebook1.PageIndex=3 then begin

DBNavigator1.BtnClick(nbinsert);       //Если стала активной вкладка  Заказать пропуск то вкл. функция  добавление записи.

end;

end; 

procedure TMenu1.FormActivate(Sender: TObject);

begin

z:=0;

dbgrid1.Fields[2].EditMask:='!99.99.00 99:99;';  //Маска ввода для DBGrin1 колонки 3

dbgrid1.Fields[3].EditMask:='!99.99.00 99:99;';  //Маска ввода для DBGrin1 колонки 4

dbgrid2.Fields[2].EditMask:='!99.99.00 99:99;';  //Маска ввода для DBGrin2 колонки 3

dbgrid2.Fields[3].EditMask:='!99.99.00 99:99;';  //Маска ввода для DBGrin2 колонки 4

dbgrid3.Fields[1].EditMask:='!99:99;';           //Маска ввода для DBGrin3 колонки 2

dbgrid3.Fields[2].EditMask:='!99.99.00';        //Маска ввода для DBGrin3 колонки 3

dbgrid3.Fields[3].EditMask:='!99:99;';           //Маска ввода для DBGrin3 колонки 4

dbgrid3.Fields[4].EditMask:='!99.99.00;';        //Маска ввода для DBGrin3 колонки 5

DBEdit6.Field.EditMask:='!99.99.0000;';     //Маска ввода для DBEdit6

TabbedNotebook1.PageIndex:=0;

end; 

procedure TMenu1.DBEdit6KeyPress(Sender: TObject; var Key: Char);

begin

if  ((not(key in ['0'..'9']))and(key<>#8)) then key := #0; //Запрет на ввод символов кроме сисловых

end; 

procedure TMenu1.N4Click(Sender: TObject);

begin

aboutbox.ShowModal;   //открытие формы о программе

end; 

procedure TMenu1.N5Click(Sender: TObject);

begin

frxReport1.ShowReport;    //открытие 1 отчета на печать

end; 

procedure TMenu1.N6Click(Sender: TObject);

begin

frxReport2.ShowReport;  //открытие 2 отчета на печать

end; 

procedure TMenu1.N7Click(Sender: TObject);

begin

frxReport3.ShowReport;  //открытие 3 отчета на печать

end; 

procedure TMenu1.N15Click(Sender: TObject);

begin

close;

end; 

procedure TMenu1.N14Click(Sender: TObject);

begin

CanClose:=MessageDlg('сменить пользователя?',mtConfirmation,[mbYes,mbNo],0)=Idyes;     //Вывод сообшения о подтверждении перед закрытием формы

menu1.Visible:=false;       //форма menu1 не видима

Glavnay1.Visible:=true;       // форма Glavnaya1 видима

end; 

procedure TMenu1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

CanClose:=MessageDlg('Сменить пользователя?',mtConfirmation,[mbYes,mbNo],0)=Idyes;    //Вывод сообшения о подтверждении перед закрытием формы

end; 

procedure TMenu1.Button6Click(Sender: TObject);

begin

case z of    //оператор выбора все зависит  от значения z какое оно будет  от 1 до 6 то каманда и выполниться

1,2: frxReport4.ShowReport;  //открытие 4 отчета на печать

3: frxReport5.ShowReport;  //открытие 5 отчета на печать

4,5:  frxReport6.ShowReport;  //открытие 6 отчета на печать

6:  frxReport7.ShowReport;  //открытие 7 отчета на печать

end;

end; 

end. 

unit Unit4; 

interface 

uses

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

  Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, Buttons, ExtCtrls, DBCtrls; 

type

  TCar = class(TForm)

    GroupBox1: TGroupBox;

    CheckBox1: TCheckBox;

    CheckBox2: TCheckBox;

    Edit1: TEdit;

    Edit2: TEdit;

    Button1: TButton;

    DBNavigator1: TDBNavigator;

    DataSource1: TDataSource;

    ADOTable1: TADOTable;

    DBGrid1: TDBGrid;

    procedure Button1Click(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Car: TCar;

  keyValues:Variant;

  keyFields:string;

   Options:TlocateOptions; 

implementation 

{$R *.dfm} 

procedure TCar.Button1Click(Sender: TObject);

begin

if not (checkbox1.Checked or checkbox2.Checked) then begin

     messagedlg ('Не заданы условия поиска!!!',mtconfirmation,[mbok],0);

     exit;                                                                //Если не поставлены галочки напротив checkbox то выдаст сообщение

   end;

   if (checkbox1.Checked=true and checkbox2.Checked=true) then begin

     keyFields:='фамилия;НомерМашины';

     keyValues:=vararrayof([edit1.Text,edit2.Text]);     //Сравнение данных по обоим  полям "НомерМашины", "фамилия"  введенных в Edit1,2 с содержимым БД

   end

   else begin

    if checkbox1.Checked then begin

     keyFields:='Фамилия';

     keyValues:=edit1.Text;      //Сравнение данных по полям  "фамилия" введенных в Edit с содержимым БД

    end;

    if checkbox2.Checked then begin

     keyFields:='НомерМашины';

     keyValues:=edit2.Text;     //Сравнение данных по полям  "НомерМашины" введенных в  Edit с содержимым БД

    end;

   end;

    options:=[loCaseInsensitive,loPartialKey];

    if not ADOtable1.Locate(keyFields,keyValues,options) then begin

      beep;

      messagedlg('Запись не найдена!!!',mtInformation,[mbok],0);      //Если не найдены записи то  выдаст сообщение

      exit;

       end;

end; 

procedure TCar.BitBtn1Click(Sender: TObject);

begin 

DBNavigator1.BtnClick(nbpost);        //Нажатие кнопки Button1 равносильно нажатию на навигатор кнопки "принять"

end; 

procedure TCar.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

CanClose:=MessageDlg('Закончить просмотр?',mtConfirmation,[mbYes,mbNo],0)=Idyes;   //Вывод сообшения о подтверждении перд закрытием формы

<

Информация о работе Пропускной пункт предприятия