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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)
p>end; 

end. 

unit Unit5; 

interface 

uses

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

  Dialogs, StdCtrls; 

type

  TAdmin1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Admin1: TAdmin1; 

implementation 

uses Unit6, Unit7, Unit1; 

{$R *.dfm} 

procedure TAdmin1.Button1Click(Sender: TObject);

begin

NewAnkit.ShowModal;  // Переход к форме NewAnkit

end; 

procedure TAdmin1.Button2Click(Sender: TObject);

begin

KillPolsovatel.ShowModal;    // Переход к форме KillPolsovatel

end; 

procedure TAdmin1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

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

end; 

end. 

unit Unit6; 

interface 

uses

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

  Dialogs, StdCtrls, Mask, DBCtrls, DB, ADODB, Buttons, ExtCtrls; 

type

  TNewAnkit = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    DBEdit1: TDBEdit;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    DBEdit4: TDBEdit;

    ADOTable1: TADOTable;

    DataSource1: TDataSource;

    DBNavigator1: TDBNavigator;

    DBEdit5: TDBEdit;

    DBEdit6: TDBEdit;

    DBEdit7: TDBEdit;

    DBEdit8: TDBEdit;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    DBEdit9: TDBEdit;

    procedure FormActivate(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  NewAnkit: TNewAnkit; 

implementation 

{$R *.dfm} 

procedure TNewAnkit.FormActivate(Sender: TObject);

begin

DBNavigator1.BtnClick(nbinsert); //Активации формы равносильна нажатию на навигатор кнопки "добавить"

end; 

procedure TNewAnkit.BitBtn1Click(Sender: TObject);

begin

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

end; 

end. 

unit Unit7; 

interface 

uses

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

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

type

  TKillPolsovatel = class(TForm)

    DBNavigator1: TDBNavigator;

    DBGrid1: TDBGrid;

    ADOTable1: TADOTable;

    DataSource1: TDataSource;

    procedure FormActivate(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  KillPolsovatel: TKillPolsovatel; 

implementation 

{$R *.dfm} 

procedure TKillPolsovatel.FormActivate(Sender: TObject);

begin

ADOTable1.Active:=true; // включение компонента  ADOTable1

end; 

procedure TKillPolsovatel.FormClose(Sender: TObject; var Action: TCloseAction);

begin

ADOTable1.Active:=false;    // выключение компонента  ADOTable1

end; 

end. 

unit Unit8; 

interface 

uses

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

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

type

  TVremenniyCar = class(TForm)

    DBGrid1: TDBGrid;

    DataSource1: TDataSource;

    ADOTable1: TADOTable;

    DBNavigator1: TDBNavigator;

    GroupBox1: TGroupBox;

    CheckBox1: TCheckBox;

    CheckBox2: TCheckBox;

    Edit1: TEdit;

    Edit2: TEdit;

    Button1: TButton;

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

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  VremenniyCar: TVremenniyCar;

  keyFields:string;

  keyValues:Variant;

  Options:TlocateOptions;

implementation 

{$R *.dfm} 

procedure TVremenniyCar.FormCloseQuery(Sender: TObject;

  var CanClose: Boolean);

begin

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

end; 

procedure TVremenniyCar.Button1Click(Sender: TObject);

begin

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

     messagedlg ('Не заданы условия поиска!!!',mtconfirmation,[mbok],0);     //Если не поставлены галочки напротив checkbox то выдаст сообщение

     exit;

   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; 

end. 

unit Unit9; 

interface 

uses

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

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

type

  TVremenniyPeople = class(TForm)

    DBNavigator1: TDBNavigator;

    GroupBox1: TGroupBox;

    CheckBox1: TCheckBox;

    CheckBox2: TCheckBox;

    Edit1: TEdit;

    Edit2: TEdit;

    Button1: TButton;

    DBGrid1: TDBGrid;

    DataSource1: TDataSource;

    ADOTable1: TADOTable;

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

    procedure Button1Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  VremenniyPeople: TVremenniyPeople;

  keyFields:string;

  keyValues:Variant;

  Options:TlocateOptions;

implementation 

{$R *.dfm} 

procedure TVremenniyPeople.FormCloseQuery(Sender: TObject;

  var CanClose: Boolean);

begin

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

end; 

procedure TVremenniyPeople.Button1Click(Sender: TObject);

begin

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

     messagedlg ('Не заданы условия поиска!!!',mtconfirmation,[mbok],0);     //Если не поставлены галочки напротив checkbox то выдаст сообщение

     exit;

   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 TVremenniyPeople.FormActivate(Sender: TObject);

begin 

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

end; 

end. 

unit Unit10; 

interface 

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

  Buttons, ExtCtrls; 

type

  TAboutBox = class(TForm)

    Panel1: TPanel;

    ProgramIcon: TImage;

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