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

📄 gz.~pas

📁 企业工资管理系统的代码实现主要包括五个功能模块在此不一一列举
💻 ~PAS
字号:
unit gz;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DB, Grids, DBGrids, ADODB;

type
  TForm2 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    CheckBox1: TCheckBox;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    sd: TSaveDialog;
    Button4: TButton;
    Button5: TButton;
    ADOQuery1: TADOQuery;
    procedure FormShow(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure get_req;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}
uses gzadd,Data,XLSFile;
//***************************************
//2004-05-13 qhb
//检索函数
//***************************************
procedure Tform2.get_req;
var
  s:string;
begin
  s:='';
 if checkbox1.Checked then
 begin
  if trim(edit1.Text)<>'' then
   s:=s+' and 工号='''+trim(edit1.Text)+'''';
  if trim(edit2.Text)<>'' then
   s:=s+' and 姓名='''+trim(edit2.Text)+'''';
 end;
 dm.ADOQuery2.close;
 //dm.ADOQuery2.SQL.Text:='select * from 部门';
 if s<>'' then
  dm.ADOQuery2.SQL.Add(' where '+copy(s,5,length(s)-4));
  dm.ADOQuery2.Open;
end;
procedure TForm2.FormShow(Sender: TObject);
begin
  // dm.ADOQuery2.SQL.Text:='select *  FROM 工资 INNER JOIN 部门 ON 工资.部门编码 = 部门.部门编码';
  dm.ADOQuery2.open;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='工号';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='工号';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=80;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='姓名';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='姓名';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='部门名称';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='部门名称';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='性别';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='性别';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='身份证号码';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='身份证号码';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
   DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='银行帐号';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='银行帐号';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='基本工资';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='基本工资';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='奖金';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='奖金';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='应扣1';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='应扣1';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='应扣2';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='应扣2';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='保险';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='保险';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='应发工资';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='应发工资';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
   DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='实发工资';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='实发工资';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
   DBGrid1.Columns.Add;
  DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='发放时间';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.caption:='发放时间';
  DBGrid1.Columns[DBGrid1.Columns.Count-1].Width:=120;
  dm.ADOQuery2.First;
end;

procedure TForm2.CheckBox1Click(Sender: TObject);
begin
//  panel2.Visible:=checkbox1.Checked;
  //get_req;
end;

procedure TForm2.Edit1Exit(Sender: TObject);
begin
  get_req;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
 dm.ADOQuery2.close;
 application.CreateForm(tfrmgzAdd,frmgzAdd);
 frmgzAdd.ty:=1;
 frmgzAdd.ShowModal;
 dm.ADOQuery2.open;
  //frmgzadd.showmodal;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  //
  application.CreateForm(tfrmgzadd,frmgzadd);
  frmgzadd.gh.text:=dm.ADOQuery2.fieldbyname('工号').AsString;
  dm.ADOQuery2.close;
  frmgzadd.ty:=2;
  frmgzadd.ShowModal;
  dm.ADOQuery2.open;
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
  if  sd.Execute then
     DataSetToXLS(dbgrid1.DataSource.DataSet,sd.FileName);
end;

procedure TForm2.Button5Click(Sender: TObject); //导出为txt格式
var
  strCzzh, strSfje: string;
  YhsjFile: TextFile;
begin
  //
  with dm.ADOQuery2 do
    if state=dsEdit then
      post;
    with adoquery1 do
      try
        connection:=dm.ADOConnection1;
        with sql do
             begin
              clear;
              add('select * from 工资');
             end;
        open;
      if IsEmpty then
        Application.MessageBox('无工资记录,不能导出!', '错误', MB_ICONWARNING)
        else
        begin
          with sd do
            begin
              DefaultExt:='txt';
              Filter := '文本文件 (*.txt)|*.txt';
              if execute then
                try
                  screen.Cursor:=crSQLWait;
                  if FileExists(FileName) then
                     DeleteFile(FileName);
                     AssignFile(YhsjFile, FileName);
                     Rewrite(YhsjFile);
                  while Not eof do
                      begin
                      strCzzh :=adoquery1.fieldByName('工号').AsString;
                      strSfje :=adoquery1.fieldbyName('银行帐号').AsString;
                      writeln(YhsjFile,strCzzh,'',strSfje);
                      Next;
                      end;
                  finally
                   CloseFile(YhsjFile);
                   Screen.Cursor := crDefault;
            end;
        end;
        end;
            finally
    Close;
    Connection := nil;
    end;

end;       

end.

⌨️ 快捷键说明

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