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

📄 main.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
begin
end;
//基本参数-共用参数设定,工号,卡号长度等
procedure Tformmain.commonparaClick(Sender: TObject);
begin
   if not assigned(Formpublicparameter) then
      Formpublicparameter:=TFormpublicparameter.create(application);
   formpublicparameter.show;
   Outlook1.ActiveTab:=8;
end;

//调用密码权限作业
procedure Tformmain.password_setClick(Sender: TObject);
begin
  if not assigned(formsecurity) then
    formsecurity:=TFormsecurity.create(self);
  menuname:=(Sender as TMenuItem).name;
  formname:=formsecurity;
  GetRight(menuname,formname);
  formsecurity.show;
  Outlook1.ActiveTab:=8;
end;
//更改密码作业
procedure Tformmain.password_changeClick(Sender: TObject);
begin
  if not assigned(formchangepass) then
    formchangepass:=TFormchangepass.Create(Application);
  formchangepass.show;
  Outlook1.ActiveTab:=8;
end;

procedure Tformmain.atd_clocksetClick(Sender: TObject);
begin
 if not assigned(formatdclock) then
        formatdclock:=TFormatdclock.create(application);
        formatdclock.show;
        Outlook1.ActiveTab:=2;
end;

procedure Tformmain.laborClick(Sender: TObject);
begin
  if not assigned(formlabor) then
    formlabor:=Tformlabor.create(self);
      menuname:=(Sender as TMenuItem).name;
     formname:=formlabor;
     GetRight(menuname,formname);

  formlabor.show;
  Outlook1.ActiveTab:=4;
end;

procedure Tformmain.menuenable(menuname,parentname,subparentname:string);
var i,j,k:integer;
begin
  with datamod do
  begin
    if trim(menuname)<>'' then
    begin
      if trim(parentname)='' then
      begin
         for i:=0 to MainMenu1.items.Count-1 do
         begin
            if MainMenu1.items[i].Name=menuname then
            begin
               MainMenu1.items[i].Enabled:=true;
               New(U_Right);
               U_Right.no:=pubworkno;
               U_Right.menuname:=MainMenu1.items[i].Name;
               U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
               U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
               U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
               U_Right.R_Print:=query1.fieldbyname('R_Print').asboolean; //此处的Query1与 Login过程中的联在一齐
               FuncList.add(U_Right);
               for j:=0 to MainMenu1.items[i].Count-1 do
               begin
                  MainMenu1.items[i].items[j].Enabled:=true;
                  New(U_Right);
                  U_Right.no:=pubworkno;
                  U_Right.menuname:=MainMenu1.items[i].items[j].Name;
                  U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
                  U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
                  U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
                  U_Right.R_Print:=query1.fieldbyname('R_Print').asboolean; //此处的Query1与 Login过程中的联在一齐
                  FuncList.add(U_Right);
                  for k:=0 to Mainmenu1.items[i].items[j].count-1 do
                  begin
                      MainMenu1.items[i].items[j].items[k].Enabled:=true;
                      New(U_Right);
                      U_Right.no:=pubworkno;
                      U_Right.menuname:=MainMenu1.items[i].items[j].items[k].Name;
                      U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
                      U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
                      U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
                      U_Right.R_Print:=query1.fieldbyname('R_Print').asboolean; //此处的Query1与 Login过程中的联在一齐
                      FuncList.add(U_Right);
                  end;
               end;
            end;
         end;
      end
      else if trim(subparentname)='' then
      begin
         for i:=0 to MainMenu1.items.Count-1 do
         begin
            if MainMenu1.items[i].Name=parentname then
            begin
               MainMenu1.items[i].Enabled:=true;
               New(U_Right);
               U_Right.no:=pubworkno;
               U_Right.menuname:=MainMenu1.items[i].Name;
               if (pubworkno='Super_Pasa_Apple') or (uppercase(pubworkno)='PASA') then
               begin
                 U_Right.R_Add:=true;   //此处的Query1与 Login过程中的联在一齐
                 U_Right.R_Edit:=true; //此处的Query1与 Login过程中的联在一齐
                 U_Right.R_Del:=true;   //此处的Query1与 Login过程中的联在一齐
               end else
               begin
                 U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
                 U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
                 U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
               end;
               FuncList.add(U_Right);
               for j:=0 to MainMenu1.items[i].Count-1 do
                  if MainMenu1.items[i].items[j].Name=menuname then
                  begin
                     MainMenu1.items[i].items[j].Enabled:=true;
                     New(U_Right);
                     U_Right.no:=pubworkno;
                     U_Right.menuname:=MainMenu1.items[i].items[j].Name;
                     if (pubworkno='Super_Pasa_Apple') or (uppercase(pubworkno)='PASA') then
                     begin
                       U_Right.R_Add:=true;   //此处的Query1与 Login过程中的联在一齐
                       U_Right.R_Edit:=true; //此处的Query1与 Login过程中的联在一齐
                       U_Right.R_Del:=true;   //此处的Query1与 Login过程中的联在一齐
                     end else
                     begin
                           U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
                           U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
                           U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
                     end;
                     FuncList.add(U_Right);
                     for k:=0 to Mainmenu1.items[i].items[j].count-1 do
                     begin
                         Mainmenu1.items[i].items[j].items[k].enabled:=true;
                         New(U_Right);
                         U_Right.no:=pubworkno;
                         U_Right.menuname:=MainMenu1.items[i].items[j].items[k].Name;
                         U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
                         U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
                         U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
                         FuncList.add(U_Right);
                     end;
                  end;
            end;
         end;
    end else
    begin
         for i:=0 to MainMenu1.items.Count-1 do
         begin
            if MainMenu1.items[i].Name=parentname then
            begin
               MainMenu1.items[i].Enabled:=true;
               New(U_Right);
               U_Right.no:=pubworkno;
               U_Right.menuname:=MainMenu1.items[i].Name;
               U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
               U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
               U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
               FuncList.add(U_Right);
            end;
            for j:=0 to MainMenu1.items[i].Count-1 do
            begin
               if MainMenu1.items[i].items[j].Name=subparentname then
               begin
                  MainMenu1.items[i].items[j].Enabled:=true;
                  New(U_Right);
                  U_Right.no:=pubworkno;
                  U_Right.menuname:=MainMenu1.items[i].items[j].Name;
                  U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
                  U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
                  U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
                  FuncList.add(U_Right);
               end;
               if MainMenu1.items[i].items[j].Count>0 then
               begin
                  for k:=0 to MainMenu1.items[i].items[j].Count-1 do
                  if MainMenu1.items[i].items[j].items[k].Name=menuname then
                  begin
                     MainMenu1.items[i].items[j].items[k].enabled:=true;
                     New(U_Right);
                     U_Right.no:=pubworkno;
                     U_Right.menuname:=MainMenu1.items[i].items[j].Name;
                     U_Right.R_Add:=query1.fieldbyname('R_Add').asboolean;   //此处的Query1与 Login过程中的联在一齐
                     U_Right.R_Edit:=query1.fieldbyname('R_Edit').asboolean; //此处的Query1与 Login过程中的联在一齐
                     U_Right.R_Del:=query1.fieldbyname('R_Del').asboolean;   //此处的Query1与 Login过程中的联在一齐
                     FuncList.add(U_Right);
                  end;
               end;
            end;
         end;
         end;
    end;
  end;
end;
procedure Tformmain.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('');
   end
end;

procedure Tformmain.N2Click(Sender: TObject);
begin
  if not assigned(formper_sallist) then
    formper_sallist:=TFormper_sallist.create(self);
     menuname:=(Sender as TMenuItem).name;
     formname:=formper_sallist;
     GetRight(menuname,formname);
    formper_sallist.show;
end;
procedure Tformmain.N4Click(Sender: TObject);
begin
  if not assigned(Formothermoney) then
     formothermoney:=TFormothermoney.create(self);
     menuname:=(Sender as TMenuItem).name;
     formname:=formothermoney;
     GetRight(menuname,formname);
     formothermoney.show;
end;
function Tformmain.tablerecord(dataset: TDataset): integer;
begin
  if dataset.state=dsinactive then
    dataset.open;
    result:=dataset.recordcount;
end;

procedure Tformmain.N11Click(Sender: TObject);
begin
  if not assigned(formpersonalreport) then
     formpersonalreport:=Tformpersonalreport.create(self);
     formpersonalreport.show;
end;
procedure Tformmain.N13Click(Sender: TObject);
begin
  if not assigned(persaldata) then
     persaldata:=tpersaldata.create(self);
     persaldata.show;

end;
procedure Tformmain.N14Click(Sender: TObject);
begin
  if not assigned(salaryreport) then
     salaryreport:=tsalaryreport.create(self);
     salaryreport.show;

end;
procedure Tformmain.N16Click(Sender: TObject);
begin
  if not assigned(formatddealrep) then
     formatddealrep:=tformatddealrep.create(self);
     formatddealrep.show;
end;
procedure Tformmain.publicfind;
var i:integer;
    tablename:string;
begin
  if self.ActiveMDIChild <> nil then
  begin
    with self.activemdichild do
    begin
       if lowercase(Name)='formchangebc' then
       begin
         findrecorder(datamod.adochangebc,'Adochangebc','atd08010');
         exit;
       end else if lowercase(Name)='formroom' then
       begin
         if TToolButton(Findcomponent('tbnfind')).Enabled=true then
            TToolButton(Findcomponent('tbnfind')).OnClick(self);
         exit;
       end;
       for i:=0 to ComponentCount-1 do
       begin
          if findcomponent('pagecontrol1')<>nil then
          begin
             if (TWincontrol(components[i]).parent.name=TPagecontrol(Findcomponent('pagecontrol1')).ActivePage.name)
                and (components[i].ClassType=TDBGrid) then
             begin
                tablename:=TADODataset(TDBGrid(components[i]).Datasource.dataset).name;
                tablename:=uppercase(copy(tablename,1,1))+lowercase(copy(tablename,2,length(tablename)-1));
                findrecorder(TADODataset(TDBGrid(components[i]).Datasource.dataset),tablename,
                             Gettablename(TADODataSet(TDBGrid(components[i]).datasource.dataset).commandtext));   //调用publicfuction中的查询功能
                break;
             end
          end else
          begin
             if components[i].classtype=TDBGrid then
             begin
                tablename:=TADODataset(TDBGrid(components[i]).Datasource.dataset).name;
                tablename:=uppercase(copy(tablename,1,1))+lowercase(copy(tablename,2,length(tablename)-1));
                findrecorder(TADODataset(TDBGrid(components[i]).Datasource.dataset),tablename,
                             Gettablename(TADODataSet(TDBGrid(components[i]).datasource.dataset).commandtext));   //调用publicfuction中的查询功能
                break;
             end;
          end;  //if
       end;  //for
    end;   //with
  end;  //if
end;

function Tformmain.Gettablename(sql: String): string;
var new:string;
begin
    sql:=lowercase(sql);
    new:=copy(sql,pos('from',sql),length(sql));
    new:=trim(new);
    new:=copy(new,pos(' ',new),length(new));
    new:=trim(new);
    if pos(' ',new)>0 then
       new:=copy(new,1,pos(' ',new));
    result:=trim(new);
end;

procedure Tformmain.N18Click(Sender: TObject);
begin
   publicfind;
end;

procedure Tformmain.N21Click(Sender: TObject);
begin
   formmasterbrow:=TFormmasterbrow.create(self);
   formmasterbrow.showmodal;
   formmasterbrow.free;
end;

procedure Tformmain.N23Click(Sender: TObject);
begin
if not assigned(formmianqianka) then formmianqianka:=Tformmianqianka.create(self);
  menuname:=(Sender as TMenuItem).name;
  formname:=formmianqianka;
  GetRight(menuname,formname);
  formmianqianka.show;
end;

procedure Tformmain.PASA1Click(Sender: TObject);
begin
  formreportdsg:=tformreportdsg.Create(Application);
  formreportdsg.ShowModal;
end;
procedure Tformmain.inidesktop(section:String);
var ini:TINIFile;
     s:string;
begin
   ini:=TINIFile.create(extractfilepath(application.exename)+'\Data\System.ini');
   XPBarMenu1.Active:=ini.readbool('Menu','UseXP',true);
   if ini.readbool('Menu','UserDefine',true) then  //启动自定义
   begin
      with xpbarmenu1 do
      begin
           BarCaption:=ini.readstring(Section,'BarCaption','PASA人事考勤薪资管理系统');
           BarColorEnd:=ini.ReadInteger(Section,'BarColorEnd',8421376);
           BarColorStart:=ini.ReadInteg

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -