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

📄 archive.pas

📁 学生成绩管理系统,是学习delphi程序的好源码,大家快快下载
💻 PAS
字号:
unit Archive;

interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,  Buttons, ComCtrls, ToolWin, Menus, ImgList,
  ExtCtrls, StdCtrls, DBTables, jpeg;

type
  TMainFrm = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    NSet: TMenuItem;
    N3: TMenuItem;
    NPasswd: TMenuItem;
    N7: TMenuItem;
    NClose: TMenuItem;
    N9: TMenuItem;
    NstdArc: TMenuItem;
    Nstdetail: TMenuItem;
    StatusBar1: TStatusBar;
    SbtnSet: TSpeedButton;
    Sbtninfo: TSpeedButton;
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    ToolButton1: TToolButton;
    Image1: TImage;
    N2: TMenuItem;
    N4: TMenuItem;
    Nscore: TMenuItem;
    N6: TMenuItem;
    N8: TMenuItem;
    NUserAdmin: TMenuItem;
    Nreg: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    SpeedButton1: TSpeedButton;
    ToolButton2: TToolButton;
    SpeedButton2: TSpeedButton;
    Timer1: TTimer;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    N10: TMenuItem;
    Nreglog: TMenuItem;
    N12: TMenuItem;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    SpeedButton9: TSpeedButton;
    procedure NCloseClick(Sender: TObject);
    procedure NSetClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure NUserAdminClick(Sender: TObject);
    procedure NPasswdClick(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure NstdArcClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure NregClick(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure NscoreClick(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure NreglogClick(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
  private
    { Private declarations }
//    fuID   :String;
    procedure SYSLog;
    Function regLog:boolean;
  public
    procedure addlogin;
    { Public declarations }
//  property _uID :String read fuID Write fuID;
  end;

var
  MainFrm: TMainFrm;

implementation
uses maind, //数据模块
     frmset,//设置学校
     UTIL,  //公共程序
     cLogin,//登录界面
     FUser,//用户管理
     cpasswd,// set password
     cFcalss,// class info
     cLesson,//lesson info
     uReg,//register student info
     uStatus,//change student status;
     uscore,//score input
     uabout,//aboutbox
     ubackup,
     ustore,
     csys,//register info
     UREGINFO,
      stdArc;
{$R *.dfm}

procedure TMainFrm.NCloseClick(Sender: TObject);
begin
//addlogin;
Application.Terminate;
end;

procedure TMainFrm.NSetClick(Sender: TObject);
var
 syssetFrm:TsyssetFrm;
 School,FileName:string;
 begin
 if MaindFrm.CheckPermission(UserID,'set')=False then exit;
 syssetFrm := TsyssetFrm.Create(application);
 try
   syssetFrm.ShowModal;
 finally
  syssetfrm.Free;
 end;
FileName := ExtractFilePath(Application.ExeName)+
         '\INI\set.ini';
school := INI_Load_Str2(FileName,'SET','Name','');
Caption :='学籍管理系统 || 使用单位:'+school;

end;

procedure TMainFrm.FormCreate(Sender: TObject);
begin
  IF IsCPUID_Available = FALSE THEN
  BEGIN
   SHOWMESSAGE('对不起, 此软件不适用于您的计算机!');
   CLOSE;
   EXIT;
   END;
IF RegKeyCheck('\Software\Intel soft')= FALSE THEN
begin
RegCreate('\Software\Intel soft');
end;
// SYSLog;
  Timer1.Enabled := true;
//if TEST_OpenFile(FileName) then
statusBar1.Panels.Items[3].Text := '计算机种类:'+GetCPUVendor;
end;

procedure TMainFrm.SYSLog;
begin
  if not Assigned(MainDFrm) then
   Application.CreateForm(TMainDFrm, MainDFrm);
  if not Assigned(FrmLogin) then
   Application.CreateForm(TFrmLogin, FrmLogin);

  //   FrmLogin := TFrmLogin.create(Application);
  try
   FrmLogin.ShowModal;
//   fuID := UserID;
  finally
   FrmLogin.free;
  end;
end;

procedure TMainFrm.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[1].Text :='系统时间: ' +TimetoStr(Now);
StatusBar1.Panels[2].text :='使用时间:'+TimeGetStamp(LogTime);
end;

procedure TMainFrm.FormShow(Sender: TObject);

begin
SYSLog;
RegLog;
if UserID = '' then
begin
StatusBar1.Panels[0].Text := '目前没有用户登录,无法使用本程序';
end else
StatusBar1.Panels[0].Text := '使用者:'+UserID+ '| '+UserName+
         ' 登录时间:'+ DatetoStr(Date)+' '+LogTime;
end;

procedure TMainFrm.NUserAdminClick(Sender: TObject);
var FrmUser:TFrmUser;
begin
 if MaindFrm.CheckPermission(UserID,'userada')=False then exit;
  FrmUser := TFrmUser.Create(Application);
  try
    FrmUser.ShowModal;
  finally
    FrmUser.Release;
  end;
end;

procedure TMainFrm.NPasswdClick(Sender: TObject);
var
  frmpasswd:Tfrmpasswd;
begin
 if MaindFrm.CheckPermission(UserID,'edtpass')=False then exit;
  frmpasswd := Tfrmpasswd.Create(application);
  try
   frmpasswd.ShowModal;
   finally
   frmpasswd.Free;
   end;
end;

procedure TMainFrm.N18Click(Sender: TObject);
var
 FrmClass: TFrmClass;
begin
 if MaindFrm.CheckPermission(UserID,'classada')=False then exit;
 FrmClass := TFrmClass.Create(Application);
 try
    FrmClass.ShowModal;
  finally
    FrmClass.Free;
  end;
end;

procedure TMainFrm.addlogin;
var
 QLeft:TQuery;
 Str:string;
begin
Str :=maindFrm.FeedUuser(UserID);
if  Str<> '' then
  begin
   QLeft := TQuery.Create(Application.Owner);
   try
     QLeft.DatabaseName := 'main';
    QLeft.SQL.Clear;
    QLeft.SQL.Add('insert into Loginfo (uID,uUser,LogDate,LogTime,LeftTime)');
    QLeft.SQL.Add('values(' );
    QLeft.SQL.Add(''''+UserID+''',');
    QLeft.SQL.Add(''''+Str +''',');
    QLeft.SQL.Add(''''+DatetoStr(Date)+''',');
    QLeft.Sql.Add(''''+LogTime+''',');
     Qleft.sql.Add(''''+TimetoStr(Time)+''')');
    QLeft.Close;
    QLeft.ExecSQL;
  finally
     QLeft.Free;
   end;
 end;


end;

procedure TMainFrm.N19Click(Sender: TObject);
var
 FrmLession: TFrmLession;
begin
 if MaindFrm.CheckPermission(UserID,'lessada')=False then exit;
 FrmLession := TFrmLession.Create(Application);
 try
    FrmLession.Show;
//  finally
  except
    FrmLession.Free;
  end;

end;

procedure TMainFrm.NstdArcClick(Sender: TObject);
var
 Frmbasic:TFrmbasic;
begin
 if (sender = Nstdetail) then
  tabstatus := 1
 else
  tabstatus := 0;
 if MaindFrm.CheckPermission(UserID,'stdb001')=False then exit;
 Frmbasic := TFrmbasic.Create(Application);
 try
   Frmbasic.showmodal;
 finally
   Frmbasic.Free;
 end;
end;


procedure TMainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
addlogin;
Action := caFree;
end;

procedure TMainFrm.NregClick(Sender: TObject);
var
  FrmReg: TFrmReg;
begin
if MaindFrm.CheckPermission(UserID,'reg001')=False then exit;
  FrmReg := TFrmReg.Create(Application);
  try
    FrmReg.ShowModal;
  finally
    FrmReg.Free;
  end;
end;

procedure TMainFrm.N16Click(Sender: TObject);
var
  FrmStatus: TFrmStatus;
begin
 Tabstatus:= 0;
 if MaindFrm.CheckPermission(UserID,'status001')=False then exit;
  FrmStatus:= TFrmStatus.Create(Application);
  try

    FrmStatus.ShowModal;
  finally
    FrmStatus.Free;
  end;

end;

procedure TMainFrm.N17Click(Sender: TObject);
var
  FrmStatus: TFrmStatus;
begin
   tabstatus:= 1;
 if MaindFrm.CheckPermission(UserID,'status001')=False then exit;
  FrmStatus:= TFrmStatus.Create(Application);
  try
    FrmStatus.ShowModal;
  finally
    FrmStatus.Free;
  end;

end;

procedure TMainFrm.NscoreClick(Sender: TObject);
var
  Frmscore: TFrmscore;
begin
 if MaindFrm.CheckPermission(UserID,'mark001')=False then exit;
  Frmscore := TFrmscore.Create(Application);
  try
    Frmscore.ShowModal;
  finally
    Frmscore.Free;
  end;
end;

procedure TMainFrm.N12Click(Sender: TObject);
var
  About: TAbout;
begin
  About :=TAbout.Create(Application);
  try
    About.ShowModal;
  finally
    About.Free;
  end;
end;

procedure TMainFrm.N20Click(Sender: TObject);
var
  Frmbackup: TFrmbackup;
begin
  Frmbackup := TFrmbackup.create(Application);
  try
    Frmbackup.ShowModal;
  finally
    Frmbackup.Free;
  end;
end;

procedure TMainFrm.N21Click(Sender: TObject);
var
  Frmstore: TFrmstore;
begin
  Frmstore := TFrmstore.Create(Application);
  try
    Frmstore.ShowModal;
  finally
    Frmstore.Free;
  end;
end;

procedure TMainFrm.NreglogClick(Sender: TObject);
begin
if Reglog then
  SHOWMESSAGE('已经注册成功!谢谢合作! '
  +#10#13+'若想了解更多, 请联系cosamrt@163.com!');
end;

Function TMainFrm.regLog:boolean;
var
  sysreg: Tsysreg;
  userday:Extended;
  fileName:string;
begin
FileName := ExtractFilePath(Application.ExeName)+
         '\INI\set.ini';
school := INI_Load_Str2(FileName,'SET','Name','');
Caption :='学籍成绩管理系统1.0'+' || 使用单位:'+school;
 IF RegReturnStr('\Software\Intel soft','SF_ID') <> RegNumber(GetCPUID[4]) THEN
 BEGIN
 result := False;
 caption := caption+'<未注册>' ;
     sysreg :=Tsysreg.Create(application);
     try
       sysreg.ShowModal;
     finally
       sysreg.Free;
     end;
     //看看是否过期
 userday:= DATE - RegReturnDate('\Software\Intel soft','RUN_FIRST_DATE');
 IF (UserDay > 30) OR (UserDay <  0) THEN
 begin
  SHOWMESSAGE('本软件为演示版, '+#10#13+'若要继续使用, 请联系cosmart@163.com !');
  CLOSE;
  EXIT;
  end;
 end else result := true;
end;

procedure TMainFrm.N6Click(Sender: TObject);
var
  Frmscore: TFrmscore;
begin
  Frmscore := TFrmscore.Create(Application);
  try
  frmscore.PageControl1.ActivePageIndex := 1;
  Frmscore.Caption := '成绩查询';
    Frmscore.ShowModal;
  finally
    Frmscore.Free;
  end;
end;

procedure TMainFrm.SpeedButton8Click(Sender: TObject);
begin
Application.HelpCommand(HELP_FINDER,0);
end;

end.

⌨️ 快捷键说明

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