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

📄 umain.~pas

📁 学生信息管理系统
💻 ~PAS
字号:
unit UMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Menus, ImgList, ActnList, ExtCtrls, jpeg, Grids,
  Calendar, XPMan, SharedResource, StdCtrls;

type
  TFMain = class(TForm)
    ADOConnection: TADOConnection;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    ImageList: TImageList;
    ActionList1: TActionList;
    A_FStudy: TAction;
    Image: TImage;
    XPManifest1: TXPManifest;
    A_FCssz: TAction;
    N16: TMenuItem;
    A_exit: TAction;
    N17: TMenuItem;
    A_bjgl: TAction;
    A_sssz: TAction;
    A_rrgl: TAction;
    A_ssfp: TAction;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    UPrint_zwb: TMenuItem;
    A_printzwb: TAction;
    A_Printcjb: TAction;
    N22: TMenuItem;
    A_kskm: TAction;
    N23: TMenuItem;
    A_czrz: TAction;
    N24: TMenuItem;
    N25: TMenuItem;
    A_Cjlr: TAction;
    A_kz: TAction;
    N26: TMenuItem;
    SharedResource1: TSharedResource;
    A_About: TAction;
    procedure A_FStudyExecute(Sender: TObject);
    procedure A_FCsszExecute(Sender: TObject);
    procedure A_exitExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure A_bjglExecute(Sender: TObject);
    procedure A_ssszExecute(Sender: TObject);
    procedure A_rrglExecute(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure A_ssfpExecute(Sender: TObject);
    procedure A_printzwbExecute(Sender: TObject);
    procedure A_PrintcjbExecute(Sender: TObject);
    procedure A_kskmExecute(Sender: TObject);
    procedure A_czrzExecute(Sender: TObject);
    procedure A_CjlrExecute(Sender: TObject);
    procedure A_kzExecute(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure EnterForm(FormClass: TFormClass; Sender: TObject; const cnumb: word);
    procedure EnterMDIForm(FormClass: TFormClass; Sender: TObject; const cnumb: word);

  end;

var
  FMain: TFMain;

implementation

uses UStudyInfo, UPublic, UCssz, ULogin, UBjxx, USssz, URrgl, USsfp,
  UPrintzwb, UPrintcjb, UKskm, Ucjlr, UCzrz, Ukzsz, UAbout, UCalc;

{$R *.dfm}

procedure TFMain.EnterForm(FormClass: TFormClass; Sender: TObject; const cnumb: word);
begin
  if g_User.profile < cnumb then
    Ask('你没有该权限,如有疑问,请联系系统管理员!','错误',MB_OK+MB_STOP)
  else with FormClass.Create(Application) do try
    Tag := TComponent(Sender).Tag;
    ShowModal;
  finally Release;
  end;
end;

procedure TFMain.EnterMDIForm(FormClass: TFormClass; Sender: TObject; const cnumb: word);
var
  i: Integer;
begin
  if g_User.profile < cnumb then   begin
    Ask('你没有该权限,如有疑问,请联系系统管理员!','错误',MB_OK+MB_STOP);
    Exit;
  end;
  for i:=0 to ComponentCount-1 do if Components[i] is FormClass then
  with TForm(Components[i]) do begin
    if BorderStyle=bsSizeable then WindowState := wsMaximized
    else WindowState := wsNormal;
    BringToFront;
    Exit;
  end;
  with FormClass.Create(Self) do Tag := TComponent(Sender).Tag;
end;

procedure TFMain.A_FStudyExecute(Sender: TObject);
begin
  EnterMDIForm(TFStudyInfo,sender,5);
end;

procedure TFMain.A_FCsszExecute(Sender: TObject);
begin
  EnterForm(TFCssz,sender,0);
end;

procedure TFMain.A_exitExecute(Sender: TObject);
begin
  close;
end;

procedure TFMain.FormCreate(Sender: TObject);
begin
  try
    ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
          +g_Sys.DataSource+';Persist Security Info=False';
    ADOConnection.Open;
  except
    N1.Enabled := False;
    N6.Enabled := False;
    Ask('无法连接服务器,请填写正确的服务器地址!','错误',MB_STOP);
    exit;
  end;
  with TADOQuery.Create(self) do try
    Connection := FMain.ADOConnection;
    SQL.Text := 'select * from STU_rrgl';
    Open;
    if not IsEmpty then with TFLogin.Create(self) do try
      ShowModal;
      if not p_result then Application.Terminate;
    finally
      free;
    end;;

  finally
    Free;
  end;

  if GetFieldVar('select count(1) from STU_sys where mc=''使用代码''')<1 then
    ExecuteSQL('insert into STU_sys(avalue,mc) values(''1'',''使用代码'')');
  g_sys.Usedm := GetFieldVar('select avalue from stu_sys where mc=''使用代码''');
  if GetFieldVar('select count(1) from STU_sys where mc=''缺考科目''')<1 then
    ExecuteSQL('insert into STU_sys(avalue,mc) values(''1'',''缺考科目'')');
  g_sys.qk := GetFieldVar('select avalue from stu_sys where mc=''缺考科目''');
  

end;

procedure TFMain.A_bjglExecute(Sender: TObject);
begin
  EnterMDIForm(TFBjxx,sender,5);
end;

procedure TFMain.A_ssszExecute(Sender: TObject);
begin
  EnterMDIForm(TFsssz,sender,5);
end;

procedure TFMain.A_rrglExecute(Sender: TObject);
begin
  EnterMDIForm(TFrrgl,sender,3);
end;

procedure TFMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Ask('真的退出吗?','提问',MB_OKCANCEL)=1 then
  Application.Terminate
  else CanClose := False;
end;

procedure TFMain.A_ssfpExecute(Sender: TObject);
begin
  EnterMDIForm(TFssfp,sender,5);
end;

procedure TFMain.A_printzwbExecute(Sender: TObject);
begin
  EnterMDIForm(TFPrintzwb,sender,5);
end;

procedure TFMain.A_PrintcjbExecute(Sender: TObject);
begin
  EnterMDIForm(TFPrintcjb,sender,5);
end;

procedure TFMain.A_kskmExecute(Sender: TObject);
begin
  EnterMDIForm(TFKskm,sender,5);
end;

procedure TFMain.A_czrzExecute(Sender: TObject);
begin
  EnterMDIForm(TFCzrz,sender,2);
end;

procedure TFMain.A_CjlrExecute(Sender: TObject);
begin
  EnterMDIForm(TFCjlr,sender,2);
end;

procedure TFMain.A_kzExecute(Sender: TObject);
begin
  EnterMDIForm(TFKzsz,sender,5);
end;

procedure TFMain.N15Click(Sender: TObject);
begin
  EnterForm(TFAbout,sender,0);
end;

procedure TFMain.N10Click(Sender: TObject);
begin
  EnterMDIForm(TFCalc,sender,0);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -