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

📄 usetgrade.pas

📁 Delphi学籍管理程序,以Delphi7.0为前台开发工具
💻 PAS
字号:
unit uSetGrade;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, uFrameGrade, IniFiles, uDM, ADODB, uGlobe;

type
  TdlgSetGrade = class(TForm)
    PageControl: TPageControl;
    tsElementary: TTabSheet;
    tsJunior: TTabSheet;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    FrameGrade1: TFrameGrade;
    FrameGrade2: TFrameGrade;
    procedure FormCreate(Sender: TObject);
    procedure FrameGrade2clbGradesClick(Sender: TObject);
    procedure FrameGrade1clbGradesClick(Sender: TObject);
    procedure PageControlChange(Sender: TObject);
  private
    { Private declarations }
    NowGrade1, NowGrade2: string;
    procedure SetGradeClass;
  public
    { Public declarations }
  end;

procedure SetGrade;

implementation

{$R *.dfm}

procedure SetGrade;
var
  dlgSetGrade: TdlgSetGrade;
begin
  dlgSetGrade := TdlgSetGrade.Create(nil);
  try
    LoadGradeSetFromDB;
    if dlgSetGrade.ShowModal = mrOK then begin
      Screen.Cursor := crHourGlass;
      dlgSetGrade.SetGradeClass;
      SetGradeCheck('1', dlgSetGrade.FrameGrade1.clbGrades);
      SetGradeCheck('2', dlgSetGrade.FrameGrade2.clbGrades);

      SaveGradeSetToDB;
      Screen.Cursor := crDefault;
    end;
  except
    FreeAndNil(dlgSetGrade);
  end;
end;

procedure TdlgSetGrade.FormCreate(Sender: TObject);
begin
  FrameGrade2.clbGrades.Items.Delimiter := gDelimiter;
  FrameGrade2.clbGrades.Items.DelimitedText := JuniorGrades;
  FrameGrade1.clbGrades.Items.Delimiter := gDelimiter;
  FrameGrade1.clbGrades.Items.DelimitedText := ElementaryGrades;
  GetGradeCheck('1', FrameGrade1.clbGrades);
  GetGradeCheck('2', FrameGrade2.clbGrades);

  tsElementary.TabVisible := SchoolInfo.HasElementary;
  tsJunior.TabVisible := SchoolInfo.HasJunior;


  if tsElementary.TabVisible then
    PageControl.ActivePage := tsElementary
  else if tsJunior.TabVisible then
    PageControl.ActivePage := tsJunior
  else
    PageControl.ActivePage := nil;

  FrameGrade1.lbClasses.Items.Delimiter := gDelimiter;
  FrameGrade2.lbClasses.Items.Delimiter := gDelimiter;

  NowGrade1 := '';
  NowGrade2 := '';
end;

procedure TdlgSetGrade.FrameGrade2clbGradesClick(Sender: TObject);
begin
  with FrameGrade2 do begin
    SetGradeClass;
    NowGrade2 := IntToStr(clbGrades.ItemIndex + 1);
    lbClasses.Items.DelimitedText := GetClasses('2', NowGrade2);
    SetClassesEnabled(clbGrades.Checked[clbGrades.ItemIndex]);
  end;
end;

procedure TdlgSetGrade.FrameGrade1clbGradesClick(Sender: TObject);
begin
  with FrameGrade1 do begin
    SetGradeClass;
    NowGrade1 := IntToStr(clbGrades.ItemIndex + 1);
    lbClasses.Items.DelimitedText := GetClasses('1', NowGrade1);
    lbClasses.Enabled := clbGrades.Checked[clbGrades.ItemIndex];
    SetClassesEnabled(clbGrades.Checked[clbGrades.ItemIndex]);
  end;
end;

procedure TdlgSetGrade.SetGradeClass;
begin
  if NowGrade1 <> '' then
    SetClasses('1', NowGrade1, FrameGrade1.lbClasses.Items.DelimitedText);
  if NowGrade2 <> '' then
    SetClasses('2', NowGrade2, FrameGrade2.lbClasses.Items.DelimitedText);
end;

procedure TdlgSetGrade.PageControlChange(Sender: TObject);
begin
  SetGradeClass;
end;

end.

⌨️ 快捷键说明

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