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 + -
显示快捷键?