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

📄 main.pas

📁 三層源碼,DELPHI寫的三層源碼,三層源碼,
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, Menus, ExtCtrls, Buttons, ImgList;

type
  Tmainform = class(TForm)
    StatusBar1: TStatusBar;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    useradmin_click: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N6: TMenuItem;
    H1: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Image1: TImage;
    Image2: TImage;
    Label1: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton7: TSpeedButton;
    Bevel1: TBevel;
    Panel4: TPanel;
    ImageList1: TImageList;
    dept_click: TMenuItem;
    personnel_click: TMenuItem;
    dorm_click: TMenuItem;
    company_click: TMenuItem;
    timehintclick: TMenuItem;
    dimissionclick: TMenuItem;
    C1: TMenuItem;
    N10: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    Label2: TLabel;
    N15: TMenuItem;
    procedure N3Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure FormCanResize(Sender: TObject; var NewWidth,
      NewHeight: Integer; var Resize: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Image2DblClick(Sender: TObject);
    procedure dept_clickClick(Sender: TObject);
    procedure useradmin_clickClick(Sender: TObject);
    procedure personnel_clickClick(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure company_clickClick(Sender: TObject);
    procedure dorm_clickClick(Sender: TObject);
    procedure timehintclickClick(Sender: TObject);
    procedure dimissionclickClick(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure Label2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N15Click(Sender: TObject);
  private
    spbutton:TSpeedButton;
    procedure createbutton(s1,s2:string;x,y,z:integer;it1:tmenuitem);
    procedure  freebutton;
    procedure refreshskin;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  mainform: Tmainform;

implementation
uses shareunit,sldata,shellapi,Aboutunit,depts,useradmin,personnels,
  eventunit, dimissionmain, seldate,cessunit, viewforms, medicareunit,
  insuranceunit,incometaxunit,companys, bormmain,taxreportunit;
{$R *.DFM}

procedure Tmainform.N3Click(Sender: TObject);
begin
sl_data.sldcom.Close;
application.Terminate;
end;

procedure Tmainform.N7Click(Sender: TObject);
var paths:string;
begin
paths:=extractfilepath(application.exename);
shellexecute(handle,nil,pchar(paths+'salary.chm'),nil,nil,1);
end;

procedure Tmainform.N8Click(Sender: TObject);
begin
with TAbout.create(self) do
  try
  showmodal;
  finally
  free;
  end;
end;

procedure Tmainform.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
if newheight<360 then newheight:=360;
if newwidth<600  then newwidth:=600;
end;

procedure Tmainform.FormCreate(Sender: TObject);
begin
sl_data.mainimage(image1.picture.bitmap,image2.picture.bitmap);
statusbar1.Panels.Items[1].Text:=company_name;
statusbar1.Panels.Items[3].Text:=loginuser;
statusbar1.Panels.Items[4].Text:='当前日期:'+datetostr(date);
end;

procedure tmainform.createbutton(s1,s2:string;x,y,z:integer;it1:tmenuitem);
var n,m:integer;
begin
n:=panel4.Width div 7;
m:=(panel4.Height) div 5;
spbutton:=tspeedbutton.Create(panel4);
spbutton.Flat:=true;
spbutton.layout:=blglyphtop;
spbutton.Width:=60;
spbutton.Height:=60;

spbutton.left:=n*x;
spbutton.top:=m*y;

spbutton.Name:=s1;
spbutton.Caption:=s2;
imagelist1.GetBitmap(z,spbutton.Glyph);
spbutton.Parent:=panel4;
spbutton.OnClick:=it1.OnClick;

end;

procedure tmainform.freebutton;
var i:integer;
begin
if panel4.ComponentCount>0 then
 for i:=panel4.ComponentCount downto 1 do
    panel4.components[i-1].free;
end;

procedure Tmainform.SpeedButton1Click(Sender: TObject);
begin
label1.caption:='操作对像:基本信息';
freebutton;
createbutton('temp1','部门工种',1,1,1,dept_click);
createbutton('temp2','宿舍资料',3,1,2,dorm_click);
createbutton('temp3','员工资料',5,1,3,personnel_click);
createbutton('temp4','离职管理',1,3,0,dimissionclick);
end;

procedure Tmainform.Image2DblClick(Sender: TObject);
begin
sl_data.changecolors;
sl_data.mainimage(image1.Picture.Bitmap,image2.Picture.Bitmap);
image1.Invalidate;
image2.invalidate;
end;

procedure Tmainform.dept_clickClick(Sender: TObject);
begin
with tdept.create(nil) do
  try
  showmodal;
  finally
  free;
  end;
end;

procedure Tmainform.useradmin_clickClick(Sender: TObject);
begin
with Tuser_admin.create(nil) do
  try
  showmodal;
  finally
  free;
  end;
end;

procedure Tmainform.personnel_clickClick(Sender: TObject);
begin
with Tpersonnel.create(nil) do
    try
    showmodal;
    finally
    free;
    end;
end;

procedure Tmainform.SpeedButton7Click(Sender: TObject);
begin
label1.caption:='操作对像:系统设置';
freebutton;
createbutton('temp1','帐号管理',1,1,13,useradmin_click);
createbutton('temp2','公司信息',3,1,14,company_click);
createbutton('temp3','事件提醒',5,1,17,timehintclick);
end;

procedure Tmainform.company_clickClick(Sender: TObject);
begin
with tcompany.create(nil) do
    try
    showmodal;
    finally
    free;
    end;
end;

procedure Tmainform.dorm_clickClick(Sender: TObject);
begin
with tborm_main.create(nil) do
  try
  showmodal;
  finally
  free;
  end;
end;

procedure Tmainform.refreshskin;
var msg:string;
begin
with tstringlist.create do
  try
  add(makeparams('operid',inttostr(Query_event)));
  add(makeparams('funid',inttostr(public_list_ex01)));
  msg:=text;
  finally
  free;
  end;
sl_data.querys.data:=sl_data.querys.DataRequest(msg);
if sl_data.querys.RecordCount>0 then
   begin
   label2.visible:=true;
   label2.Caption:=inttostr(sl_data.querys.RecordCount)+'个事件提醒';
   end else label2.Visible:=false;
end;

procedure Tmainform.timehintclickClick(Sender: TObject);
begin
with tevent.create(nil) do
  try
  showmodal;
  finally
  free;
  end;
refreshskin;
end;

procedure Tmainform.dimissionclickClick(Sender: TObject);
begin
with tdimission_main.create(nil)do
 try
 showmodal;
 finally
 free;
 end;
end;

procedure Tmainform.SpeedButton4Click(Sender: TObject);
begin
label1.caption:='操作对像:个人所得税';
freebutton;
createbutton('temp1','税率表',1,1,10,N10);
createbutton('temp2','个人所得税',3,1,11,N12);
createbutton('temp3','养老金',5,1,12,N13);
createbutton('temp4','医疗保险',1,3,12,N14);
createbutton('temp5','综合统计',3,3,12,N15);
end;

procedure Tmainform.N10Click(Sender: TObject);
begin
with tcessform.create(nil) do
   try
   showmodal;
   finally
   free;
   end;
end;

procedure Tmainform.N12Click(Sender: TObject);
begin
with Tincometax.create(nil) do
   try
   sel_date:=sl_data.selectdate;
   showmodal;
   finally
   free;
   end;
end;

procedure Tmainform.N14Click(Sender: TObject);
begin
with tmedicare.create(nil) do
   try
   sel_date:=sl_data.selectdate;
   showmodal;
   finally
   free;
   end;
end;

procedure Tmainform.N13Click(Sender: TObject);
begin
with Tinsurance.create(nil) do
   try
   sel_date:=sl_data.selectdate;
   showmodal;
   finally
   free;
   end;
end;

procedure Tmainform.FormResize(Sender: TObject);
begin
label2.left:=width-300;
end;

procedure Tmainform.Label2Click(Sender: TObject);
begin
refreshskin;
 with tviewform.create(nil) do
    try
    operid:=Query_event;
    showmodal;
    finally
    free;
    end;
end;

procedure Tmainform.FormShow(Sender: TObject);
begin
refreshskin;
end;

procedure Tmainform.N15Click(Sender: TObject);
begin
with ttaxreport.create(nil) do
  try
  sel_date:=sl_data.selectdate;
  showmodal;
  finally
  free;
  end;
end;

end.

⌨️ 快捷键说明

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