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