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

📄 zhuce.pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DB, DBTables;

type
  Tzhucefrm = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Query1: TQuery;
    Query2: TQuery;
    procedure FormShow(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  zhucefrm: Tzhucefrm;

implementation

uses main;

{$R *.dfm}

procedure Tzhucefrm.FormShow(Sender: TObject);
begin
   query1.Close;            //操作人员表
   query2.Close;            //运行日志表
   edit1.Text :='';         //准备接收姓名
   edit2.Text :='';         //准备接收密码
   edit1.SetFocus ;
end;

procedure Tzhucefrm.Button1Click(Sender: TObject);
var
  sqlstr1:string;
  sqlstr2:string;
begin       //确认
  if (edit1.Text<>'') and (edit2.Text<>'') then
    begin
      sqlstr1:='select * from 操作人员 where (职责='+''''+'门卫'+''''+') and (姓名='+''''+edit1.Text+''''+') and (密码='+''''+edit2.Text+''''+')';
      query1.Close;
      query1.sql.Clear ;
      query1.SQL.Text :=sqlstr1;
      query1.Open;
      if query1.RecordCount=1 then        //确有此人
         begin
            sqlstr2:='select * from 运行日志 where (当班标记='+''''+'当班'+''''+') and (职责='+''''+'门卫'+''''+')';
            query2.Close;
            query2.sql.Clear ;
            query2.SQL.Text :=sqlstr2;
            query2.Open;
            query2.Edit;
            if query2.RecordCount=1 then   //有前班
               begin
                  if query2.FieldByName('姓名').asstring = query1.FieldByName('姓名').asstring then
                     begin     //仍是本人,不必接班
                        showmessage('仍是您值班,不必交接!');
                        edit1.Text :='';
                        edit2.Text :='';
                        edit1.SetFocus ;
                        exit;
                     end
                     else
                     begin     //需要接班,先将前班结清
                        sqlstr2:='update 运行日志 set 退出时间=getdate(), 当班标记=NULL where (当班标记='+''''+'当班'+''''+') and (职责='+''''+'门卫'+''')';
                        query2.Close;
                        query2.sql.Clear ;
                        query2.SQL.Text :=sqlstr2;
                        query2.execSQL;
                     end;
                end;
             sqlstr2:='insert into 运行日志 (姓名,密码,进入时间,职责,当班标记) values (:姓名,:密码,getdate(),:职责,:当班标记)';
             query2.Close;
             query2.sql.Clear ;
             query2.SQL.Text :=sqlstr2;
             query2.paramByName('姓名').asstring := edit1.Text;
             query2.paramByName('密码').asstring := edit2.Text;
             query2.paramByName('职责').asstring := '门卫';
             query2.paramByName('当班标记').asstring := '当班';
             query2.execSQL;
            query1.Close;
            query2.Close;
            showmessage('值班员登录完毕!');
            if not mgzbfrm.N1.Enabled 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;
            close;
     end
     else             //姓名或密码不正确
     begin
        showmessage('您不能操作本系统!');
        edit1.Text :='';
        edit2.Text :='';
        edit1.SetFocus ;
        exit;
     end;
     end
     else
     begin     //姓名或口令未填全
        showmessage('请您准确填写姓名、密码!');
        edit1.Text :='';
        edit2.Text :='';
        edit1.SetFocus ;
     end;
end;

procedure Tzhucefrm.Button2Click(Sender: TObject);
begin      //取消
   query1.Close;
   query2.Close;
   close;
end;

end.

⌨️ 快捷键说明

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