📄 zhuce.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 + -