📄 main.~pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdActns, ActnList, ComCtrls, ToolWin, Menus, ImgList, ExtCtrls;
type
TMainFrm = class(TForm)
MainMenu1: TMainMenu;
ActionList1: TActionList;
ImageList1: TImageList;
M_Security: TMenuItem;
M_Archives: TMenuItem;
M_Windows: TMenuItem;
M_Help: TMenuItem;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
WindowCloseAll: TWindowClose;
M_Pass_Modify: TMenuItem;
M_Quit: TMenuItem;
M_Class: TMenuItem;
M_Tank: TMenuItem;
M_Separator2: TMenuItem;
M_Manage: TMenuItem;
M_Borrow: TMenuItem;
M_Rerurn: TMenuItem;
M_Win_Cascade: TMenuItem;
M_Win_Hor: TMenuItem;
M_Win_Ver: TMenuItem;
M_Win_Min: TMenuItem;
M_Win_Close: TMenuItem;
TB_Manage: TToolButton;
TB_Borrow: TToolButton;
TB_Return: TToolButton;
StatusBar1: TStatusBar;
M_Separator1: TMenuItem;
M_Login: TMenuItem;
M_Disconnect: TMenuItem;
Timer1: TTimer;
procedure WindowCloseAllExecute(Sender: TObject);
procedure WindowCloseAllUpdate(Sender: TObject);
procedure M_ClassClick(Sender: TObject);
procedure M_TankClick(Sender: TObject);
procedure M_ManageClick(Sender: TObject);
procedure M_BorrowClick(Sender: TObject);
procedure M_RerurnClick(Sender: TObject);
procedure M_HelpClick(Sender: TObject);
procedure TB_ManageClick(Sender: TObject);
procedure TB_BorrowClick(Sender: TObject);
procedure TB_ReturnClick(Sender: TObject);
procedure M_QuitClick(Sender: TObject);
procedure M_Pass_ModifyClick(Sender: TObject);
procedure M_DisconnectClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure M_LoginClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Login:boolean;
function CreateForm(CForm:TForm):boolean; //用户自定义MDIChild子窗体存在判断函数
end;
var
MainFrm: TMainFrm;
implementation
uses DataModule, Archives_Class, Archives_Tank,Archives_Manage,Archives_BReturn,Archives_AboutBox,PasswordChange,
Login;
{$R *.dfm}
function TMainFrm.CreateForm(CForm:TForm):boolean;
var
i:integer;
FormExist:boolean;
begin
FormExist:=false;
if(CForm=Nil) then //判断CFrom是否为空
begin
CreateForm:=false; //函数返回值赋false
exit; //退出本函数
end;
for i:=0 to Screen.FormCount-1 do //判断窗体是否已经建立起来
if Screen.Forms[i].ClassType=CForm.ClassType then //判断窗体存在
FormExist:=true;
if FormExist=false then //窗体没有创建,返回false;
begin
CreateForm:=false; //函数返回值赋false
exit; //退出本函数
end;
if CForm.WindowState=wsMinimized then
ShowWindow(CForm.Handle,SW_SHOWNORMAL) //显示窗体
else
ShowWindow(CForm.Handle,SW_SHOWNA); //显示窗体
if not CForm.Visible then
CForm.Visible:=true;
CForm.BringToFront; //当前窗口显示在最前面
CForm.SetFocus;
CreateForm:=true;
end;
procedure TMainFrm.WindowCloseAllExecute(Sender: TObject);
var
i:integer;
begin
for i:=0 to MDIChildCount-1 do //MDIChildCount取得当前MDI子窗口的个数
MDIChildren[i].Close; //关闭所有MDI子窗口
end;
procedure TMainFrm.WindowCloseAllUpdate(Sender: TObject);
begin
if MDICHildCount>0 then //是否有MDI子窗口创建判断
(Sender as TAction).Enabled:=true //关闭所有MDI子窗口菜单使用
else
(Sender as TAction).Enabled:=false; //关闭所有MDI子窗口菜单非使用
end;
procedure TMainFrm.M_ClassClick(Sender: TObject);
begin
if CreateForm(ClassFrm)=false then //调用判断档案分类管理窗体是否存在函数
Application.CreateForm(TClassFrm, ClassFrm); //动态创建档案分类管理窗体
DM.DS_Class.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.M_TankClick(Sender: TObject);
begin
// if CreateForm(TankFrm)=false then //调用判断档案柜资料管理窗体是否存在函数
Application.CreateForm(TTankFrm, TankFrm); //动态创建档案柜资料管理窗体
DM.DS_Class.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.M_ManageClick(Sender: TObject);
begin
// if CreateForm(ManageFrm)=false then //调用判断档案资料管理窗体是否存在函数
Application.CreateForm(TManageFrm, ManageFrm); //动态创建档案资料管理窗体
DM.DS_Manage.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.M_BorrowClick(Sender: TObject);
begin
// if CreateForm(BReturnFrm)=false then //调用判断档案借用管理窗体是否存在函数
Application.CreateForm(TBReturnFrm, BReturnFrm); //动态创建档案借用管理窗体
BReturnFrm.PageControl1.ActivePage:=BReturnFrm.PageControl1.Pages[0];
DM.DS_Borrow.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.M_RerurnClick(Sender: TObject);
begin
// if CreateForm(BReturnFrm)=false then //调用判断档案归还管理窗体是否存在函数
Application.CreateForm(TBReturnFrm, BReturnFrm); //动态创建档案归还管理窗体
BReturnFrm.PageControl1.ActivePage:=BReturnFrm.PageControl1.Pages[1];
DM.DS_Return.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.M_HelpClick(Sender: TObject);
begin
try
ABoxFrm:=TABoxFrm.Create(Application);
ABoxFrm.ShowModal;
Except
on e:exception do
Application.ShowException(e);
end;
end;
procedure TMainFrm.TB_ManageClick(Sender: TObject);
begin
// if CreateForm(ManageFrm)=false then //调用判断档案资料管理窗体是否存在函数
Application.CreateForm(TManageFrm, ManageFrm); //动态创建档案资料管理窗体
DM.DS_Manage.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.TB_BorrowClick(Sender: TObject);
begin
// if CreateForm(BReturnFrm)=false then //调用判断档案借用管理窗体是否存在函数
Application.CreateForm(TBReturnFrm, BReturnFrm); //动态创建档案借用管理窗体
BReturnFrm.PageControl1.ActivePage:=BReturnFrm.PageControl1.Pages[0];
DM.DS_Borrow.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.TB_ReturnClick(Sender: TObject);
begin
// if CreateForm(BReturnFrm)=false then //调用判断档案归还管理窗体是否存在函数
Application.CreateForm(TBReturnFrm, BReturnFrm); //动态创建档案归还管理窗体
BReturnFrm.PageControl1.ActivePage:=BReturnFrm.PageControl1.Pages[1];
DM.DS_Return.Enabled:=true; //档案资料数据源控件处于使能状态,与提交、取消按钮数据感知控件建立关联关系
end;
procedure TMainFrm.M_QuitClick(Sender: TObject);
begin
Application.Terminate; //关闭所有窗口
end;
procedure TMainFrm.M_Pass_ModifyClick(Sender: TObject);
begin
// if CreateForm(PasswordChangeFrm)=false then
Application.CreateForm(TPasswordChangeFrm, PasswordChangeFrm);
PasswordChangeFrm.Show;
end;
procedure TMainFrm.M_DisconnectClick(Sender: TObject);
var
i:integer;
begin
for i:=MDIChildCount-1 downto 0 do
begin
MainFrm.MDIChildren[i].Close;
CreateForm(nil);
end;
DM.ADOConnection1.Connected:=False;
M_Login.Enabled:=true;
M_Disconnect.Enabled:=false;
M_Class.Enabled:=false;
M_Tank.Enabled:=false;
M_Manage.Enabled:=false;
M_Borrow.Enabled:=false;
M_Rerurn.Enabled:=false;
TB_Manage.Enabled:=false;
TB_Borrow.Enabled:=false;
TB_Return.Enabled:=false;
M_Pass_Modify.Enabled:=false;
StatusBar1.Panels[1].Text:='尚未登录!请按F2登录。';
end;
procedure TMainFrm.FormCreate(Sender: TObject);
begin
//初始化
M_Login.Enabled:=true;
M_Disconnect.Enabled:=false;
M_Class.Enabled:=false;
M_Tank.Enabled:=false;
M_Manage.Enabled:=false;
M_Borrow.Enabled:=false;
M_Rerurn.Enabled:=false;
TB_Manage.Enabled:=false;
TB_Borrow.Enabled:=false;
TB_Return.Enabled:=false;
M_Pass_Modify.Enabled:=false;
StatusBar1.Panels[1].Text:='尚未登录!请按F2登录。';
end;
procedure TMainFrm.M_LoginClick(Sender: TObject);
begin
DM.ADOConnection1.Connected:=true;
DM.A_User.Active:=true;
LoginFrm.DBComboBox1.ReadOnly:=false;
LoginFrm.ShowModal;
if Login then
begin
M_Login.Enabled:=false;
M_Disconnect.Enabled:=true;
M_Class.Enabled:=true;
M_Tank.Enabled:=true;
M_Manage.Enabled:=true;
M_Borrow.Enabled:=true;
M_Rerurn.Enabled:=true;
TB_Manage.Enabled:=true;
TB_Borrow.Enabled:=true;
TB_Return.Enabled:=true;
M_Pass_Modify.Enabled:=true;
StatusBar1.Panels[1].Text:='登录用户:'+LoginFrm.User;
DM.AQ_Manage.Active:=true;
DM.A_Class.Active:=true;
DM.A_Return.Active:=true;
DM.A_Tank.Active:=true;
DM.A_Borrow.Active:=true;
DM.A_Count.Active:=true;
end;
end;
procedure TMainFrm.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[2].text:=datetostr(date);
statusbar1.Panels[3].text:=timetostr(time);//系统时间
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -