⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainunit.pas

📁 工资管理系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:

//误餐费是否发放
 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 + -