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

📄 ry.pas

📁 这个工资管理系统是我今年的毕业设计
💻 PAS
字号:
unit ry;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids,inifiles, ExtCtrls, StdCtrls, Buttons,
  SkinCtrls, DBGridEh, Menus, ComCtrls, jpeg, Gauges;

type
  TForm5 = class(TForm)
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    SpeedButton1: TSpeedButton;
    Panel2: TPanel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Panel3: TPanel;
    Edit4: TEdit;
    spSkinButton1: TspSkinButton;
    DBGridEh1: TDBGridEh;
    Panel4: TPanel;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    TreeView1: TTreeView;
    Panel5: TPanel;
    ADOQuery2: TADOQuery;
    spSkinToolBar1: TspSkinToolBar;
    spSkinBevel1: TspSkinBevel;
    spSkinSpeedButton1: TspSkinSpeedButton;
    spSkinSpeedButton2: TspSkinSpeedButton;
    spSkinSpeedButton3: TspSkinSpeedButton;
    spSkinBevel2: TspSkinBevel;
    spSkinSpeedButton4: TspSkinSpeedButton;
    spSkinSpeedButton5: TspSkinSpeedButton;
    spSkinBevel3: TspSkinBevel;
    spSkinSpeedButton6: TspSkinSpeedButton;
    Panel6: TPanel;
    Image1: TImage;
    Gauge1: TGauge;
    Timer1: TTimer;
    Gauge2: TGauge;
    Timer2: TTimer;
    ADOQuery3: TADOQuery;
    procedure FormShow(Sender: TObject);
    procedure onmousewhell(var msg:tmsg;var handled:boolean);
    procedure FormResize(Sender: TObject);
    procedure ComboBox1Select(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure spSkinButton1Click(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure spSkinSpeedButton6Click(Sender: TObject);
    procedure spSkinSpeedButton2Click(Sender: TObject);
    procedure spSkinSpeedButton1Click(Sender: TObject);
    procedure spSkinSpeedButton3Click(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure spSkinSpeedButton4Click(Sender: TObject);
    procedure spSkinSpeedButton5Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;
implementation
uses login,jbxishowall,ygxxedit,xxprive;
{$R *.dfm}

procedure TForm5.FormShow(Sender: TObject);
begin
   gauge2.Top:=gauge1.Top;
   gauge2.Left:=gauge1.Left;
   gauge2.Visible:=false;
   
   adoquery1.sql.Clear;
   adoquery1.SQL.Add('select * from jibenxinxi');
   adoquery1.Open;
   gauge1.MaxValue:=adoquery1.Recordset.RecordCount;

   adoquery2.SQL.Clear;
   adoquery2.SQL.Add('select * from bumen where 状态="正常"');
   adoquery2.Open;
   adoquery2.First;
   treeview1.Items.Clear;
   treeview1.Items.Add(nil,'所有员工'); 
   while not adoquery2.Eof do
   begin
   treeview1.Items.AddChild(nil,adoquery2.FieldValues['部门名称']);
   adoquery2.Next;
   end;

   adoquery3.SQL.Clear;
   adoquery3.SQL.Add('select * from gongz');
   adoquery3.Open;

end;

procedure tform5.onmousewhell(var msg:tmsg;var handled:boolean);
begin
 if Msg.message = WM_MouseWheel then
  begin
    if Msg.wParam > 0 then
     begin
       if DBGrideh1.Focused then
         SendMessage(DBGrideh1.Handle,WM_VSCROLL,SB_PAGEUP,0);
     end
    else
     begin
       if DBGrideh1.Focused then
         SendMessage(DBGrideh1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
     end;
    Handled:= True;
  end;
end;

procedure TForm5.FormResize(Sender: TObject);
begin
groupbox1.Width:=panel1.Width-5;
spskinbutton1.Left:=groupbox1.Width-self.Width+groupbox1.Width-42;
end;

procedure TForm5.ComboBox1Select(Sender: TObject);
var it:string;
x1,y1:integer;
hwnd:hdc;
begin
hwnd:=getwindowdc(panel1.Handle);
canvas.Handle:=groupbox1.Handle;
x1:=speedbutton1.Left+speedbutton1.Width+4;
y1:=speedbutton1.Top+speedbutton1.Height;
canvas.Pen.Color:=clred;
canvas.Handle:=hwnd;
canvas.Rectangle(speedbutton1.Left+2,speedbutton1.Top-2,x1,y1);

it:=combobox1.Text;
if it='员工代码' then
begin
panel2.Visible:=true;
panel3.Visible:=false;
speedbutton1.Visible:=true;
end;
if it='姓  名' then
begin
panel2.Visible:=false;
panel3.Visible:=true;
panel3.Left:=panel2.Left;
speedbutton1.Visible:=true;
end;
if it='年  龄' then
begin
panel2.Visible:=true;
panel3.Visible:=false;
speedbutton1.Visible:=true;
end;
end;

procedure TForm5.SpeedButton1Click(Sender: TObject);
var str:string;
begin
str:='select * from jibenxinxi where 姓名 like '+'"%'+edit4.text+'%"';
adoquery1.SQL.Clear;
adoquery1.Close;
if panel3.Visible then
begin
adoquery1.SQL.Add(str);
adoquery1.Active:=true;
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[1].Color:=clcream;
if adoquery1.Recordset.RecordCount=0 then application.MessageBox('对不起,没有查询到你的数据信息!','查询提示',mb_ok);
end;
if combobox1.text='员工代码' then
begin
if (trim(edit2.text)<>'') and (trim(edit1.Text)<>'') then
begin
str:='select * from jibenxinxi where 员工代码 between '+edit2.Text+' and '+edit1.Text;
adoquery1.SQL.Add(str);
adoquery1.Active:=true;
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[0].Color:=clcream;
if adoquery1.Recordset.RecordCount=0 then application.MessageBox('对不起,没有查询到你的数据信息!','查询提示',mb_ok);
end
else application.MessageBox('查询条件不能为空,请输入查询条件','查询提示',mb_ok);
end;
if combobox1.Text='年  龄' then
begin
if (trim(edit2.text)<>'') and (trim(edit1.Text)<>'') then
begin
str:='select * from jibenxinxi where 年龄 between '+edit2.Text+' and '+edit1.Text;
adoquery1.SQL.Add(str);
adoquery1.Active:=true;
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[4].Color:=clcream;
if adoquery1.Recordset.RecordCount=0 then application.MessageBox('对不起,没有查询到你的数据信息!','查询提示',mb_ok);
end
else application.MessageBox('查询条件不能为空,请输入查询条件','查询提示',mb_ok);
end;
end;

procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adoquery1.close;
adoquery2.Close;
adoquery3.Close;
gauge1.Destroy;
gauge2.Destroy;
end;

procedure TForm5.spSkinButton1Click(Sender: TObject);
begin
close;
end;

procedure TForm5.TreeView1Click(Sender: TObject);
begin
if treeview1.Selected.text='所有员工' then
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from jibenxinxi');
adoquery1.Open;
end
else
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from jibenxinxi where 所在部门="'+treeview1.Selected.Text+'"');
adoquery1.Open;
dbgrideh1.Refresh;
dbgrideh1.Columns[0].Color:=clcream;
dbgrideh1.Columns[1].Color:=clcream;
dbgrideh1.Columns[2].Color:=clcream;
dbgrideh1.Columns[3].Color:=clcream;
dbgrideh1.Columns[24].Color:=clskyblue;
//gauge1.MaxValue:=adoquery1.FieldCount;
if adoquery1.Recordset.RecordCount=0 then showmessage('对不起,该部门有可能是刚成立的,现在还没有员工!!'+#13+'                              ---希望贵单位能够很快招到好人才!');
end;
end;

procedure TForm5.DBGridEh1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
var i:integer;
begin
for i:=0 to dbgrideh1.Columns.Count-1 do
begin
dbgrideh1.Columns[i].Title.Alignment:=tacenter;
end;
end;

procedure TForm5.spSkinSpeedButton6Click(Sender: TObject);
begin
close;
end;

procedure TForm5.spSkinSpeedButton2Click(Sender: TObject);
begin
if application.MessageBox('你确认要删除该条员工信息吗?','系统提示',MB_YesNo OR MB_defbutton2 or mb_iconstop or mb_applmodal)=idyes then
begin
        with adoquery1 do
        begin
            try
            delete;
            showmessage('该条员工信息已删除,删除成功!');
            except
            cancel;
            showmessage('删除数据时出现错误,删除失败!!');
            end;
        end;
dbgrideh1.Refresh;
end;
end;

procedure TForm5.spSkinSpeedButton1Click(Sender: TObject);
begin
ygshowall:=tygshowall.Create(application);
ygshowall.Caption:='添加新员工信息';
ygshowall.ShowModal;
end;

procedure TForm5.spSkinSpeedButton3Click(Sender: TObject);
begin
if adoquery1.Recordset.RecordCount<>0 then
begin
panel6.Visible:=true;
panel6.Refresh;
gauge2.Visible:=true;
gauge2.Progress:=0;
gauge2.MaxValue:=adoquery1.FieldCount;
form38:=tform38.Create(application);
form38.Caption:='员工信息修改';
timer2.Enabled:=true;
end
else showmessage('当前没有要修改的员工信息,请你选择要修改的员工信息!');
end;

procedure TForm5.DBGridEh1DblClick(Sender: TObject);
begin
if adoquery1.Recordset.RecordCount<>0 then
begin
panel6.Visible:=true;
panel6.Refresh;
gauge2.Visible:=true;
gauge2.Progress:=0;
gauge2.MaxValue:=adoquery1.FieldCount;
form38:=tform38.Create(application);
form38.Caption:='员工信息修改';
timer2.Enabled:=true;
end
else showmessage('当前没有要修改的员工信息,请你选择要修改的员工信息!');
end;

procedure TForm5.spSkinSpeedButton4Click(Sender: TObject);
begin
prive:=tprive.Create(application);
prive.QuickRep1.PreviewModal;
end;

procedure TForm5.spSkinSpeedButton5Click(Sender: TObject);
begin
prive:=tprive.Create(application);
prive.QuickRep1.print;
end;

procedure TForm5.Timer1Timer(Sender: TObject);
begin
gauge1.Progress:=gauge1.Progress+1;
if gauge1.Progress=adoquery1.Recordset.RecordCount then
    begin
      timer1.Enabled:=false;
      panel6.Visible:=false;
      gauge1.Visible:=false;
      spskintoolbar1.Enabled:=true;
      groupbox1.Enabled:=true;
      panel4.Visible:=true;
      dbgrideh1.Visible:=true;
    end;

end;

procedure TForm5.Timer2Timer(Sender: TObject);
begin
gauge2.Progress:=gauge2.Progress+1;
    if gauge2.progress=adoquery1.FieldCount then
          begin
            timer2.Enabled:=false;
            panel6.Visible:=false;
            form38.ShowModal;
          end;
end;

end.

⌨️ 快捷键说明

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