📄 changeschedefine.pas
字号:
for i:=0 to Listbox2.Items.Count-1 do
begin
if ansicomparetext(trim(copy(listbox2.items[i],1,10)),Edit1.text)=0 then
begin
have:=true;
p:=i;
end;
end;
if not have then
begin
Qry1.Close;
Qry1.sql.text:='Select * from per24010 where workno='''+Edit1.text+''' and leave=0 ';
Qry1.open;
if not Qry1.eof then
begin
listbox2.Items.Add(Qry1.fieldbyname('workno').asstring+' '+
Qry1.fieldbyname('name').asstring+' '+
Qry1.fieldbyname('sexname').asstring);
listbox2.ItemIndex:=Listbox2.Items.count-1;
end else
Application.MessageBox('没有该工号的员工','Error',mb_ok+mb_iconerror);
end;
listbox2.ItemIndex:=p;
edit1.Clear;
end;
label25.Caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure Tformchangeschedefine.RG1Click(Sender: TObject);
begin
if rg1.ItemIndex=0 then //全厂
begin
combobox1.enabled:=false;
listbox1.enabled:=false;
speedbutton1.enabled:=false;
speedbutton2.enabled:=false;
Listbox2.clear;
Qry1.close;
Qry1.sql.text:='Select * from per24010 where stoppay=0 and leave=0 ';
//Qry1.sql.text:='Select * from per24010 where brushcard=1 and stoppay=0 and leave=0 ';
Qry1.open;
while not Qry1.eof do
begin
listbox2.Items.Add(Qry1.fieldbyname('workno').asstring+' '+
Qry1.fieldbyname('name').asstring+' '+
Qry1.fieldbyname('sexname').asstring);
Qry1.next;
end;
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end else //部分
begin
combobox1.enabled:=true;
listbox1.enabled:=true;
speedbutton1.enabled:=true;
speedbutton2.enabled:=true;
end;
end;
procedure Tformchangeschedefine.SpeedButton1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to listbox1.items.count-1 do
begin
if listbox1.Selected[i] then
if listbox2.items.indexof(listbox1.items[i])<0 then
listbox2.Items.add(listbox1.items[i]);
end;
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure Tformchangeschedefine.SpeedButton2Click(Sender: TObject);
var i:integer;
begin
for i:=0 to listbox1.items.count-1 do
if listbox2.items.indexof(listbox1.items[i])<0 then
listbox2.items.add(listbox1.items[i]);
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure Tformchangeschedefine.SpeedButton3Click(Sender: TObject);
///2003/04/05
var i,j,k:integer;
list:TStringList;
begin
j:=0;
list:=TStringList.Create;
for i:=0 to listbox2.items.count-1 do
list.add(listbox2.items[i]);
//for i:=0 to listbox2.items.count-1 do
// begin
//j:=i;
// break;
// end;
k:=0;
for i:=0 to listbox2.items.count-1 do
if listbox2.Selected[i] then
begin
j:=i;
list.delete(j-k);
inc(k);
end;
listbox2.items.clear;
for i:=0 to list.Count-1 do
listbox2.Items.Add(list.Strings[i]);
for i:=0 to list.count-1 do
if j=list.count then
begin
//listbox2.itemindex:=j-1 ;
listbox2.selected[j-1]:=true;
end
else
begin
//listbox2.itemindex:=j;
listbox2.selected[j]:=true;
break;
end;
////////////////////////////////
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure Tformchangeschedefine.SpeedButton4Click(Sender: TObject);
begin
listbox2.clear;
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure Tformchangeschedefine.ListBox1DblClick(Sender: TObject);
begin
if listbox2.items.indexof(listbox1.items[listbox1.itemindex])<0 then
listbox2.items.add(listbox1.items[listbox1.itemindex]);
end;
procedure Tformchangeschedefine.DBEdit2Exit(Sender: TObject);
begin
if not datamod.ADOchangebc.Fieldbyname('endrq').isnull then
begin
if not isdate(dbedit2.text) then
begin
Application.messagebox('您必须输入一个正确的日期,否则您的作业将产生一想不到的结果','Warning',mb_ok+mb_iconwarning);
dbedit2.SetFocus;
exit;
end;
if dbedit2.text<dbedit1.text then
begin
showmessage('后面的日期不能小于前面的日期');
exit;
end;
end
end;
procedure Tformchangeschedefine.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//datamod.adochangebc.cancel;
end;
procedure Tformchangeschedefine.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_CONTENTS0019');
end;
end;
procedure Tformchangeschedefine.Indata(var cx:Tbcdfield;lb1:string;decrease:string);
var h,m:string; //第一个时段
begin
if length(lb1)>1 then
begin
h:=copy(lb1,1,pos('小时',lb1)-1);
m:=copy(lb1,pos('时',lb1)+2,pos('分',lb1)-pos('时',lb1)-2);
end else exit;
cx.DataSet.edit;
if length(decrease)>1 then
if strtoint(m)>=strtoint(decrease) then
cx.Value:=strtoint(h)+(strtoint(m)-strtoint(decrease))/60
else
cx.Value:=(strtoint(h)*60-strtoint(decrease)+strtoint(m))/60
else
cx.Value:=strtoint(h)+(strtoint(m)/60);
end;
procedure Tformchangeschedefine.wwDBLookupCombo1Exit(Sender: TObject);
begin
Adoquery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.Text:='select * from atd01010 ';
Adoquery1.Open;
{ if ((adoquery1.Locate('scheno',wwDBLookupCombo1.Text,[])=false)) then
begin
fillnull1;
showmessage('对不起该班次不是有效的班次');
end
else
formchangeschedefine.filldata1;}
end;
procedure Tformchangeschedefine.DBCheckBox6Click(Sender: TObject);
begin
// dbcheckbox22.Checked:=(sender as tdbcheckbox).checked;
end;
procedure Tformchangeschedefine.DBCheckBox7Click(Sender: TObject);
begin
// dbcheckbox23.Checked:=(sender as tdbcheckbox).checked;
end;
procedure Tformchangeschedefine.DBCheckBox8Click(Sender: TObject);
begin
// dbcheckbox24.Checked:=(sender as tdbcheckbox).checked;
end;
procedure Tformchangeschedefine.DBCheckBox9Click(Sender: TObject);
begin
// dbcheckbox25.Checked:=(sender as tdbcheckbox).checked;
end;
procedure Tformchangeschedefine.DBCheckBox10Click(Sender: TObject);
begin
// dbcheckbox26.Checked:=(sender as tdbcheckbox).checked;
end;
procedure Tformchangeschedefine.DBCheckBox16Click(Sender: TObject);
begin
{ if dbcheckbox16.Checked then
dbcombobox3.Enabled:=true
else
dbcombobox3.Enabled:=false;}
end;
procedure Tformchangeschedefine.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if button in [nbfirst,nbprior,nbnext,nblast] then
begin
formchangeschedefine.ListBox2.Clear;
with datamod do
begin
ADOotman.First;
while not ADOotman.eof do
begin
formchangeschedefine.ListBox2.Items.Add (ADOotman.fieldbyname('workno').asstring+copychar(' ',ADOotman.fieldbyname('workno').size-length(ADOotman.fieldbyname('workno').asstring))+' '+
ADOotman.fieldbyname('name').asstring+copychar(' ',ADOotman.fieldbyname('name').size-length(ADOotman.fieldbyname('name').asstring)));
ADOotman.next;
end;
end;
end;
end;
procedure Tformchangeschedefine.DBCheckBox15Click(Sender: TObject);
begin
if dbcheckbox15.Checked then
dbcheckbox21.Checked:=false ;
end;
procedure Tformchangeschedefine.DBCheckBox21Click(Sender: TObject);
begin
if dbcheckbox21.Checked then
dbcheckbox15.Checked:=false ;
end;
procedure Tformchangeschedefine.DBEdit50Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOotmangotime1.Value<>'') and (datamod.ADOotmanouttime1.Value<>'')) then
begin
hours:=timedec1(datamod.ADOotmangotime1.Value,datamod.ADOotmanouttime1.Value);
Indata(datamod.ADOotmanothours1,hours,dbedit50.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit57Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOotmangotime2.Value<>'') and (datamod.ADOotmanouttime2.Value<>'')) then
begin
hours:=timedec1(datamod.ADOotmangotime2.Value,datamod.ADOotmanouttime2.Value);
Indata(datamod.ADOotmanothours2,hours,dbedit57.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit64Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOotmangotime3.Value<>'') and (datamod.ADOotmanouttime3.Value<>'')) then
begin
hours:=timedec1(datamod.ADOotmangotime3.Value,datamod.ADOotmanouttime3.Value);
Indata(datamod.ADOotmanothours3,hours,dbedit64.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit71Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOotmangotime4.Value<>'') and (datamod.ADOotmanouttime4.Value<>'')) then
begin
hours:=timedec1(datamod.ADOotmangotime4.Value,datamod.ADOotmanouttime4.Value);
Indata(datamod.ADOotmanothours4,hours,dbedit71.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit78Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOotmangotime5.Value<>'') and (datamod.ADOotmanouttime5.Value<>'')) then
begin
hours:=timedec1(datamod.ADOotmangotime5.Value,datamod.ADOotmanouttime5.Value);
Indata(datamod.ADOotmanothours5,hours,dbedit79.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit10Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOchangebcgotime1.Value<>'') and (datamod.ADOchangebcouttime1.Value<>'')) then
begin
hours:=timedec(datamod.ADOchangebcgotime1.Value,datamod.ADOchangebcouttime1.Value);
Indata(datamod.ADOchangebcdaytime1,hours,dbedit10.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit14Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOchangebcgotime2.Value<>'') and (datamod.ADOchangebcouttime2.Value<>'')) then
begin
hours:=timedec(datamod.ADOchangebcgotime2.Value,datamod.ADOchangebcouttime2.Value);
Indata(datamod.ADOchangebcdaytime2,hours,dbedit14.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit15Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOchangebcgotime3.Value<>'') and (datamod.ADOchangebcouttime3.Value<>'')) then
begin
hours:=timedec(datamod.ADOchangebcgotime3.Value,datamod.ADOchangebcouttime3.Value);
Indata(datamod.ADOchangebcdaytime3,hours,dbedit15.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit16Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOchangebcgotime4.Value<>'') and (datamod.ADOchangebcouttime4.Value<>'')) then
begin
hours:=timedec(datamod.ADOchangebcgotime4.Value,datamod.ADOchangebcouttime4.Value);
Indata(datamod.ADOchangebcdaytime4,hours,dbedit16.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit20Exit(Sender: TObject);
var hours:string;
begin //第一时段
if ((datamod.ADOchangebcgotime5.Value<>'') and (datamod.ADOchangebcouttime5.Value<>'')) then
begin
hours:=timedec(datamod.ADOchangebcgotime5.Value,datamod.ADOchangebcouttime5.Value);
Indata(datamod.ADOchangebcdaytime5,hours,dbedit20.Text);
end;
end;
procedure Tformchangeschedefine.DBEdit81KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=vk_return then
begin
datamod.adoquery1.Close;
datamod.adoquery1.SQL.Clear;
datamod.adoquery1.SQL.Text:='select * from atd11010 where otid='''+dbedit81.text+'''';
datamod.adoquery1.Open;
if not datamod.adoquery1.Eof then
begin
application.MessageBox('该单号的加班单已存在,请核实!','提示',mb_ok+mb_iconwarning);
dbedit81.SetFocus;
end;
end;
end;
procedure Tformchangeschedefine.wwDBLookupCombo2Exit(Sender: TObject);
begin
Adoquery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.Text:='select * from atd01010 ';
Adoquery1.Open;
if ((trim(wwDBLookupCombo2.text)<>'') and (adoquery1.Locate('scheno',wwDBLookupCombo2.Text,[])=true)) then
filldata2;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -