process2.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 487 行 · 第 1/2 页
PAS
487 行
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.selected[j-1]:=true;
end else
begin
listbox2.selected[j]:=true;
break;
end ;
// else
// begin
//listbox2.itemindex:=j;
//listbox2.selected[j]:=true
// end;
////////////////////////////////
label1.caption:=inttostr(listbox2.items.count);
label1.update;
end;
procedure Tformprocess2.SpeedButton4Click(Sender: TObject);
begin
listbox2.clear;
label1.caption:=inttostr(listbox2.items.count);
label1.update;
end;
procedure Tformprocess2.FormCreate(Sender: TObject);
begin
datetimepicker1.date:=now;
listbox1.items.clear;
listbox2.items.clear;
Qry1.close;
Qry1.sql.text:='Select * from pub05010 ';
Qry1.open;
combobox1.items.clear;
combobox2.items.clear;
combobox3.items.clear;
While not Qry1.eof do
begin
Combobox1.Items.add(Qry1.fieldbyname('dno').asstring+copychar(' ',Qry1.fieldbyname('dno').size-length(Qry1.fieldbyname('dno').asstring))+' '+Qry1.fieldbyname('dept').asstring);
combobox2.items.add(qry1.fieldbyname('dept').asstring);
combobox3.items.add(qry1.fieldbyname('dept').asstring);
qry1.next;
end;
Qry1.close;
Qry1.sql.text:='Select * from lab01010 ';
Qry1.open;
end;
procedure Tformprocess2.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (activecontrol=edit1) or (activecontrol=combobox1) then exit;
if key=#13 then
begin
key:=#0;
Selectnext(activecontrol,true,true);
end;
end;
procedure Tformprocess2.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
//showmessage('ok!')
//MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0042');
end;
end;
procedure Tformprocess2.DateTimePicker1CloseUp(Sender: TObject);
begin
maskedit1.text:=datetostr(datetimepicker1.date);
end;
procedure Tformprocess2.Button1Click(Sender: TObject);
var i,ygbhcd,id:integer;
hangh,c3,c2:string;
startrq,endrq:TDate;
begin
Panel1.Visible:=true;
Gauge1.MaxValue:=Listbox2.Items.Count;
Gauge1.Progress :=0;
datamod.adopublic.open;
qry1.close;
qry1.sql.clear;
qry1.sql.add('delete workno');
qry1.execsql;
ygbhcd:=datamod.adopublicworknolength.AsInteger;
For i:=0 to Listbox2.Items.Count -1 do
begin
hanGh:=Copy(Listbox2.Items[i],1,ygbhcd );
try
adoquery1.close;
adoquery1.SQL.clear;
adoquery1.sql.add('insert into workno(workno) values('''+hanGh+''')');
adoquery1.execsql;
except
end;
Gauge1.AddProgress(1);
end;
panel1.visible:=false;
datamod.adopublic.close;
formprocess2.close;
//pbar1.stepit;
end;
{
with datamod do
begin
//if
formprocess2.Hide;
Panel1.Visible:=true;
Gauge1.MaxValue:=Listbox2.Items.Count;
Gauge1.Progress :=0;
adopublic.open;
ygbhcd:=adopublicworknolength.AsInteger;
with formprocess do
begin
if application.messagebox(pchar('你确定要处理从'''+cbrq1.text+'/'+cbday1.text+'''到'''+cbrq2.text+'/'+cbday2.text+'''的考勤?'),'齐协提示',mb_yesno+mb_iconquestion)=idyes then
Button1.Enabled := False;
Button2.Enabled := True;
cbrq1.visible:=false; cbrq2.visible:=false; cbday1.visible:=false; cbday2.visible:=false; label3.visible:=false;
append(f);
try
Animate1.active:=TRUE;
startrq:=strtodate(cbrq1.text+'/'+cbday1.text);
endrq:=strtodate(cbrq2.text+'/'+cbday2.text);
pbar1.max:=trunc(endrq-startrq)+1;
pbar1.position:=0;
pbar1.step:=1;
try
writeln(f,'-------------------------------------------------------');
writeln(f,pchar(formatdatetime('yyyy/mm/dd hh:mm:ss',now)+'开始初始化考勤处理'));
while startrq<=endrq do
begin
label1.caption:='开始日期'+formatdatetime('yyyy/mm/dd',startrq)+'的考勤处理';
label1.update;
label2.caption:='开始初始化考勤处理,读打卡资料和考勤分析';
label2.update;
For i:=0 to Listbox2.Items.Count -1 do
begin
hanGh:=Copy(Listbox2.Items[i],1,ygbhcd );
try
c3:='''+hanGh+''';
Adocommand1.CommandText:='Exec kaoqinall '''+formatdatetime('yyyy/mm/dd',startrq)+''','''+hanGh+''' ';
Adocommand1.Execute;
except
writeln(f,pchar('处理'+formatdatetime('yyyy/mm/dd',startrq)+'的考勤时出错'));
end;
Gauge1.AddProgress(1);
end;
panel1.visible:=false;
adopublic.close;
pbar1.stepit;
startrq:=startrq+1;
end; //fo
//Synchronize(paint);
// end;
writeln(f,pchar(formatdatetime('yyyy/mm/dd hh:mm:ss',now)+'结束考勤处理'));
writeln(f,'-------------------------------------------------------');
except
Application.messagebox('考勤处理和薪资计算时出错.','Error',mb_ok+mb_iconerror);
exit;
end;
datamod.adoclock.close;
datamod.adosalset.close;
datamod.adoatdset.close;
finally
closefile(f);
end;
label1.caption:='考勤处理完毕';
label1.update;
// terminate;
Button1.Enabled := True;
Button2.Enabled := False;
Animate1.active:=false;
cbrq1.visible:=true; cbrq2.visible:=true; cbday1.visible:=true; cbday2.visible:=true; label3.visible:=true;
label1.caption:='开始日期:'; label1.update;
label2.caption:='起'; label2.update;
pbar1.position:=0;
end;
application.messagebox('考勤处理成功!','成功',mb_ok+mb_iconinformation);
close;
//formprocess2. }
procedure Tformprocess2.Edit3Exit(Sender: TObject);
begin
//edit7.text:=(((edit2.text).asinteger+1.5*(edit4.text).asinteger+2*(edit5.text).asinteger+3*(edit6.text).asinteger)*(edit3.text).asinteger).asstring;
edit7.text:=floattostr((strtofloat(edit2.text)+strtofloat(edit4.text)*1.5+strtofloat(edit5.text)*2+strtofloat(edit6.text)*3)*strtofloat(edit3.text));
end;
procedure Tformprocess2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
formprocess2:=nil;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?