📄 punish.pas
字号:
unit punish;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, ExtCtrls, Grids, DBGrids, Mask, DB, DBTables;
type
Tfrmpunish = class(TForm)
DBGrid1: TDBGrid;
Panel1: TPanel;
DBNpunish: TDBNavigator;
DBRGpunish: TDBRadioGroup;
DBMdesc: TDBMemo;
GroupBox1: TGroupBox;
tblpunish: TTable;
tblstudent: TTable;
tblclass: TTable;
dspunish: TDataSource;
dsstudent: TDataSource;
dsclass: TDataSource;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
dbepid: TDBEdit;
DBEstudentID: TDBEdit;
DBErecdate: TDBEdit;
Button1: TButton;
DBTname: TDBText;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBTsex: TDBText;
DBTbirthday: TDBText;
DBTclass: TDBText;
DBTmaster: TDBText;
Query1: TQuery;
procedure FormCreate(Sender: TObject);
procedure tblpunishAfterScroll(DataSet: TDataSet);
procedure DBNpunishClick(Sender: TObject; Button: TNavigateBtn);
procedure dbepidKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure tblpunishBeforeDelete(DataSet: TDataSet);
private
procedure ToggleMode;
{ Private declarations }
public
{ Public declarations }
end;
var
frmpunish: Tfrmpunish;
implementation
{$R *.dfm}
procedure Tfrmpunish.FormCreate(Sender: TObject);
begin
tblpunish.Active:=true;
if not tblpunish.Eof then
begin
tblstudent.Active:=true;
tblclass.Active:=true;
end;
end;
procedure Tfrmpunish.ToggleMode;
procedure enableInput(enabled:boolean);
begin
dbePID.Enabled:=enabled;
dbestudentID.Enabled:=enabled;
dberecdate.Enabled:=enabled;
dbrgpunish.Enabled:=enabled;
dbmDesc.Enabled:=enabled;
end;
begin
case tblpunish.State of
dsinsert,dsedit:
begin
enableInput(true);
dbnpunish.VisibleButtons:=[nbpost,nbcancel];
dbePid.SetFocus;
dberecdate.Text:=datetostr(date);
end;
else
begin
enableInput(false);
dbnpunish.VisibleButtons:=[nbfirst,nbprior,nbnext,nblast,nbinsert,nbdelete,nbedit,nbpost,nbcancel,nbrefresh];
end;
end;
end;
procedure Tfrmpunish.tblpunishAfterScroll(DataSet: TDataSet);
begin
ToggleMode;
end;
procedure Tfrmpunish.DBNpunishClick(Sender: TObject; Button: TNavigateBtn);
begin
ToggleMode;
end;
procedure Tfrmpunish.dbepidKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
begin
Query1.Close;
Query1.SQL.Clear;
query1.SQL.Add('select * from punish where Pid=:str');
query1.ParamByName('str').AsString:=dbePid.Text;
Query1.open;
if not Query1.Eof then
begin
showmessage('记录号已经存在,请从新输入!');
dbePID.SetFocus;
end
else
begin
dbestudentid.SetFocus;
end;
end;
end;
procedure Tfrmpunish.tblpunishBeforeDelete(DataSet: TDataSet);
var str:string;
begin
str:='确定要删除此条记录吗?';
if messageDlg(str,mtconfirmation,[mbyes,mbno],0)<>mryes then
abort;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -