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

📄 u_setnewclasses.pas

📁 一个简单的学籍管理软件
💻 PAS
字号:
unit U_SetNewClasses;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, Spin;

type
  TFm_SetNewClasses = class(TForm)
    Btn_Ok: TButton;
    Btn_Cancel: TButton;
    Bevel1: TBevel;
    Label1: TLabel;
    Label2: TLabel;
    SpEd_Classes: TSpinEdit;
    procedure Ed_ClassesKeyPress(Sender: TObject; var Key: Char);
    procedure Ed_ClassesKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
  public
  end;

function Show_SetNewClasses: Boolean;
implementation

uses Dbtables, IniFiles, U_GlobalVar, U_GlobalProc;

{$R *.DFM}

function Show_SetNewClasses: Boolean;
var
  Fm_SetNewClasses: TFm_SetNewClasses;
  DQuery: TQuery;
  i: integer;
begin
  Result := False;
  Fm_SetNewClasses := TFm_SetNewClasses.Create(Application);
  with Fm_SetNewClasses do
  try
    SpEd_Classes.Value := SI_Classes[0];
    if ShowModal = mrOk then
    begin
      with TIniFile.Create(S_SysPath + '\' + StudentIniFile) do
      try
        SI_Classes[0] := SpEd_Classes.Value;
        WriteInteger('系统参数', GradeNames[0] + '年级', SI_Classes[0]);
      finally
        Free;
      end;
      DQuery := TQuery.Create(Application);
      with DQuery do
      try
        DataBaseName := DataDBase;
        //  年级
        SQL.Text := 'UPDATE nj SET si_xsbjshu = ' + IntToStr(SI_Classes[0]) +
                    ' WHERE s_njhao = ''' + IntToStr(W_CurYear) +
                    '-' + IntToStr(W_CurYear + 1) + '''';
        ExecSQL;
        //  删除原班级
        SQL.Text := 'DELETE FROM bj WHERE s_bjhao LIKE ''' + S_SchoolCode +
                    IntToStr(W_CurYear) + '%''';
        ExecSQL;
        //  添加班级
        SQL.Text := 'INSERT INTO bj VALUES(:ps_bjhao, :ps_bjmcheng, 1, ' +
                    ''''', 0)';
        for i := 0 to SI_Classes[0] - 1 do
        begin
          ParamByName('ps_bjhao').AsString := S_SchoolCode + IntToStr(W_CurYear) +
            IntFormatStr(i + 1, 2);
          ParamByName('ps_bjmcheng').AsString := GradeNames[0] + GradeNames[i] + '班';
          Prepare;
          ExecSQL;
        end;
        Result := True;
      finally
        Free;
      end;
    end;
  finally
    Free;
  end;
end;

procedure TFm_SetNewClasses.Ed_ClassesKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9', #8]) then
  begin
    Key := #0;
    Exit;
  end;
end;

procedure TFm_SetNewClasses.Ed_ClassesKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_RETURN then
  begin
    if Shift = [] then
      SelectNext(ActiveControl, True, True)
    else if ssShift in Shift then
      SelectNext(ActiveControl, False, True);
  end;
end;

end.

⌨️ 快捷键说明

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