czry_sd.pas

来自「人事管理程序源码」· PAS 代码 · 共 246 行

PAS
246
字号
unit czry_sd;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Grids, DBGrids, Db, DBTables, Buttons, Menus,adodb;

type
  TForm_czrysd = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    rylb: TComboBox;
    BitBtn1: TBitBtn;
    Panel2: TPanel;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    Panel4: TPanel;
    Panel5: TPanel;
    Label3: TLabel;
    xs_bm: TEdit;
    Label4: TLabel;
    xs_xm: TEdit;
    Label5: TLabel;
    xs_mm: TEdit;
    xs_qx: TEdit;
    Label6: TLabel;
    Panel6: TPanel;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure rylbChange(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure rylbKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn9Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_czrysd: TForm_czrysd;
  czfs:integer;
implementation

uses U_gzda_dm, U_qxsd, U_main;



{$R *.DFM}

procedure TForm_czrysd.BitBtn1Click(Sender: TObject);
begin
  if rylb.Text='' then
     begin
       showmessage('请首先选择操作人员类别!!');
       abort;
     end;
  with gzda_dm.ADODataSet1  do begin
    if active then active:=false;
    commandtext:='select * from czrybm where (bm like :ls_czybm) order by bm';
    Parameters.ParamByName('ls_czybm').Value :=copy(rylb.Text,1,1)+'%';
    open;
    first;
  end;
  BitBtn2.enabled:=true;
  BitBtn3.enabled:=true;
  BitBtn4.enabled:=true;
  BitBtn8.enabled:=true;
  dbgrid1.refresh ;
  dbgrid1.SetFocus ;

end;

procedure TForm_czrysd.rylbChange(Sender: TObject);
begin
  BitBtn2.enabled:=false;
  BitBtn3.enabled:=false;
  BitBtn4.enabled:=false;
end;

procedure TForm_czrysd.BitBtn2Click(Sender: TObject);
var
 max_bh:string;
 n_bh:smallint;
begin
  czfs:=1;
  xs_bm.Text:='';
  xs_xm.Text:='';
  xs_mm.Text:='';
  xs_qx.Text:='';
  with gzda_dm.ADODataSet1 do
    begin
      if recordcount<>0 then
        begin
          last;
          if fieldbyname('xm').asstring='' then
           begin
             showmessage('最后一条记录的姓名为空,不能追加!!');
             abort;
           end;
           max_bh:=fieldByname('bm').asstring;
           n_bh:=strtoint(copy(max_bh,2,2))+1
        end
      else
         n_bh:=1;
      max_bh:=trim(inttostr(n_bh));
      if n_bh<10 then
         max_bh:=copy(rylb.text,1,1)+'0'+max_bh
      else
         max_bh:=copy(rylb.text,1,1)+max_bh;
      panel5.Visible:=true;
      panel5.Refresh;
      xs_bm.Text:=max_bh;
      xs_xm.SetFocus;
    end;
end;

procedure TForm_czrysd.BitBtn3Click(Sender: TObject);
begin
  if Application.MessageBox('确实要删除本条记录吗?','提示',MB_YesNO+MB_DEFBUTTON2) <> IDYes then
     Abort;
  try
   gzda_dm.ADODataSet1.DisableControls;
    try
     gzda_dm.ADODataSet1.Delete;
    except
    end;
  finally
   gzda_dm.ADODataSet1.EnableControls;
  end;
end;

procedure TForm_czrysd.BitBtn4Click(Sender: TObject);
begin
   try
   gzda_dm.ADODataSet1.DisableControls;
    try
     gzda_dm.ADODataSet1.UpdateBatch(arall) ;
      Application.messagebox('数据已成功存盘!!','信息',mb_OK);
    except
      Application.messagebox('数据存盘不成功,数据已恢复至原状态!!','信息',mb_OK);
    end;
  finally;
   gzda_dm.ADODataSet1.EnableControls;

  end;

end;

procedure TForm_czrysd.FormActivate(Sender: TObject);
begin
  if copy(form_main.main_czrybm,1,1)<>'1' then
     begin
       showmessage('你无权使用本功能!!');
       bitbtn1.Enabled:=false;
       abort;
     end;
  rylb.SetFocus ;
  
end;

procedure TForm_czrysd.rylbKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then bitbtn1.SetFocus;
end;

procedure TForm_czrysd.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  gzda_dm.OnDestroy(self);
end;

procedure TForm_czrysd.BitBtn5Click(Sender: TObject);
begin
  close;
end;

procedure TForm_czrysd.BitBtn6Click(Sender: TObject);
begin
  with gzda_dm.ADODataSet1 do begin
    if czfs=1 then
       append
    else
       edit;
    fieldByname('bm').asstring:=xs_bm.text;
    fieldByname('xm').asstring:=xs_xm.text;
    fieldByname('mm').asstring:=xs_mm.text;
    fieldByname('qx_str').asstring:=xs_qx.text;
    post;
  end;
  panel5.Visible:=false;
end;

procedure TForm_czrysd.BitBtn8Click(Sender: TObject);
begin
  czfs:=2;
  with gzda_dm.ADODataSet1 do begin
    xs_bm.Text:=fieldByname('bm').asstring;
    xs_xm.Text:=fieldByname('xm').asstring;
    xs_mm.Text:=fieldByname('mm').asstring;
    xs_qx.Text:=fieldByname('qx_str').asstring;
  end;
  panel5.Visible:=true;
  xs_xm.setfocus;
end;

procedure TForm_czrysd.BitBtn7Click(Sender: TObject);
begin
  panel5.Visible:=false;
end;

procedure TForm_czrysd.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key =#13 then
     begin
       Key := #0;
       Perform(WM_NEXTDLGCTL,0,0);
     end;
end;

procedure TForm_czrysd.BitBtn9Click(Sender: TObject);
begin
  Form_qxsd:=TForm_qxsd.create(application); //建立
  Form_qxsd.showmodal; //以有模式方式显示
  Form_qxsd.free ;    //释放窗体
end;

end.

⌨️ 快捷键说明

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