uterm.pas

来自「一.录入学生信息(预计有81个学生」· PAS 代码 · 共 108 行

PAS
108
字号
unit uTerm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Menus, Grids, DBGridEh, StdCtrls, Buttons, ExtCtrls;

type
  TfrmTerm = class(TForm)
    DataSource1: TDataSource;
    dsQuery: TADODataSet;
    Panel2: TPanel;
    cmdAppend: TBitBtn;
    cmdEdit: TBitBtn;
    cmdDelete: TBitBtn;
    cmdClose: TBitBtn;
    DBGridEh1: TDBGridEh;
    Function ReadyData():Boolean;

    procedure cmdCloseClick(Sender: TObject);
    procedure cmdAppendClick(Sender: TObject);
    procedure cmdEditClick(Sender: TObject);
    procedure cmdDeleteClick(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

Function ShowTerm():Boolean;

implementation

uses uDM,uTermEdit;

{$R *.dfm}

Function ShowTerm():Boolean;
var
  frmTerm: TfrmTerm;
begin
  Result:=False;
  frmTerm:=TfrmTerm.Create(nil);
  if Not frmTerm.ReadyData then
  begin
    frmTerm.Free;
    Exit;
  end;
  frmTerm.ShowModal;
  frmTerm.Free;
  Result:=True;
end;

Function TfrmTerm.ReadyData():Boolean;
var TmpSQL:String;
begin
  Result:=False;
  TmpSQL:='Select * from TTerm Order by TermCode';
  dsQuery.Close;
  dsQuery.CommandText:=TmpSQL;
  Try
    dsQuery.Open;
  Except
    ShowMessage('读取本地数据文件发生错误!');
    Exit;
  End;
  Result:=True;
end;

procedure TfrmTerm.cmdCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmTerm.cmdAppendClick(Sender: TObject);
begin
  if Not ShowTermEdit(-1) then Exit;
  ReadyData;
end;

procedure TfrmTerm.cmdEditClick(Sender: TObject);
begin
  if dsQuery.IsEmpty then Exit;
  if Not ShowTermEdit(dsQuery.fieldByName('ID').asInteger) then Exit;
  ReadyData;
end;

procedure TfrmTerm.cmdDeleteClick(Sender: TObject);
begin
  if dsQuery.IsEmpty then Exit;
  if MessageDlg('您确认删除选定的学期记录吗?',mtWarning,[mbYes,mbNo],0)=mrNo then Exit;
  Try
    dsQuery.Delete;
  Except
    ShowMessage('指定学期信息可能已经被使用,不能删除!');
    Exit;
  End;
end;

procedure TfrmTerm.DBGridEh1DblClick(Sender: TObject);
begin
  cmdEditClick(nil);
end;

end.

⌨️ 快捷键说明

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