📄 mainformunit.pas
字号:
unit MainformUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, WinSkinData, ComCtrls, Menus, ExtCtrls, StdCtrls, Buttons,
cxStyles, cxClasses, cxGridTableView, jpeg, frxDesgn, frxClass;
type
Tmainform = class(TForm)
MainMenu1: TMainMenu;
StatusBar1: TStatusBar;
Timer1: TTimer;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
N3: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
Image1: TImage;
N26: TMenuItem;
BitBtn8: TBitBtn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxStyle3: TcxStyle;
cxStyle4: TcxStyle;
cxStyle5: TcxStyle;
cxStyle6: TcxStyle;
cxStyle7: TcxStyle;
cxStyle8: TcxStyle;
cxStyle9: TcxStyle;
cxStyle10: TcxStyle;
cxStyle11: TcxStyle;
cxStyle12: TcxStyle;
cxStyle13: TcxStyle;
cxStyle14: TcxStyle;
GridTableViewStyleSheetDevExpress: TcxGridTableViewStyleSheet;
N22: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
N27: TMenuItem;
N30: TMenuItem;
N31: TMenuItem;
SkinData1: TSkinData;
Timer2: TTimer;
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
function SetMainMenu:boolean; //创建菜单
procedure internalClick(sender:TObject);
procedure UpdateTable;//更新数据表
public
{ Public declarations }
end;
var
mainform: Tmainform;
implementation
uses commonunit, Login, ScholarUnit, DepartmentUnit, SpecUnit,
FirstRegUnit, OldRegUnit, editRegUnit, DecreaseUnit, returndetailUnit,
inputUnit, studentinfosearchUnit, personinfosearchUnit,
personinfoeditUnit, statUnit, paydetailUnit, decreasedetailUnit,
owedetailUnit, returnUnit, peopleUnit, printUnit, printsetUnit,
classcodeUnit, DMUnit, ADODB, billcodesearchUnit, personinfodelUnit,
billcodeeditUnit;
{$R *.dfm}
procedure Tmainform.FormShow(Sender: TObject);
begin
UpdateTable;//更新数据表结构
if not SetMainMenu then exit;
statusbar1.Panels[2].Text :='登录时间:'+datetimetostr(now);
statusbar1.Panels[3].Text :='江西大宇学院';
timer1.Enabled :=true;
end;
procedure Tmainform.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[1].Text :='当前时间:'+datetimetostr(now);
end;
procedure Tmainform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if messagebox(handle,'请确认是否退出系统(是/否)','信息',MB_ICONQUESTION +mb_YesNo)=6 then
begin
timer1.Enabled :=false;
action:=cafree;
end
else
action:=canone;
end;
function Tmainform.SetMainMenu: boolean;
var
SubMenuItem:array of TMenuItem;
i,j:integer;
begin
result:=true;
if not CreateMenu(mainform.mainmenu1,Oper) then
begin
MessageBox(application.handle,pchar('无法创建菜单,请检查该操作员权限是否分配'),'错误',MB_ICONWARNING+MB_OK);
result:=false;
end
else
begin
for i :=0 to mainmenu1.Items.Count -1 do
for j :=0 to mainmenu1.Items[i].Count -1 do
begin
if mainmenu1.Items[i].items[j].Tag <>0 then
mainmenu1.Items[i].Items[j].OnClick :=internalClick;
if mainmenu1.Items[i].Items[j].name='NewSubN3' then //新生收费录入
begin
bitbtn1.Visible :=true;
bitbtn1.OnClick:=internalClick;
bitbtn1.Tag:=mainmenu1.Items[i].items[j].Tag;
end
else if mainmenu1.Items[i].Items[j].name='NewSubN26' then //老生收费录入
begin
bitbtn8.Visible :=true;
bitbtn8.OnClick:=internalClick;
bitbtn8.Tag:=mainmenu1.Items[i].items[j].Tag;
end
else if mainmenu1.Items[i].Items[j].name='NewSubN10' then //调整录入
begin
bitbtn2.Visible :=true;
bitbtn2.OnClick:=internalClick;
bitbtn2.Tag:=mainmenu1.Items[i].items[j].Tag;
end
else if mainmenu1.Items[i].Items[j].name='NewSubN11' then //减免录入
begin
bitbtn3.Visible :=true;
bitbtn3.OnClick:=internalClick;
bitbtn3.Tag:=mainmenu1.Items[i].items[j].Tag;
end
else if mainmenu1.Items[i].Items[j].name='NewSubN12' then //退费录入
begin
bitbtn4.Visible :=true;
bitbtn4.OnClick:=internalClick;
bitbtn4.Tag:=mainmenu1.Items[i].items[j].Tag;
end
else if mainmenu1.Items[i].Items[j].name='NewSubN18' then //人数统计
begin
bitbtn5.Visible :=true;
bitbtn5.OnClick:=internalClick;
bitbtn5.Tag:=mainmenu1.Items[i].items[j].Tag;
end
else if mainmenu1.Items[i].Items[j].name='NewSubN7' then //更换操作员
begin
bitbtn6.Visible :=true;
bitbtn6.OnClick:=internalClick;
bitbtn6.Tag:=mainmenu1.Items[i].items[j].Tag;
end
else if mainmenu1.Items[i].Items[j].name='NewSubN9' then //退出系统
begin
bitbtn7.Visible :=true;
bitbtn7.OnClick:=internalClick;
bitbtn7.Tag:=mainmenu1.Items[i].items[j].Tag;
end;
end;
mainform.StatusBar1.Panels[0].Text :='操作员:'+oper.name;
end;
end;
procedure Tmainform.internalClick(sender: TObject);
var
i:integer;
label exitspm;
begin
case TComponent(sender).Tag of
11: //更改操作员
begin
for i :=0 to mainform.MDIChildCount-1 do
begin
mainform.MDIChildren[i].Close;
end;
Loginform:= TLoginform.Create(mainform);
try
exitspm:
Loginform.ShowModal ;
case Loginform.ModalResult of
Mrok :
begin
skindata1.Active :=false;
if not SetMainMenu then application.Terminate
else timer2.Enabled :=true;
end;
mrcancel:
begin
if messagebox(handle,'请确认是否退出系统(是/否)','信息',MB_ICONQUESTION +mb_YesNo)=6 then
application.Terminate
else
Goto Exitspm;
end;
end;
finally
FreeAndNil(Loginform);
end;
end;
12://导入数据
begin
if assigned(InputForm) then
InputForm.BringToFront
else
begin
InputForm:= TInputForm.Create(mainform);
InputForm.Show ;
end;
end;
13:self.Close; //退出系统
21://新生收费录入
begin
if assigned(FirstRegform) then
begin
if FirstRegform.WindowState <>wsmaximized then
showwindow(FirstRegform.Handle,SW_MAXIMIZE )
else
FirstRegform.BringToFront;
exit;
end;
FirstRegform:=TFirstRegform.Create(mainform);
FirstRegform.Show ;
end;
22://调整录入
begin
if assigned(editregform) then
begin
if editregform.WindowState <>wsmaximized then
showwindow(editregform.Handle,SW_MAXIMIZE )
else
editregform.BringToFront;
exit;
end;
editregform:=Teditregform.Create(mainform);
editregform.Show ;
end;
23://减免录入
begin
if assigned(Decreaseform) then
Decreaseform.BringToFront
else
begin
Decreaseform:= TDecreaseform.Create(mainform);
Decreaseform.Show ;
end;
end;
24://退费录入
begin
if assigned(returnform) then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -