📄 formpersonal1.pas
字号:
datamod.ADOQuery1.execsql;
datamod.ADOQuery1.close;
datamod.qryexchange.Close;
datamod.qryexchange.Open;
if datamod.qryexchange.eof then
begin
panel4.Visible :=false;
datamod.qryexchange.Close;
end;
end;
end;
procedure Tformpersonal.DBComboBox3KeyPress(Sender: TObject;
var Key: Char);
begin
key:=upcase(key);
end;
procedure Tformpersonal.DBComboBox16DblClick(Sender: TObject);
begin
showdbgrid(3);
end;
procedure Tformpersonal.DBComboBox5Exit(Sender: TObject);
begin
if length(trim(dbcombobox5.text))>1 then
if dbcombobox5.items.indexof(trim(dbcombobox5.text))=-1 then
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
end;
procedure Tformpersonal.DBEdit1Exit(Sender: TObject);
var ary:Tadoquery;
begin
ary:=Tadoquery.Create(self);
ary.Connection :=datamod.Database1;
ary.SQL.Clear;
ary.SQL.Add ('select worknolength from pub08010');
ary.Open;
if ary.eof then
Application.messagebox('对不起,请设定工号,卡号长度,否则不能保证您的资料的正确性','Warning',mb_ok+mb_iconwarning)
else
begin
ary.First;
if trim(dbedit1.text)='' then
begin
application.messagebox('请输入工号!不输入你将不能保存!','工号不能为空',mb_ok+mb_iconwarning);
dbedit1.setfocus;
end;
if length(trim(dbedit1.text))<>ary.fieldbyname('worknolength').asinteger then
begin
application.messagebox('您输入的工号长度不正确!','提示',mb_ok+mb_iconwarning);
dbedit1.setfocus;
end;
end;
ary.Close;
end;
procedure Tformpersonal.DBEdit2Exit(Sender: TObject);
var ary:Tadoquery;
begin
ary:=Tadoquery.Create(self);
ary.Connection :=datamod.Database1;
ary.SQL.Clear;
ary.SQL.Add ('select cardnolength from pub08010');
ary.Open;
if ary.eof then
Application.messagebox('对不起,请设定工号,卡号长度,否则不能保证您的资料的正确性','Warning',mb_ok+mb_iconwarning)
else
begin
ary.First;
if trim( dbedit2.text)<>'' then
if length(trim(dbedit2.Text))<>ary.FieldByName('cardnolength').asinteger then
begin
Application.messagebox('您输入的卡号长度不正确','Warning',mb_ok+mb_iconwarning);
dbedit2.SetFocus;
end;
end;
ary.Close;
end;
procedure Tformpersonal.Image1DblClick(Sender: TObject);
begin
if op1.Execute then
begin
Image1.Picture.LoadFromFile(op1.filename);
datamod.adopersonal.edit;
Datamod.Adopersonalphoto.asstring:=op1.filename;
end;
end;
procedure Tformpersonal.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(dbgrid1,key);
end;
procedure Tformpersonal.DBComboBox6Exit(Sender: TObject);
begin
if length(trim(dbcombobox6.text))>1 then
if dbcombobox6.items.indexof(trim(dbcombobox6.text))=-1 then
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
end;
procedure Tformpersonal.DBComboBox7Exit(Sender: TObject);
begin
{ if length(trim(dbcombobox7.text))>1 then
if dbcombobox7.items.indexof(trim(dbcombobox7.text))=-1 then
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
}
end;
procedure Tformpersonal.DBComboBox9Exit(Sender: TObject);
begin
{ if length(trim(dbcombobox9.text))>1 then
if dbcombobox9.items.indexof(trim(dbcombobox9.text))=-1 then
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);}
end;
procedure Tformpersonal.DBComboBox10Exit(Sender: TObject);
begin
{ if length(trim(dbcombobox10.text))>1 then
if dbcombobox10.items.indexof(trim(dbcombobox10.text))=-1 then
begin
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
dbcombobox10.setfocus;
end;}
end;
procedure Tformpersonal.DBComboBox12Exit(Sender: TObject);
begin
{ if length(trim(dbcombobox12.text))>1 then
begin
if dbcombobox12.items.indexof(trim(dbcombobox12.text))=-1 then
begin
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
if (trim(dbcombobox12.Text)=trim(dbcombobox13.text)) or (trim(dbcombobox12.Text)=trim(dbcombobox14.text)) or(trim(dbcombobox12.Text)=trim(dbcombobox15.text)) then
begin
Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
end;}
end;
procedure Tformpersonal.DBComboBox13Exit(Sender: TObject);
begin
{ if length(trim(dbcombobox13.text))>1 then
begin
if dbcombobox13.items.indexof(trim(dbcombobox13.text))=-1 then
begin
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
if (trim(dbcombobox13.Text)=trim(dbcombobox12.text)) or (trim(dbcombobox13.Text)=trim(dbcombobox14.text)) or(trim(dbcombobox13.Text)=trim(dbcombobox15.text)) then
begin
Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
end;}
end;
procedure Tformpersonal.DBComboBox14Exit(Sender: TObject);
begin
{ if length(trim(dbcombobox14.text))>1 then
begin
if dbcombobox14.items.indexof(trim(dbcombobox14.text))=-1 then
begin
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
if (trim(dbcombobox14.Text)=trim(dbcombobox12.text)) or (trim(dbcombobox14.Text)=trim(dbcombobox13.text)) or(trim(dbcombobox14.Text)=trim(dbcombobox15.text)) then
begin
Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
end;}
end;
procedure Tformpersonal.DBComboBox15Exit(Sender: TObject);
begin
{ if length(trim(dbcombobox15.text))>1 then
begin
if dbcombobox15.items.indexof(trim(dbcombobox15.text))=-1 then
begin
Application.messagebox('对不起,您输入的值不在列表中','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
if (trim(dbcombobox15.Text)=trim(dbcombobox12.text)) or (trim(dbcombobox15.Text)=trim(dbcombobox13.text)) or(trim(dbcombobox15.Text)=trim(dbcombobox14.text)) then
begin
Application.messagebox('您选择的特长重复','Warning',mb_ok+mb_iconwarning);
dbcombobox12.setfocus;
end;
end;}
end;
procedure Tformpersonal.DateTimePicker1CloseUp(Sender: TObject);
begin
datamod.adopersonal.edit;
datamod.adopersonalbirthday.asstring:=datetostr(datetimepicker1.date); //单击datetimepicker时, dbeidt9中显示,dbedit10年龄自动显示
dbedit9.OnExit(sender);
end;
procedure Tformpersonal.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if button=nbinsert then
begin
edit1.Text :='';
end;
end;
procedure Tformpersonal.DateTimePicker2CloseUp(Sender: TObject);
begin
datamod.adopersonal.edit;
Datamod.adopersonalindate.asstring:=datetostr(datetimepicker2.date); //单击datetimepicker时, dbeidt9中显示,dbedit10年龄自动显示
end;
procedure Tformpersonal.SpeedButton7Click(Sender: TObject);
begin
formturnrule:=TFormturnrule.create(self);
formturnrule.showmodal;
formturnrule.free;
end;
procedure Tformpersonal.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0009');
end;
end;
procedure Tformpersonal.DBEdit24Exit(Sender: TObject);
var
Sli:String;
i,i1,i2,Sli1:integer;
//c:String[4];
begin
with datamod do
begin
try
if not adopersonalindate.IsNull then
begin
Sli:=adopersonal.fieldbyname('indate').asstring;
I:=Strtoint(Copy(Formatdatetime('yyyymmdd',date),7,2))-Strtoint(Copy(datetimetostr(adopersonalindate.Value),9,2));
I1:=Strtoint(Copy(Formatdatetime('yyyymmdd',date),5,2))-Strtoint(Copy(datetimetostr(adopersonalindate.Value),6,2));
I2:=Strtoint(Copy(Formatdatetime('yyyymmdd',date),1,4))-Strtoint(Copy(datetimetostr(adopersonalindate.Value),1,4));
if i<0 then
i1:=i1-1;
if i1<0 then
begin
i2:=i2-1;
i1:=i1+12;
end;
{ if Length(inttostr(i1))<2 then
Sli1:='0'+inttostr(i1)
else
Sli1:=inttostr(i1);
C:=inttostr(i2)+'.'+Sli1;
adopersonal.Edit;
adopersonal.fieldbyname('years').Value:=StrtoFloat(c); }
sli1:=i2*12+i1;
adopersonal.edit;
adopersonal.fieldbyname('years').Value:=round(sli1/12*100)/100 ;
end;
except
Application.MessageBox(PChar('['+datetimetostr(adopersonal.fieldbyname('indate').value)+']不是一个有效的日期!'),'格式错误',
mb_iconError);
end;
end;
end;
procedure Tformpersonal.Edit2Exit(Sender: TObject);
begin
if (trim(edit2.text)<>'') then
begin
if not datamod.adopersonal.locate('name',edit2.text,[]) then
if not datamod.adopersonal.locate('workno',edit2.text,[]) then
if not datamod.adopersonal.locate('cardno',edit2.text,[]) then
application.messagebox('找不到你想查找的人员','温馨提示',mb_ok+mb_iconinformation);
end;
end;
procedure Tformpersonal.wwDBLookupCombo1Exit(Sender: TObject);
var aqy:Tadoquery;
begin
if length(trim(wwDBLookupCombo1.text))<1 then exit;
aqy:=Tadoquery.create(self); //判断部门编号输入的是否正确
aqy.connection:=datamod.database1;
aqy.sql.Clear;
aqy.sql.Add('select * from pub05010 where dno='''+wwDBLookupCombo1.text+'''');
aqy.open;
if aqy.eof then
Application.messagebox('没有此部门','Warning',mb_ok+mb_iconwarning)
else
begin
datamod.adopersonal.Edit;
datamod.adopersonal.fieldbyname('dept').asstring :=aqy.fieldbyname('dept').asstring;
end;
aqy.close;
aqy.free;
end;
procedure Tformpersonal.wwDBLookupCombo1DblClick(Sender: TObject);
begin
showdbgrid(1);
end;
procedure Tformpersonal.wwDBLookupCombo1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=VK_Down then
(sender as Twwdblookupcombo).dropdown;
end;
procedure Tformpersonal.wwDBLookupCombo3DblClick(Sender: TObject);
begin
showdbgrid(8);
end;
procedure Tformpersonal.wwDBLookupCombo3Exit(Sender: TObject);
begin
if length(trim(wwDBLookupCombo3.Text))>0 then
with datamod.ADOQuery1 do //在光标离开时,判断班别正确与否
begin
close;
sql.clear;
sql.Add('select scheno from atd01010 where scheno='''+datamod.adopersonalscheno.AsString +'''');
open;
if eof then
Application.Messagebox('没有此班别','Warning',mb_ok+mb_iconerror);
close;
end;
end;
procedure Tformpersonal.wwDBLookupCombo4DblClick(Sender: TObject);
begin
showdbgrid(2);
end;
procedure Tformpersonal.wwDBLookupCombo5DblClick(Sender: TObject);
begin
showdbgrid(11);
end;
procedure Tformpersonal.wwDBLookupCombo6DblClick(Sender: TObject);
begin
showdbgrid(12);
end;
procedure Tformpersonal.wwDBLookupCombo7DblClick(Sender: TObject);
begin
showdbgrid(4);
end;
procedure Tformpersonal.DBEdit6Exit(Sender: TObject);
begin
pagecontrol1.ActivePageIndex:=1;
dbedit14.setfocus;
end;
procedure Tformpersonal.DBMemo1Exit(Sender: TObject);
begin
pagecontrol1.ActivePageIndex:=0;
wwDBLookupCombo1.setfocus;
end;
procedure Tformpersonal.DBNavigator3Click(Sender: TObject;
Button: TNavigateBtn);
begin
//if DataMod.ADOpersonal.State=dsinsert then
//begin
// datamod.ADOpersonal.DisableControls;
// datamod.adopersonal.Locate('workno',worknoo,[loCaseInsensitive]);
// datamod.ADOpersonal.EnableControls;
//end;
end;
procedure Tformpersonal.DBComboBox18Change(Sender: TObject);
begin
if (trim(datamod.adopersonalruleno.Value)<>'') then
begin
if (dbcombobox18.Text<>'轮班')then
begin
application.messagebox('该员工的员工性质必须为轮班!','提示',mb_ok+mb_iconinformation);
dbcombobox18.SetFocus;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -