u_exammidaction.pas

来自「一个简单的学籍管理软件」· PAS 代码 · 共 123 行

PAS
123
字号
unit U_ExamMidAction;

interface

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

type
  TFm_ExamMidAction = class(TForm)
    Label1: TLabel;
    Edit_TermCode: TEdit;
    Btn_Cancel: TButton;
    Bevel1: TBevel;
    Btn_Ok: TButton;
    Label6: TLabel;
    DtEdit_Begin: TDateEdit;
    Label7: TLabel;
    DtEdit_End: TDateEdit;
    GroupBox1: TGroupBox;
    RdBtn_CurGrade: TRadioButton;
    RdBtn_AllGrade: TRadioButton;
    procedure Btn_OkClick(Sender: TObject);
    procedure Edit_TermCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    FAction: integer;
    FCurGrade: integer;
  public
  end;

function Show_ExamMidAction(pTermCode: string; var pBeginDate, pEndDate: TDateRec;
  var pRange: integer; Actions: integer): Boolean;
  
implementation

uses U_GlobalProc;

{$R *.DFM}

function Show_ExamMidAction(pTermCode: string; var pBeginDate, pEndDate: TDateRec;
  var pRange: integer; Actions: integer): Boolean;
var
  Fm_ExamMidAction: TFm_ExamMidAction;
begin
  Result := False;
  Fm_ExamMidAction := TFm_ExamMidAction.Create(Application);

  with Fm_ExamMidAction do
  try
    FAction := Actions;
    FCurGrade := pRange;
    if pRange = 0 then
      RdBtn_CurGrade.Enabled := False
    else
      RdBtn_CurGrade.Checked := True;
    case Actions of
      1: Caption := '增加期中考试';
      2: Caption := '增加期末考试';
    end;
    //  学期号
    Edit_TermCode.Text := pTermCode;
    if ShowModal = mrOk then
    begin
      //pTermCode := Edit_TermCode.Text;
      if DtEdit_Begin.Year = 0 then
        pBeginDate.pYear := 0
      else
        with pBeginDate do
          DecodeDate(DtEdit_Begin.Date, pYear, pMonth, pDay);

      if DtEdit_End.Year = 0 then
        pEndDate.pYear := 0
      else
        with pEndDate do
          DecodeDate(DtEdit_End.Date, pYear, pMonth, pDay);

      if RdBtn_AllGrade.Checked then
        pRange := 1   //  所有年级
      else
        PRange := 2;  //  当前年级
      Result := True;
    end;
  finally
    Free;
  end;
end;

procedure TFm_ExamMidAction.Btn_OkClick(Sender: TObject);
var
  tmS: string;
begin
  tmS := '真的设置';
  if RdBtn_AllGrade.Checked then
    tmS := tmS + '所有年级的'
  else
    tmS := tmS + '当前年级  ' + GradeNames[FCurGrade] + '年级  的';

  if FAction = 1 then
    tmS := tmS + '期中考试吗?'
  else
    tmS := tmS + '期末考试吗?';

  if not U_GlobalProc.Show_ConfirmMess(tmS) then
    Exit;
  ModalResult := mrOk;
end;

procedure TFm_ExamMidAction.Edit_TermCodeKeyDown(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 + =
减小字号Ctrl + -
显示快捷键?