⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 punish.pas

📁 Delphi+SQL的学生信息管理系统
💻 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 + -