u_gradesubjectaction.pas

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

PAS
109
字号
 unit U_GradeSubjectAction;

interface

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

type
  TFm_GradeSubjectAction = class(TForm)
    Label1: TLabel;
    Ed_Code: TEdit;
    Label2: TLabel;
    Ed_Name: TEdit;
    Btn_Ok: TButton;
    Btn_Cancel: TButton;
    Bevel1: TBevel;
    BitBtn_GetSubject: TBitBtn;
    procedure Btn_OkClick(Sender: TObject);
    procedure Ed_NameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn_GetSubjectClick(Sender: TObject);
    procedure Ed_NameKeyPress(Sender: TObject; var Key: Char);
  private
    aGrade: integer;
  public
  end;

function Show_GradeSubjectAction(var pCode: string; pGrade: integer): Boolean;

implementation

uses U_GlobalVar, U_GlobalProc, U_GetSubject;
{$R *.DFM}

function Show_GradeSubjectAction(var pCode: string; pGrade: integer): Boolean;
var
  Fm_GradeSubjectAction: TFm_GradeSubjectAction;
begin
  Result := False;
  Fm_GradeSubjectAction := TFm_GradeSubjectAction.Create(Application);
  with Fm_GradeSubjectAction do
  try
    {Ed_Code.Text := pCode;
    Ed_Name.Text := pName;}
    aGrade := pGrade;
    Caption := GradeNames[aGrade - 1] + '年级增加一门课程';
    if ShowModal = mrOk then
    begin
      pCode := Ed_Code.Text;
      Result := True;
    end;
  finally
    Free;
  end;
end;

procedure TFm_GradeSubjectAction.Btn_OkClick(Sender: TObject);
begin
  if Trim(Ed_Name.Text) = '' then
  begin
    U_GlobalProc.Show_ErrorMess('所选择的课程为空。');
    Ed_Name.Setfocus;
  end else
    ModalResult := mrOk;
end;

procedure TFm_GradeSubjectAction.Ed_NameKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_RETURN) and (Shift = []) then
    SelectNext(ActiveControl, True, True);
end;

procedure TFm_GradeSubjectAction.FormKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if (Key = VK_ESCAPE) and (Shift = []) then
    ModalResult := mrCancel;
end;

procedure TFm_GradeSubjectAction.BitBtn_GetSubjectClick(Sender: TObject);
var
  pCode, pName: string;
begin  //
  pCode := S_CurTermCode;
  if U_GetSubject.Show_GetSubject(pCode, pName, aGrade) then
  begin
    Ed_Code.Text := pCode;
    Ed_Name.Text := pName;
  end;
end;

procedure TFm_GradeSubjectAction.Ed_NameKeyPress(Sender: TObject;
  var Key: Char);
begin
  if Key = #13 then
    Key := #0;
  if not (Key in [#27, #0]) then
  begin
    BitBtn_GetSubject.Click;
    Key := #0;
  end;
end;

end.

⌨️ 快捷键说明

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