📄 main.pas
字号:
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 + -