⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 实现门卫值班时的一些简单功能
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Buttons, ToolWin, ComCtrls, Menus, DB, DBTables;

type
  Tmgzbfrm = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N21: TMenuItem;
    ToolBar1: TToolBar;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    Panel1: TPanel;
    Database1: TDatabase;
    procedure FormCreate(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
      procedure zhibanyuan; //查询现值班员姓名
      procedure yunxing;    //运行系统时询问姓名、口令,自动填运行日志
      procedure tuichu;     //退出系统时自动填运行日志的退出时间
    { Private declarations }
  public
    { Public declarations }
  end;

var
  mgzbfrm: Tmgzbfrm;

implementation
uses
    mglr,jjcc,zhuce, bgmima, about;

{$R *.dfm}

procedure Tmgzbfrm.zhibanyuan; //查询现值班员姓名
var
  query:tquery;
  sqlstr:string;
begin              //显示当前值班员姓名
   query:=tquery.Create (self);    //创建查询
   query.DatabaseName :='cczb' ;   //数据库名
   query.sql.Clear ;
   sqlstr:='select * from 运行日志 where (当班标记='+''''+'当班'+''''+') and (职责='+''''+'门卫'+''''+')';
   query.SQL.Text :=sqlstr;
   query.Open;
   if query.RecordCount=0 then   //无人值班
      begin
         showmessage('尚无值班员登录!');
         exit;
      end
      else      //有人值班
      begin     //显示值班员姓名
         showmessage('现在是'+query.FieldByName('姓名').asstring+'值班!');
         exit;
      end;
   query.Free;     //释放查询
end;

procedure Tmgzbfrm.yunxing;  //运行系统询问姓名、口令,自动填运行日志
var
  query:tquery;
  sqlstr:string;
begin        //运行系统询问姓名、口令,自动填运行日志
   query:=tquery.Create (self);       //创建查询
   query.DatabaseName :='cczb' ;      //数据库名
   query.sql.Clear ;       //清楚sql属性
   sqlstr:='select * from 运行日志 where (当班标记='+''''+'当班'+''''+') and (职责='+''''+'门卫'+''''+')';
   query.SQL.Text :=sqlstr;
   query.Open;      //打开组件
   if query.RecordCount=1 then   //有前班
      begin                      //设置相应菜单项为可操作
         mgzbfrm.N1.Enabled:=true;
         mgzbfrm.N4.Enabled:=true;
         mgzbfrm.N5.Enabled:=true;
         mgzbfrm.N11.Enabled:=true;
         mgzbfrm.N21.Enabled:=true;
         mgzbfrm.N10.Enabled:=true;
         mgzbfrm.SpeedButton4.Enabled:=true;
         mgzbfrm.SpeedButton5.Enabled:=true;
      end
      else                     //无前班
      begin                    //设置相应菜单项为不可操作
         mgzbfrm.N1.Enabled:=false;
         mgzbfrm.N4.Enabled:=false;
         mgzbfrm.N5.Enabled:=false;
         mgzbfrm.N11.Enabled:=true;
         mgzbfrm.N21.Enabled:=true;
         mgzbfrm.N10.Enabled:=true;
         mgzbfrm.SpeedButton4.Enabled:=false;
         mgzbfrm.SpeedButton5.Enabled:=false;
      end;
   query.Free;     //释放查询
end;

procedure Tmgzbfrm.tuichu; //退出系统时自动填运行日志的退出时间
var
  query:tquery;
  sqlstr:string;
begin        //退出系统时自动填运行日志的退出时间
   query:=tquery.Create (self);
   query.DatabaseName :='cczb' ;
   sqlstr:='update 运行日志 set 退出时间=getdate(), 当班标记=NULL where (当班标记='+''''+'当班'+''''+') and (职责='+''''+'门卫'+''')';
   query.sql.Clear ;
   query.SQL.Text :=sqlstr;
   query.execSQL;    //执行sql属性
   query.Free;     //释放查询
end;

procedure Tmgzbfrm.FormCreate(Sender: TObject);
begin
  yunxing;  //运行系统时询问姓名、口令,自动填运行日志
end;

procedure Tmgzbfrm.N2Click(Sender: TObject);
begin
   jjccfrm.ShowModal ;   //紧急出车
end;

procedure Tmgzbfrm.N3Click(Sender: TObject);
begin
   mglrfrm.ShowModal ;   //正常进出
end;

procedure Tmgzbfrm.N15Click(Sender: TObject);
begin
  zhibanyuan;      //查询现值班员姓名
end;

procedure Tmgzbfrm.N12Click(Sender: TObject);
begin
  if zhucefrm=nil then
     zhucefrm:= Tzhucefrm.Create(self);
  zhucefrm.showModal ;   //接班登录
  zhucefrm:=nil;
end;

procedure Tmgzbfrm.N14Click(Sender: TObject);
begin
  if bgmimafrm=nil then
     bgmimafrm:= Tbgmimafrm.Create(self);
  bgmimafrm.ShowModal ;   //变更值班员密码
  bgmimafrm:=nil;
end;

procedure Tmgzbfrm.N21Click(Sender: TObject);
begin
  if Aboutfrm=nil then
     Aboutfrm:= TAboutfrm.Create(self);
  Aboutfrm.ShowModal ;      //关于
  Aboutfrm:=nil;
end;

procedure Tmgzbfrm.SpeedButton5Click(Sender: TObject);
begin
   jjccfrm.ShowModal ;      //紧急出车
end;

procedure Tmgzbfrm.SpeedButton4Click(Sender: TObject);
begin
   mglrfrm.ShowModal ;      //正常进出
end;

procedure Tmgzbfrm.N10Click(Sender: TObject);
begin                    //退出
  if Application.MessageBox('您确定要退出系统吗?','退出系统信息!',
      MB_OKCANCEL + MB_DEFBUTTON1) = IDOK then
      begin
         close;
      end;
end;

procedure Tmgzbfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  tuichu;   //退出系统时自动填运行日志的退出时间
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -