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

📄 main.~pas

📁 这是工资管理系统,能够应用于各种类型的企业。
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus,DB, DBTables,
  checkuser, //用户名监测
  operatormanage,//操作员管理
  changepassword,//修改操作员密码
  gzchange,//初始化
  employee,//职工资料信息
  createsalarytable,//设置税率
  seekdata,//教师资料信息查询
  salary_change,//工资调整
  historyfind,//历史资料
  infofind;//职工资料查询
type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    Table1: TTable;
    N9: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    procedure N6Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CheckDataTable;
  end;

var
  MainForm: TMainForm;
  username,password:string;
  right_1,right_2,right_3:boolean;
  year,month,day:word;
  str:string;
implementation

{$R *.dfm}

procedure TMainForm.N6Click(Sender: TObject);
begin
  close;
end;

procedure TMainForm.FormActivate(Sender: TObject);
var
  i:integer;
begin
    Table1.DatabaseName:='gzgl';
    DecodeDate(Date(),year,month,day);
    str:='ls'+IntToStr(year);
    Table1.Active:=false;
    Table1.TableName:=str;
    CheckdataTable;
    Table1.TableName:='operator';
    i:=3;
    if FileExists('operator.db') then
    begin
        while i>0 do
        begin
            CheckUserForm.ShowModal;
            if username='' then
                close;
            Table1.Active:=true;
            Table1.EditKey;
            Table1.FieldByName('name').asstring:=username;
            Table1.GotoKey;
            if (Table1.FieldByName('name').AsString=username) and (Table1.FieldByName('password').AsString=password)then
            begin
                Right_1:=Table1.FieldByName('Right_1').AsBoolean;
                Right_2:=Table1.FieldByName('Right_2').AsBoolean;
                Right_3:=Table1.FieldByName('Right_3').AsBoolean;
                Table1.Active:=false;
                i:=-1;
            end
            else
                  Application.MessageBox('用户名或密码错误,请检查后重试!','提示信息',MB_OK);
            i:=i-1;
       end;
       if i=0 then
       begin
            Application.MessageBox('用户名或密码错误,请退出!','提示信息',MB_OK);
            close;
       end
    end
    else
    begin
      Application.MessageBox('数据库丢失,请检查!','提示信息',4);
      Close
    end;
    if right_1 =true then
    begin
        MainForm.N2.Enabled:=true;
        MainForm.N5.Enabled:=true;
    end
    else
    begin
        MainForm.N2.Enabled:=false;
        MainForm.N5.Enabled:=false;
    end;

end;

procedure TMainForm.N2Click(Sender: TObject);
begin
    operatormanageform.ShowModal;
end;

procedure TMainForm.N3Click(Sender: TObject);
begin
      ChangePasswordForm.ShowModal;
end;

procedure TMainForm.N5Click(Sender: TObject);
begin
 if Application.MessageBox('是否进行系统初始化,放弃?','提示信息', mb_YesNO) = IDNO then
 begin
    InitiateForm.ShowModal;
   // Application.MessageBox('系统初始化结束','提示信息', mb_OK);
 end
 else
    Application.Messagebox('放弃系统初始化。', '提示信息', mb_Ok);
end;

procedure TMainForm.N10Click(Sender: TObject);
begin
        EmployeeForm.ShowModal;
end;

procedure TMainForm.CheckDataTable;
begin
      //检测操作员数据表
      Table1.TableName:='operator';
      if not Table1.Exists then
      begin
          Table1.FieldDefs.Clear;
          with Table1.FieldDefs.AddFieldDef do
          begin
                Name:='name';
                DataType:=ftstring;
                size:=8;
                Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do
          begin
                Name:='password';
                DataType:=ftstring;
                size:=8
          end;
          with Table1.FieldDefs.AddFieldDef do
          begin
                Name:='department';
                DataType:=ftstring;
                size:=20;
          end;
          with Table1.FieldDefs.AddFieldDef do
          begin
                Name:='time';
                DataType:=ftdate;
          end;
          with Table1.FieldDefs.AddFieldDef do
          begin
                Name:='right_1';
                DataType:=ftboolean;
          end;
          with Table1.FieldDefs.AddFieldDef do
          begin
                Name:='right_2';
                DataType:=ftboolean;
          end;
          with Table1.FieldDefs.AddFieldDef do
          begin
                Name:='right_3';
                DataType:=ftboolean;
          end;
          Table1.IndexDefs.Clear;
          with Table1.IndexDefs.AddIndexDef do
          begin
                    Name := '';
                    Fields := 'name';
                    Options := [ixPrimary];
          end;
          Table1.CreateTable;
          Table1.active:=true;
          Table1.append;
          Table1.Edit;
          Table1.FieldByname('name').AsString:='admin';
          Table1.FieldByname('password').AsString:='12345678';
          Table1.FieldByname('department').AsString:='财务处';
          Table1.FieldByname('time').AsDateTime:=Date();
          Table1.FieldByname('right_1').AsBoolean:=true;
          Table1.FieldByname('right_2').AsBoolean:=true;
          Table1.FieldByname('right_3').AsBoolean:=true;
          Table1.Post;
          Table1.Active:=false;
      end;
      //当年历史资料库
      Table1.TableName:=str;
      if not Table1.Exists  then
      begin
           Table1.FieldDefs.Clear;
           with Table1.FieldDefs.AddFieldDef do //工资编号
           begin
                      Name:='number';
                      DataType:=ftstring;
                      size:=6;
                      Required:=true;
           end;
           with Table1.FieldDefs.AddFieldDef do   //职工名称
           begin
                      Name:='name';
                      DataType:=ftstring;
                      size:=8;
                      Required:=true;
           end;
           with Table1.FieldDefs.AddFieldDef do  //操作员
           begin
                      Name:='operator';
                      DataType:=ftString;
                      size:=8;
                      Required:=true;
           end;
           with Table1.FieldDefs.AddFieldDef do  //基本工资
           begin
                      Name:='base_salary';
                      DataType:=ftFloat;
                      Required:=true;
           end;
           with Table1.FieldDefs.AddFieldDef do   //浮动工资
           begin
                      Name:='float_salary';
                      DataType:=ftFloat;
                      Required:=true;
           end;
           with Table1.FieldDefs.AddFieldDef do  //岗位津贴
           begin
                      Name:='allowance_salary';
                      DataType:=ftFloat;
                      Required:=true;
           end;
           with Table1.FieldDefs.AddFieldDef do   //工龄工资
           begin
                      Name:='age_salary';
                      DataType:=ftfloat;
                      Required:=true;
           end;
           with Table1.FieldDefs.AddFieldDef do  //奖金
           begin
                      Name:='award';
                      DataType:=ftFloat;
                      Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do //补贴
          begin
                     Name:='addition_award';
                     DataType:=ftFloat;
                     Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do //保险费
          begin
                     Name:='insurance';
                     DataType:=ftFloat;
                     Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do //房租
          begin
                     Name:='rent';
                     DataType:=ftFloat;
                     Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do //补扣
          begin
                     Name:='detain';
                     DataType:=ftFloat;
                     Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do //工资总计
          begin
                    Name:='sum';
                    DataType:=ftFloat;
                    Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do //备注
          begin
                    Name:='note';
                    DataType:=ftString;
                    size:=20;
          end;
          with Table1.FieldDefs.AddFieldDef do   //操作日期
          begin
                    Name:='operator_date';
                    DataType:=ftDate;
                    Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do   //其他工资
          begin
                    Name:='rest';
                    DataType:=ftfloat;
                    Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do   //扣税
          begin
                    Name:='tax';
                    DataType:=ftfloat;
                    Required:=true;
          end;
          with Table1.FieldDefs.AddFieldDef do   //实发工资
          begin
                    Name:='real_salary';
                    DataType:=ftfloat;
                    Required:=true;
          end;
          Table1.CreateTable;
      end;
      //当月实发工资表
      Table1.TableName:='month_salary';
      if not Table1.Exists then
      begin
                Table1.FieldDefs.Clear;
                with Table1.FieldDefs.AddFieldDef do //工资编号
                begin
                      Name:='number';
                      DataType:=ftstring;
                      size:=6;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do   //职工名称
                begin
                      Name:='name';
                      DataType:=ftstring;
                      size:=8;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do   //发工资年月
                begin
                      Name:='salary_date';
                      DataType:=ftString;
                      size:=2;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do  //操作员
                begin
                      Name:='operator';
                      DataType:=ftString;
                      size:=8;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do  //基本工资
                begin
                      Name:='base_salary';
                      DataType:=ftFloat;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do   //浮动工资
                begin
                      Name:='float_salary';
                      DataType:=ftFloat;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do  //岗位津贴
                begin
                      Name:='allowance_salary';
                      DataType:=ftFloat;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do   //工龄工资
                begin
                      Name:='age_salary';
                      DataType:=ftfloat;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do  //奖金
                begin
                      Name:='award';
                      DataType:=ftFloat;
                      Required:=true;
                end;
                with Table1.FieldDefs.AddFieldDef do //补贴
                begin
                      Name:='addition_award';
                      DataType:=ftFloat;
                      Required:=true;

⌨️ 快捷键说明

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