📄 mainunit.pas
字号:
//误餐费是否发放
if kqday.Rg3.ItemIndex=1 then
begin
fieldbyname('Fg_wc_d').asfloat:=0;
fieldbyname('Fg_wc').asfloat:=0;
end;
//应发额
fieldbyname('yf').asfloat:=0;
fieldbyname('yf').asfloat:=
fieldbyname('jb_js').asfloat+fieldbyname('jb_jj').asfloat+fieldbyname('jb_jc').asfloat
+fieldbyname('jb_nt').asfloat+fieldbyname('jb_bj').asfloat
+fieldbyname('jb_gs').asfloat+fieldbyname('jb_hc').asfloat
+fieldbyname('jb_by').asfloat+fieldbyname('jb_qt').asfloat
//2002-04-05
+fieldbyname('jl_jj').asfloat+fieldbyname('jl_ce').asfloat
+fieldbyname('jl_qt').asfloat
+fieldbyname('jt_xj').asfloat
+fieldbyname('jt_gt').asfloat+fieldbyname('jt_zr').asfloat
+fieldbyname('jt_yb').asfloat+fieldbyname('jt_jg').asfloat
+fieldbyname('jt_st').asfloat+fieldbyname('zjng').asfloat //2003-03-20
+fieldbyname('jt_jh').asfloat+fieldbyname('jt_gat').asfloat
+fieldbyname('jt_7x').asfloat+fieldbyname('jt_ly').asfloat
+fieldbyname('jt_lc').asfloat+fieldbyname('jt_lj').asfloat
+fieldbyname('jt_b9').asfloat+fieldbyname('jt_hz').asfloat
+fieldbyname('jt_ft').asfloat+fieldbyname('jt_qt').asfloat
+fieldbyname('qt_jb').asfloat+fieldbyname('qt_qt').asfloat
+fieldbyname('fg_wc').asfloat+fieldbyname('fg_bj').asfloat
+fieldbyname('zjbzqt').asfloat;
//税金
{ shj:=fieldbyname('yf').asfloat
-fieldbyname('kk_yl').asfloat-fieldbyname('kk_gj').asfloat
-fieldbyname('kk_qt1').asfloat-fieldbyname('kk_qt2').asfloat
-fieldbyname('fg_wc').asfloat-fieldbyname('fg_bj').asfloat-880;
fieldbyname('sjhj').asfloat:=0;
if (shj<=500) and (shj>0) then
begin
fieldbyname('sjhj').asfloat:=round(shj*0.05*100)/100;
end;
if shj>500 then
begin
fieldbyname('sjhj').asfloat:=round(((shj*0.1)-25)*100)/100;
end;}
if fieldbyname('zjqt5').asfloat=0 then
begin
fieldbyname('zjsjhj').asfloat:=0;
end;
//实发额
//2001-10-25改动 先不计算税金,税金不包含在实发额中。
fieldbyname('sfe').asfloat:=0;
fieldbyname('sfe').asfloat:=fieldbyname('yf').asfloat
-fieldbyname('kk_yl').asfloat-fieldbyname('kk_gj').asfloat
-fieldbyname('kk_qt1').asfloat-fieldbyname('kk_qt2').asfloat
-fieldbyname('zjqt4').asfloat-fieldbyname('zjqt3').asfloat;
// data.query5.fieldbyname('zjqt3').asfloat:=0;
//考虑奖金受否随工资一起发放
case kqday.Rg4.ItemIndex of
1:
begin
fieldbyname('sfe').asfloat:=0;
fieldbyname('sfe').asfloat:=fieldbyname('yf').asfloat
-fieldbyname('kk_yl').asfloat-fieldbyname('kk_gj').asfloat
-fieldbyname('kk_qt1').asfloat-fieldbyname('kk_qt2').asfloat
-fieldbyname('zjqt3').asfloat-fieldbyname('zjqt4').asfloat
-fieldbyname('jl_jj').asfloat;
fieldbyname('yf').asfloat:=fieldbyname('yf').asfloat-fieldbyname('jl_jj').asfloat;
end;
end;
//统筹内合计
fieldbyname('tchj').asfloat:=0;
fieldbyname('tchj').asfloat:=fieldbyname('yf').asfloat
-fieldbyname('fg_wc').asfloat-fieldbyname('fg_bj').asfloat;
//处理停薪日期
if GW+JN=0 then
begin
fieldbyname('Fg_wc_d').asfloat:=0;
FieldByName('jb_js_d').asfloat:=0;
end;
//2001-10-25增加单独计算税金
post;
next;
inc(rec);
mainform.Caption:='龙矿集团工资系统2003 '+floattostr(round((Rec*100)/(RecordCount)))+'%'+'姓名'+fieldbyname('name').asstring+'正在计算....请稍候!!!';
end;
finally
EnableControls;
Close;
screen.cursor:=crdefault;
datat.table4.EnableControls;
datat.Table4.Close;
esptime:='耗时:'+timetostr(strtotime(esptime)-strtotime(timetostr(now)));
application.messagebox(PChar(esptime),'消息框',mb_ok+mb_iconinformation);
mainform.Caption:='龙矿集团工资系统2003';
end;
end;
if datat.Table1.Active then
datat.Table1.Close;
if datat.Table2.Active then
datat.Table2.Close;
if datat.Table4.Active then
datat.Table4.Close;
if datat.Table5.Active then
datat.Table5.Close;
data.Query1.EnableControls;
kqday.Release;
end;
end;
procedure TMainForm.N68Click(Sender: TObject);
begin
try
Application.CreateForm(TDateTZh,DateTZh);
DateTZh.ShowModal;
DateTZh.hide;
DateTZh.Release;
except
Application.MessageBox('数据发生错误!!!请运行<维护>---><数据清理>菜单项!!!','提示框',mb_ok+mb_iconstop);
abort;
end;
end;
procedure TMainForm.N72Click(Sender: TObject);
var s:string;
begin
s:=inputbox('核对','输入口令','');
if s<>'1234567890' then
application.MessageBox('口令错误','警告',mb_ok+mb_iconstop)
else
begin
Application.CreateForm(Tcshform,cshform);
cshform.showmodal;
cshform.hide;
cshform.Release;
end;
end;
procedure TMainForm.N74Click(Sender: TObject);
begin
Application.CreateForm(Tsjlbform,sjlbform);
sjlbform.ShowModal;
sjlbform.hide;
sjlbform.Release;
end;
procedure TMainForm.N76Click(Sender: TObject);
begin
try
//if DwBmForm=nil then
Application.CreateForm(TDwBmForm,DwBmForm);
DwbmForm.ShowModal;
dwbmform.Release;
except
Application.MessageBox('数据发生错误!!!请运行<维护>---><数据清理>菜单项!!!','提示框',mb_ok+mb_iconstop);
abort;
end;
end;
procedure TMainForm.N78Click(Sender: TObject);
begin
passd:=1;
password.ShowModal;
end;
procedure TMainForm.N107Click(Sender: TObject);
begin
Application.CreateForm(Tbackup,backup);
backup.ShowModal;
backup.Hide;
backup.Release;
end;
procedure TMainForm.N111Click(Sender: TObject);
begin
try
Application.CreateForm(Twh,wh);
WH.SHOWMODAL;
wh.Hide;
wh.Release;
except
Application.MessageBox('数据发生错误!!!请运行<维护>---><数据清理>菜单项!!!','提示框',mb_ok+mb_iconstop);
abort;
end;
end;
procedure TMainForm.N82Click(Sender: TObject);
begin
Application.CreateForm(Txgklform,xgklform);
xgklform.ShowModal;
xgklform.Hide;
xgklform.Release;
end;
procedure TMainForm.N83Click(Sender: TObject);
begin
try
Application.CreateForm(TZjYhForm,ZjYhForm);
ZjYhForm.ShowModal;
zjyhform.Hide;
zjyhform.Release;
except
Application.MessageBox('数据发生错误!!!请运行<维护>---><数据清理>菜单项!!!','提示框',mb_ok+mb_iconstop);
abort;
end;
end;
procedure TMainForm.N84Click(Sender: TObject);
begin
try
// if delUserForm=nil then
Application.CreateForm(TDelUserForm,DelUserForm);
DelUserForm.ShowModal;
DelUserForm.Release;
DelUserForm.Release;
except
Application.MessageBox('数据发生错误!!!请运行<维护>---><数据清理>菜单项!!!','提示框',mb_ok+mb_iconstop);
abort;
end;
end;
procedure TMainForm.N89Click(Sender: TObject);
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
FileName : String;
Directory : String;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
FileName := paramstr(0);
with MySLink do begin
// SetArguments('C:\AUTOEXEC.BAT');
SetPath(pchar(FileName)); // 1999.4.9, as bug before!
SetHotkey(vk_F11);
// SetHotKey(512+1024+word('R'));// Ctrl+Alt+R SetPath(PChar(FileName));
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create(
'Software\MicroSoft\Windows\CurrentVersion\Explorer');
case (sender as TComponent).tag of
// 在桌面上生成快捷图标
0:Directory := MyReg.ReadString('Shell Folders','Desktop','');
// 在Start Menu中加入相应的ShortCut
1:Directory := MyReg.ReadString('Shell Folders','Start Menu','');
// 在'发送到'中加入相应的ShortCut
2:Directory := MyReg.ReadString('Shell Folders','SendTo','');
end;
WFileName := Directory+'\龙矿集团工资系统 2001.lnk';
MyPFile.Save(PWChar(WFileName),False);
MyReg.free;
application.messagebox('成功的创建!!!','消息框',mb_ok+mb_iconinformation);
end;
procedure TMainForm.N20003Click(Sender: TObject);
var x:Cardinal;
begin
application.messagebox('请将短日期、长日期样式均修改为 yyyy-MM-dd,以此避免2000年问题,请注意大小写!!!','消息框',mb_ok+mb_iconinformation);
x:=winexec('rundll32.exe shell32.dll,Control_RunDLL Intl.cpl,,4',9);
if x=0 then messagebox(0,'程序超出内存','错误',0);
if x=ERROR_BAD_FORMAT then messagebox(0,'该程序非一个合法的Win32.EXE程序).','错误',0);
if x=ERROR_FILE_NOT_FOUND then messagebox(0,'指定文件没找到','错误',0);
if x=ERROR_PATH_NOT_FOUND then messagebox(0,'指定路径没找到','错误',0);
end;
procedure TMainForm.N51Click(Sender: TObject);
begin
try
Application.CreateForm(Tview, view);
view.showmodal;
view.Hide;
view.Release;
except
Application.MessageBox('数据发生错误!!!请运行<数据清理>菜单项!!!','提示框',mb_ok+mb_iconstop);
abort;
end;
end;
procedure TMainForm.N87Click(Sender: TObject);
begin
Application.CreateForm(TCcForm,ccform);
ccform.Showmodal;
ccform.hide;
ccform.Release;
end;
procedure TMainForm.N86Click(Sender: TObject);
begin
IF (application.messagebox(pchar('当您的数据不正确时,请运行本过程,进行吗?'),'消息框',mb_okcancel+mb_defbutton1+mb_iconquestion)
=idcancel) then abort;
try
try
datat.Table4.Close;
datat.table4.Open;
packtable(datat.table4);
Application.ProcessMessages;
datat.Table1.Close;
datat.table1.Open;
packtable(datat.table1);
except
// MessageBox(Handle,'致命错误!!!请关闭所有应用程序,重新启动计算机!!!',pchar(caption),Mb_iconstop+Mb_ok);
// abort;
end;
finally
datat.table4.close;
datat.table1.Close;
application.messagebox('数据清理完毕!!!','消息框',mb_ok+mb_iconinformation);
end;
end;
procedure TMainForm.N94Click(Sender: TObject);
begin
try
try
if datat.Table1.Active then
datat.table1.Close;
if datat.Table4.Active then
datat.table4.Close;
if datat.BmTable2.Active then
datat.BmTable2.Close;
if datat.UnitTable1.Active then
datat.UnitTable1.Close;
except
MessageBox(Handle,'致命错误!!!请关闭所有应用程序,重新启动计算机!!!',pchar(caption),Mb_iconstop+Mb_ok);
abort;
end;
finally
application.messagebox('数据写入完毕!!!','消息框',mb_ok+mb_iconinformation);
end;
end;
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
IF (application.messagebox('你确认要退出吗?','提示',mb_okcancel+mb_defbutton1+mb_iconquestion)
=idok) then
begin
session.RemovePassword('fnblkzydlk');
password.table1.Edit;
password.table1.Append;
password.table1.fieldbyname('dt').asstring:=datetimetostr(now);
password.table1.fieldbyname('zt').asstring:='正常退出';
password.table1.FieldByName('user').asstring:=password.dbc1.Text;
password.Table1.Post;
password.Table1.Close;
datat.Table1.Close;
datat.Table2.Close;
datat.Table3.Close;
datat.Table4.Close;
datat.Table5.Close;
datat.Table6.Close;
datat.UnitTable1.Close;
datat.BmTable2.Close;
//mainform.hide;
//password.Hide;
password.Release;
data.free;
datat.free;
canclose:=true;
// close;
mainform.Hide;
application.Terminate;
end
else
canclose:=false;
end;
procedure TMainForm.EXCEL1Click(Sender: TObject);
var V:variant;
s,t,vfile:string;
i:integer;
begin
try
V := CreateOleObject('Excel.application');
v.workbooks.add;
V.Visible := True;
vfile:=ExtractFileDir(Application.EXEName)+'\book1.xls';
v.workbooks.open[vfile];
// v.activesheet.columns[4].insert;
// v.worksheets['sheet3'].Activate;
v.caption:='第一个Excel示例,请提出修改意见!!!';
datat.table4.open;
datat.table4.First;
datat.Table4.DisableControls;
//j:=datat.table4.RecordCount;
t:=datetostr(date);
for i:=0 to 5 do
begin
s:=datat.table4.fieldbyname('name').asstring;
v.cells[i+3,1].value:=s;
v.cells[i+3,1].font.name:='幼圆';
v.cells[i+3,1].font.size:=12;
s:='';
s:=datat.table4.fieldbyname('bz_gw').asstring;
v.cells[i+3,2].value:=s;
s:=datat.table4.fieldbyname('bz_jn').asstring;
v.cells[i+3,3].value:=s;
v.cells[i+3,4].value:=datat.table4.fieldbyname('bz_jn').asfloat+datat.table4.fieldbyname('bz_gw').asfloat;
v.cells[i+3,5].value:=v.cells[i+3,2].value+v.cells[i+3,3].value;
//v.cells[i+3,4].value:='';
// v.cells[i+3,5].value:='35';
// v.activesheet.printout;
datat.table4.next;
end;
v.activesheet.printpreview;
datat.table4.DisableControls;
datat.table4.Close;
// v.activesheet.printpreview;
// v.activeworkbook.saveas();
//v.quit;
except
v.quit;
end;
end;
procedure TMainForm.N3Click(Sender: TObject);
begin
application.CreateForm(Tzjzdform,zjzdform);
zjzdform.showmodal;
zjzdform.Release;
end;
procedure TMainForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_escape then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -