📄 formreward.pas
字号:
unit FormReward;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, DBCtrls, ExtCtrls, StdCtrls, Mask, Grids, DBGrids;
type
TfrmReward = class(TForm)
Label1: TLabel;
Label5: TLabel;
dbgReward: TDBGrid;
btnQuit: TButton;
dbeStudentID: TDBEdit;
dbnReward: TDBNavigator;
dbeRecDate: TDBEdit;
dsReward: TDataSource;
tblReward: TTable;
dbrgReward: TDBRadioGroup;
dbmDesc: TDBMemo;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
dbtName: TDBText;
tblStudent: TTable;
dsStudent: TDataSource;
dbtSex: TDBText;
dbtBirthday: TDBText;
dbtClass: TDBText;
tblClass: TTable;
dsClass: TDataSource;
dbtMaster: TDBText;
procedure btnQuitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure tblRewardAfterScroll(DataSet: TDataSet);
procedure dbnRewardClick(Sender: TObject; Button: TNavigateBtn);
procedure tblRewardBeforeDelete(DataSet: TDataSet);
procedure tblRewardBeforePost(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
Private
procedure ToggleMode;
Public
{ Public declarations }
end;
var
frmReward: TfrmReward;
implementation
{$R *.dfm}
procedure TfrmReward.FormShow(Sender: TObject);
begin
tblReward.Active := true;
tblStudent.Active := true;
tblClass.Active := true;
ToggleMode
end;
procedure TfrmReward.btnQuitClick(Sender: TObject);
begin
Close;
end;
procedure TfrmReward.FormClose(Sender: TObject; var Action: TCloseAction);
begin
tblReward.Active := false;
tblStudent.Active := false;
tblClass.Active := false;
end;
procedure TfrmReward.tblRewardAfterScroll(DataSet: TDataSet);
begin
ToggleMode;
end;
procedure TfrmReward.dbnRewardClick(Sender: TObject; Button: TNavigateBtn);
begin
ToggleMode;
end;
procedure TfrmReward.ToggleMode;
procedure EnableInput(Enabled: Boolean);
begin
dbgReward.Enabled := not Enabled;
dbeStudentID.Enabled := Enabled;
dbeRecDate.Enabled := Enabled;
dbrgReward.Enabled := Enabled;
dbmDesc.Enabled := Enabled;
end;
begin
case tblReward.State of
dsInsert, dsEdit:
begin
EnableInput(true);
dbnReward.VisibleButtons := [nbPost, nbCancel];
dbeStudentID.SetFocus;
end;
else
EnableInput(false);
dbnReward.VisibleButtons := [nbFirst, nbPrior, nbNext, nbLast,
nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh];
end;
end;
procedure TfrmReward.tblRewardBeforeDelete(DataSet: TDataSet);
var
strMsg: string;
begin
strMsg := Format('确定要删除学生“%s”的奖励记录吗?'#13, [tblReward['StudentID']]);
strMsg := strMsg + Format(' 姓名:%s'#13, [tblStudent['Name']]);
strMsg := strMsg + Format(' 时间:%s'#13, [tblReward['RecDate']]);
strMsg := strMsg + Format(' 奖励:%s', [tblReward['Reward']]);
if MessageDlg(strMsg, mtConfirmation, [mbYes, mbNo], 0) <> mrYes then
Abort;
end;
procedure TfrmReward.tblRewardBeforePost(DataSet: TDataSet);
begin
if tblStudent.Eof then
begin
ShowMessage('学号输入错误,没有这个学生!');
dbeStudentID.SetFocus;
Abort;
end;
if dbeRecDate.Text = '' then begin
ShowMessage('请输入记录日期!');
dbeRecDate.SetFocus;
Abort;
end;
if dbrgReward.Value = '' then begin
ShowMessage('请输入奖励种类!');
dbrgReward.SetFocus;
Abort;
end;
dbmDesc.Text := Trim(dbmDesc.Text);
dbmDesc.Text := StringReplace(dbmDesc.Text, '''', '', [rfReplaceAll]);
dbmDesc.Text := StringReplace(dbmDesc.Text, ' ', '', [rfReplaceAll]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -