📄 main_form.pas
字号:
unit Main_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, ToolWin, ComCtrls, jpeg, Menus, ExtDlgs,
XPMenu,DB,ADODB,shellapi;
type
TMain_F = class(TForm)
StatusBar1: TStatusBar;
OpenPictureDialog1: TOpenPictureDialog;
MainMenu1: TMainMenu;
File_N: TMenuItem;
Close_N: TMenuItem;
Operator_N: TMenuItem;
ViewF_N: TMenuItem;
ViewBM_N: TMenuItem;
ViewSM_N: TMenuItem;
ViewH_N: TMenuItem;
N20: TMenuItem;
ChangBG_N: TMenuItem;
BookM_N: TMenuItem;
XSRK_N: TMenuItem;
TSZL_N: TMenuItem;
BJSK_N: TMenuItem;
N12: TMenuItem;
TSJH_N: TMenuItem;
N14: TMenuItem;
Query_N: TMenuItem;
SetM_N: TMenuItem;
ZYHGL_N: TMenuItem;
QXGL_N: TMenuItem;
Help_N: TMenuItem;
GY_N: TMenuItem;
Image1: TImage;
CoolBar1: TCoolBar;
Panel1: TPanel;
Background_SB: TSpeedButton;
Close_SB: TSpeedButton;
Panel2: TPanel;
XSRK_SB: TSpeedButton;
TSZL_SB: TSpeedButton;
TSJH_SB: TSpeedButton;
BJSK_SB: TSpeedButton;
CX_SB: TSpeedButton;
Panel3: TPanel;
ZYHGL_SB: TSpeedButton;
QXGL_SB: TSpeedButton;
BFHY_SB: TSpeedButton;
Panel4: TPanel;
About_SB: TSpeedButton;
XPMenu1: TXPMenu;
TS_Time: TTimer;
Timer1: TTimer;
N1: TMenuItem;
QTSZ_N: TMenuItem;
BFHY_N: TMenuItem;
N2: TMenuItem;
procedure FormDestroy(Sender: TObject);
procedure Background_SBClick(Sender: TObject);
procedure ViewF_NClick(Sender: TObject);
procedure ViewBM_NClick(Sender: TObject);
procedure ViewSM_NClick(Sender: TObject);
procedure ViewH_NClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure XSRK_NClick(Sender: TObject);
procedure TSZL_NClick(Sender: TObject);
procedure TSJH_NClick(Sender: TObject);
procedure CX_SBClick(Sender: TObject);
procedure BJSK_NClick(Sender: TObject);
procedure QXGL_NClick(Sender: TObject);
procedure TS_TimeTimer(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ZYHGL_NClick(Sender: TObject);
procedure QTSZ_NClick(Sender: TObject);
procedure BFHY_NClick(Sender: TObject);
procedure GY_NClick(Sender: TObject);
procedure Close_NClick(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
procedure MinWindow(var Msg: Tmessage);message WM_SYSCOMMAND;
public
{ Public declarations }
end;
var
Main_F: TMain_F;
implementation
uses Share_Unit, XSRK_Form, TSWH_Form, TSJH_Form, CX_Form, BLJSK_Form,
QXGL_Form, ZDTS_Form,IniFiles, YHZGL_Form, QTSZ_Form, BFHY_Form,
About_Form;
{$R *.dfm}
//******************************************************************************
procedure TMain_F.MinWindow(var Msg: Tmessage);
begin
if msg.WParam=SC_MINIMIZE then Application.Minimize;//self.WindowState:=wsMinimized;
inherited;
end;
//******************************************************************************
procedure TMain_F.FormCreate(Sender: TObject);
begin
ViewF_N.Checked := ViewFile;
CoolBar1.Bands[0].Visible := ViewF_N.Checked;
ViewBM_N.Checked := ViewBookMgr;
CoolBar1.Bands[1].Visible := ViewBM_N.Checked;
ViewSM_N.Checked := ViewSettingMgr;
CoolBar1.Bands[2].Visible := ViewSM_N.Checked;
ViewH_N.Checked := ViewAbout;
CoolBar1.Bands[3].Visible := ViewH_N.Checked;
StatusBar1.Panels[0].Text := '用户名:'+UserName;
if QX ='0' then
StatusBar1.Panels[1].Text := '用户描述:超级管理员'
else
if QX='1' then
StatusBar1.Panels[1].Text := '用户描述:一般管理员'
else
StatusBar1.Panels[1].Text := '用户描述:一般用户';
StatusBar1.Panels[2].Text:='日期:'+datetimetostr(date);
end;
//******************************************************************************
procedure TMain_F.FormShow(Sender: TObject);
var
myini:TIniFile;
OldCheckDay:String;
num,maxnum:integer;
begin
if QX='2' then
begin
XSRK_N.Enabled:=false; //一般用户菜单上的功能很多不能让他用
TSZL_N.Enabled:=false;
BJSK_N.Enabled:=false;
TSJH_N.Enabled:=false;
QXGL_N.Enabled:=false;
QTSZ_N.Enabled:=false;
BFHY_N.Enabled:=false;
ZYHGL_N.Enabled:=false;
BJSK_SB.Enabled:=false; //一般用户工具条上的功能很多不能让他用
TSZL_SB.Enabled:=false;
TSJH_SB.Enabled:=false;
XSRK_SB.Enabled:=false;
QXGL_SB.Enabled:=false;
ZYHGL_SB.Enabled:=false;
BFHY_SB.Enabled:=false;
exit;
end
else if QX='1' then
begin
XSRK_N.Enabled:=false; //一般管理员菜单上的有些功能不能让他用
TSZL_N.Enabled:=false;
QXGL_N.Enabled:=false;
ZYHGL_N.Enabled:=false;
TSZL_SB.Enabled:=false; //一般管理员工具条上的有些功能不能让他用
XSRK_SB.Enabled:=false;
QTSZ_N.Enabled:=false;
BFHY_N.Enabled:=false;
QXGL_SB.Enabled:=false;
ZYHGL_SB.Enabled:=false;
BFHY_SB.Enabled:=false;
end;
myini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'set.ini');
OldCheckDay:=myini.ReadString('set','OldCheckDay',''); //已经提示了几次
maxnum:=myini.ReadInteger('set','MaxCheckNum',0); //提示的最多次数
if maxnum=0 then exit;
if OldCheckDay=DateToStr(date) then
begin
num:=myini.ReadInteger('set','Checked',0);
if num<maxnum then
begin
num:=num+1;
myini.WriteInteger('set','Checked',num);
TS_Time.Enabled:=true; //主窗体显示1秒后启动自动提示功能
end;
end
else begin
myini.WriteString('set','OldCheckDay',DateToStr(date));
myini.WriteInteger('set','Checked',1);
TS_Time.Enabled:=true;
end;
end;
//******************************************************************************
procedure TMain_F.FormDestroy(Sender: TObject);
begin
connect.Connected:=false;
Application.Terminate;
end;
//******************************************************************************
procedure TMain_F.TS_TimeTimer(Sender: TObject);
var
JYXX_Q:TADOQuery;
begin
TS_Time.Enabled:=false;
JYXX_Q:=TADOQuery.Create(nil);
JYXX_Q.Connection:=Connect;
JYXX_Q.SQL.Add('Select * From 借阅信息 Where 到期日期<:现在日期 and 还书日期 is null');
JYXX_Q.Parameters.ParamByName('现在日期').Value:=date;
JYXX_Q.Open;
if JYXX_Q.RecordCount=0 then exit;
with TZDTS_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
JYXX_Q.Close;
FreeAndNil(JYXX_Q);
end;
//******************************************************************************
procedure TMain_F.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[3].Text:='时间:'+timetostr(time);
end;
//******************************************************************************
procedure TMain_F.Background_SBClick(Sender: TObject);
var
C_Path:string;
begin
C_Path:=GetCurrentDir;
if OpenPictureDialog1.Execute then
if Length(OpenPictureDialog1.FileName)>0 then
begin
Image1.Picture:=nil;
Image1.Hide;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Refresh;
Image1.Show;
SetCurrentDir(C_Path);
end;
end;
//******************************************************************************
procedure TMain_F.ViewF_NClick(Sender: TObject);
begin
ViewF_N.Checked := not ViewF_N.Checked;
ViewFile := ViewF_N.Checked;
CoolBar1.Bands[0].Visible := ViewF_N.Checked;
CoolBar1.Visible :=(ViewFile)or(ViewSettingMgr)
or(ViewBookMgr)or(ViewAbout);
end;
//******************************************************************************
procedure TMain_F.ViewBM_NClick(Sender: TObject);
begin
ViewBM_N.Checked := not ViewBM_N.Checked;
ViewBookMgr := ViewBM_N.Checked;
CoolBar1.Bands[1].Visible := ViewBM_N.Checked;
CoolBar1.Visible :=(ViewFile)or(ViewSettingMgr)
or(ViewBookMgr)or(ViewAbout);
end;
//******************************************************************************
procedure TMain_F.ViewSM_NClick(Sender: TObject);
begin
ViewSM_N.Checked := not ViewSM_N.Checked;
ViewSettingMgr := ViewSM_N.Checked;
CoolBar1.Bands[2].Visible := ViewSM_N.Checked;
CoolBar1.Visible :=(ViewFile)or(ViewSettingMgr)
or(ViewBookMgr)or(ViewAbout);
end;
//******************************************************************************
procedure TMain_F.ViewH_NClick(Sender: TObject);
begin
ViewH_N.Checked := not ViewH_N.Checked;
ViewAbout := ViewH_N.Checked;
CoolBar1.Bands[3].Visible :=ViewH_N.Checked;
CoolBar1.Visible :=(ViewFile)or(ViewSettingMgr)
or(ViewBookMgr)or(ViewAbout);
end;
//******************************************************************************
procedure TMain_F.XSRK_NClick(Sender: TObject);
begin
with TXSRK_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.TSZL_NClick(Sender: TObject);
begin
with TTSWH_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.TSJH_NClick(Sender: TObject);
begin
with TTSJH_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.CX_SBClick(Sender: TObject);
begin
with TCX_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.BJSK_NClick(Sender: TObject);
begin
with TBLJSK_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.QXGL_NClick(Sender: TObject);
begin
with TQXGL_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.ZYHGL_NClick(Sender: TObject);
begin
with TYHZGL_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.QTSZ_NClick(Sender: TObject);
begin
with TQTSZ_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.BFHY_NClick(Sender: TObject);
begin
with TBFHY_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.GY_NClick(Sender: TObject);
begin
with TAbout_F.Create(nil) do
try
ShowModal;
finally
free;
end;
end;
//******************************************************************************
procedure TMain_F.Close_NClick(Sender: TObject);
begin
close;
end;
//******************************************************************************
procedure TMain_F.N2Click(Sender: TObject);
begin
shellexecute(handle,nil,Pchar('.\Clock.exe'),nil,nil,sw_shownormal);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -