u_dasjlr.pas

来自「人事管理程序源码」· PAS 代码 · 共 1,099 行 · 第 1/3 页

PAS
1,099
字号
procedure TForm_dasjlr.OpenDateSet(pxfs:string);
begin
  with gzda_dm.ADODataSet1 do begin
    DisableControls;
    if active then active:=false;
    commandtext:='select * from zgdab where zgxh like :qxh order by '+pxfs;
    Parameters.ParamByName('qxh').Value:=copy(cx_dw.Text,1,2)+copy(cx_bm.Text,1,2)+'%';
    open;
    first;
    enableControls;
    DisplayToScreen;
    dbgrid1.SetFocus;
    panel4.Refresh ;
  end;
end;
//==
function TForm_dasjlr.sjjy:boolean;
var
  bz:boolean;
begin
  bz:=true;
  if cx_xm.Text='' then
     begin
       showmessage('姓名不能为空!!');
       //cx_xm.SetFocus;
       bz:=false;
       sjjy:=bz;
       exit;
     end;
  if cx_xb.Text='' then
     begin
       showmessage('性别不能为空!!');
       //cx_xb.SetFocus;
       bz:=false;
       sjjy:=bz;
       exit;
     end;
  if cx_mz.Text='' then
     begin
       showmessage('民族不能为空!!');
       //cx_mz.SetFocus;
       bz:=false;
       sjjy:=bz;
       exit;
     end;
end;
//==
procedure TForm_dasjlr.SaveToDisk;
begin

  with gzda_dm.ADODataSet1 do begin
    edit;
    fieldbyname('zgxh').AsString:=cx_bh.Text;
    fieldbyname('xm').AsString:=cx_xm.Text;
    fieldbyname('cym').AsString:=cx_cym.Text;
    fieldbyname('xb').AsString:=cx_xb.Text;
    fieldbyname('mz').AsString:=cx_mz.Text;
    fieldbyname('zzmm').AsString:=cx_zzmm.Text;
    fieldbyname('sf').AsString:=cx_sf.Text;
    fieldbyname('csrq').AsString:=cx_csrq.text;
    fieldbyname('rdsj').AsString:=cx_rdsj.Text;
    fieldbyname('gzsj').AsString:=cx_gzsj.Text;
    fieldbyname('sfz').AsString:=cx_sfz.Text;
    fieldbyname('gzdw').AsString:=cx_gzdw.Text;
    fieldbyname('gw').AsString:=cx_gw.Text;
    fieldbyname('zw').AsString:=cx_zw.Text;
    fieldbyname('dyxl').AsString:=cx_dyxl.Text;
    fieldbyname('xxl').AsString:=cx_xxl.Text;
    fieldbyname('zc').AsString:=cx_zc.Text;
    fieldbyname('jkzk').AsString:=cx_jkzk.Text;
    fieldbyname('hyzk').AsString:=cx_hyzk.Text;
    fieldbyname('gzdc').AsString:=cx_gzdc.Text;
    fieldbyname('jg').AsString:=cx_jg.Text;
    fieldbyname('dacfd').AsString:=cx_dacfd.Text;
    fieldbyname('hkszd').AsString:=cx_hkszd.Text;
    fieldbyname('qt').AsString:=cx_qt.Text;
    fieldbyname('rylx').AsString:=cx_rylx.Text;
    fieldbyname('byyxjzy_dyxl').AsString:=cx_byyxjzy_dyxl.Text;
    fieldbyname('byyxjzy_xxl').AsString:=cx_byyxjzy_xxl.Text;
    fieldbyname('gzze').AsString:=cx_gzze.Text;
    FieldByName('zp').Assign(image1.Picture);
    post;
    UpdateBatch(arCurrent);
  end;
  bitbtn3.Enabled :=false;
  panel4.Refresh;
  dbgrid1.Refresh;
end;

procedure TForm_dasjlr.SaveToDisk_append;
begin
  with gzda_dm.ADODataSet1 do begin
    edit;
    fieldbyname('zgxh').AsString:=cx_bh.Text;
    fieldbyname('xm').AsString:=cx_xm.Text;
    fieldbyname('cym').AsString:=cx_cym.Text;
    fieldbyname('xb').AsString:=cx_xb.Text;
    fieldbyname('mz').AsString:=cx_mz.Text;
    fieldbyname('zzmm').AsString:=cx_zzmm.Text;
    fieldbyname('sf').AsString:=cx_sf.Text;
    fieldbyname('csrq').AsString:=cx_csrq.text;
    fieldbyname('rdsj').AsString:=cx_rdsj.Text;
    fieldbyname('gzsj').AsString:=cx_gzsj.Text;
    fieldbyname('sfz').AsString:=cx_sfz.Text;
    fieldbyname('gzdw').AsString:=cx_gzdw.Text;
    fieldbyname('gw').AsString:=cx_gw.Text;
    fieldbyname('zw').AsString:=cx_zw.Text;
    fieldbyname('dyxl').AsString:=cx_dyxl.Text;
    fieldbyname('xxl').AsString:=cx_xxl.Text;
    fieldbyname('zc').AsString:=cx_zc.Text;
    fieldbyname('jkzk').AsString:=cx_jkzk.Text;
    fieldbyname('hyzk').AsString:=cx_hyzk.Text;
    fieldbyname('gzdc').AsString:=cx_gzdc.Text;
    fieldbyname('jg').AsString:=cx_jg.Text;
    fieldbyname('dacfd').AsString:=cx_dacfd.Text;
    fieldbyname('hkszd').AsString:=cx_hkszd.Text;
    fieldbyname('qt').AsString:=cx_qt.Text;
    fieldbyname('rylx').AsString:=cx_rylx.Text;
    fieldbyname('byyxjzy_dyxl').AsString:=cx_byyxjzy_dyxl.Text;
    fieldbyname('byyxjzy_xxl').AsString:=cx_byyxjzy_xxl.Text;
    fieldbyname('gzze').AsString:=cx_gzze.Text;
    FieldByName('zp').Assign(image1.Picture);
    post;
    UpdateBatch(arCurrent);
  end;
  panel4.Refresh;
  dbgrid1.Refresh;
end;

procedure TForm_dasjlr.DisplayToScreen;
begin
  with gzda_dm.ADODataSet1 do begin
    cx_bh.Text:=fieldbyname('zgxh').AsString;
    cx_xm.Text:=fieldbyname('xm').AsString;
    cx_cym.Text:=fieldbyname('cym').AsString;
    cx_xb.Text:=fieldbyname('xb').AsString;
    cx_mz.Text:=fieldbyname('mz').AsString;
    cx_zzmm.Text:=fieldbyname('zzmm').AsString;
    cx_sf.Text:=fieldbyname('sf').AsString;
    cx_csrq.text:=fieldbyname('csrq').AsString;
    cx_rdsj.Text:=fieldbyname('rdsj').AsString;
    cx_gzsj.Text:=fieldbyname('gzsj').AsString;
    cx_sfz.Text:=fieldbyname('sfz').AsString;
    cx_gzdw.Text:=fieldbyname('gzdw').AsString;
    cx_gw.Text:=fieldbyname('gw').AsString;
    cx_zw.Text:=fieldbyname('zw').AsString;
    cx_dyxl.Text:=fieldbyname('dyxl').AsString;
    cx_xxl.Text:=fieldbyname('xxl').AsString;
    cx_zc.Text:=fieldbyname('zc').AsString;
    cx_jkzk.Text:=fieldbyname('jkzk').AsString;
    cx_hyzk.Text:=fieldbyname('hyzk').AsString;
    cx_gzdc.Text:=fieldbyname('gzdc').AsString;
    cx_jg.Text:=fieldbyname('jg').AsString;
    cx_dacfd.Text:=fieldbyname('dacfd').AsString;
    cx_hkszd.Text:=fieldbyname('hkszd').AsString;
    cx_qt.Text:=fieldbyname('qt').AsString;
    cx_rylx.Text:=fieldbyname('rylx').AsString;
    cx_byyxjzy_dyxl.Text:=fieldbyname('byyxjzy_dyxl').AsString;
    cx_byyxjzy_xxl.Text:=fieldbyname('byyxjzy_xxl').AsString;
    cx_gzze.Text:=fieldbyname('gzze').AsString;
    image1.Picture.Assign(fieldbyname('zp'));
    dbimage1.Refresh ;
  end;
  RadioButton1.Checked :=true;
  bitbtn3.Enabled :=false;
  panel4.Enabled:=false;
  panel4.Refresh;
  dbgrid1.Refresh;
end;

procedure TForm_dasjlr.DBGrid1CellClick(Column: TColumn);
begin
  DisplayToScreen;
end;

procedure TForm_dasjlr.RadioButton3Click(Sender: TObject);
var
  ls_bh,ls_bh_str:string;
begin
  cx_xg(true);  //开
  panel4.Enabled:=false;
  xm_init; //清空各字段的值
  cx_gzdw.Text:=copy(cx_dw.Text,4,length(cx_dw.Text)-3);
  cx_gw.Text:=copy(cx_bm.Text,4,length(cx_bm.Text)-3);
  czfs:=2;
  with gzda_dm.ADODataSet1 do begin
    if recordcount<>0 then
       begin
         last;
         ls_bh:=inttostr(strtoint(copy(fieldbyname('zgxh').AsString,5,4))+1);
         ls_bh_str:=copy(cx_dw.Text,1,2)+copy(cx_bm.Text,1,2)+copy('0000000',1,4-length(ls_bh))+ls_bh;
       end
    else
      ls_bh_str:=copy(cx_dw.Text,1,2)+copy(cx_bm.Text,1,2)+'0001';
    cx_bh.Text:=ls_bh_str;  
    if fieldbyname('xm').AsString<>'********' then
       begin
         Append;
         fieldbyname('xm').AsString:='********';
         fieldbyname('zgxh').AsString:=ls_bh_str;
         post;
       end;  
  end;
  panel4.Enabled:=true;
  cx_xm.SetFocus;
  bitbtn3.Enabled :=true;
end;

procedure TForm_dasjlr.DeleteNUll;
begin
  with gzda_dm.ADODataSet1 do begin
    if fieldbyname('xm').AsString='********' then
       begin
         delete;
         dbgrid1.Refresh;
       end;
  end;
end;

procedure TForm_dasjlr.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  with gzda_dm.ADODataSet1 do begin
    case key of
      37,38:
        if not bof  then
           begin
             Prior;
             DisplayToScreen;
             next;
           end;
      39,40:
        if not eof  then
           begin
             next;
             DisplayToScreen;
             Prior;
           end
    end;
  end;
end;

procedure TForm_dasjlr.RadioButton4Click(Sender: TObject);
var
  zgbh:integer;
begin
  if gzda_dm.ADODataSet1.RecordCount=0 then
     begin
       RadioButton1.Checked :=true;
       abort;
     end;
  if gzda_dm.ADODataSet1.fieldbyname('xm').AsString='********' then
     begin
       gzda_dm.ADODataSet1.delete;
       dbgrid1.Refresh;
       DisplayToscreen;
       abort;
     end;
  if Application.MessageBox('数据删除后不能再恢复,继续吗?','提示',MB_YesNO+ MB_DEFBUTTON2) <> IDYes then
     begin
       RadioButton1.Checked :=true;
       Abort;
     end;
  if Application.MessageBox('确实要删除本条记录吗!?','提示',MB_YesNO+ MB_DEFBUTTON2) <> IDYes then
     begin
       RadioButton1.Checked :=true;
       Abort;
     end;
  with gzda_dm.ADODataSet1 do begin
    zgbh:=fieldbyname('zgbh').AsInteger;
    delete;
    UpdateBatch(arALL);
    DisplayToscreen;
  end;
  dbgrid1.Refresh;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from gzjl where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from xxjl where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from zcprjl where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from gztzqk where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from jxjy where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from jfjl where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from poqk where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  with gzda_dm.ADOCommand1 do begin
    commandtext:='delete from shgx where zgbh=:bh';
    Parameters.ParamByName('bh').Value:=zgbh;
    Execute;
  end;
  RadioButton1.Checked :=true;
end;


procedure TForm_dasjlr.cx_pxfsChange(Sender: TObject);
var
  pxfs:string;
  x1,x2:integer;
begin
  if (cx_dw.Text='') or (cx_bm.Text='') then abort;
  x1:=pos('(',cx_pxfs.Text);
  x2:=pos(')',cx_pxfs.Text);
  pxfs:=copy(cx_pxfs.Text,x1+1,x2-x1-1);
  OpenDateSet(pxfs);
end;

procedure TForm_dasjlr.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  with gzda_dm.ADODataSet1 do begin
    if active then
       begin
         last;
         DeleteNUll;
         UpdateBatch(arAll);
       end;
  end;
  gzda_dm.DataModuleDestroy(self);
end;

procedure TForm_dasjlr.Image1DblClick(Sender: TObject);
var
    graphic1:TGraphic;
begin
  openpicturedialog1.execute;
  image1.picture.loadfromfile(openpicturedialog1.filename);
end;


procedure TForm_dasjlr.DBImage1DblClick(Sender: TObject);
var
    graphic1:TGraphic;
begin
  if openpicturedialog1.execute then
     begin
        image1.picture.loadfromfile(openpicturedialog1.filename);
        dbimage1.Picture.LoadFromFile(openpicturedialog1.filename);
        if RadioButton2.Checked then
           begin
              with gzda_dm.ADODataSet1 do begin
                edit;
                FieldByName('zp').Assign(image1.Picture);

⌨️ 快捷键说明

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