⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainformunit.pas

📁 学费管理系统,学校使用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -