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

📄 unit8.~pas

📁 自己做的一个人力资源管理
💻 ~PAS
字号:
unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, ToolWin, jpeg;

type
  Tmoney_people = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    ComboBox2: TComboBox;
    Label7: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    DateTimePicker1: TDateTimePicker;
    Edit3: TEdit;
    Image1: TImage;
    Label3: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ComboBox3: TComboBox;
    procedure ComboBox2Change(Sender: TObject);
    procedure show();
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  money_people: Tmoney_people;
  pase:string;
implementation

uses Unit3, Unit4, Unit5, Unit10, Unit1;

{$R *.dfm}

procedure Tmoney_people.ComboBox2Change(Sender: TObject);
begin
        if  ComboBox2.Text='基本信息' then  base_people.ShowModal;
        if  ComboBox2.Text='考勤信息' then  chuqing_people.ShowModal;
        if  ComboBox2.Text='奖惩信息' then  jiangfa_people.ShowModal;
        //if  ComboBox17.Text='工资信息' then  money_people.ShowModal;
end;

procedure Tmoney_people.show();
begin
           if   dm.TWages.Fields[5].AsString='1'  then
           begin
                   Image1.Visible:=false;
           end
           else
           begin
                   Image1.Visible:=true;
           end;
           edit1.text:=dm.TWages.Fields[0].AsString;
           edit2.text:=dm.TWages.Fields[1].AsString;
           comboBox3.text:=dm.TWages.Fields[2].AsString;
           DateTimePicker1.Date:=dm.TWages.Fields[3].AsDateTime;
           edit3.text:=dm.TWages.Fields[4].AsString;
           ToolButton1.Enabled:=true;
           ToolButton2.Enabled:=true;
           ToolButton3.Enabled:=true;
           ToolButton4.Enabled:=true;
           ToolButton5.Enabled:=true;
           ToolButton6.Enabled:=true;
           ToolButton7.Enabled:=false;
           ToolButton8.Enabled:=true;
           edit1.Enabled:=false;
           edit2.Enabled:=false;
           ComboBox3.Enabled:=false;
           DateTimePicker1.Enabled:=false;
           edit3.Enabled:=false;
           if login_people.ComboBox1.ItemIndex=0 then
            begin
                ToolButton5.Enabled:=false;
                ToolButton6.Enabled:=false;
                ToolButton8.Enabled:=false;
             end;
end;

procedure Tmoney_people.ToolButton2Click(Sender: TObject);
begin
         if not  dm.TWages.Bof then
         begin
                    dm.TWages.Prior;
                    Show;
         end
         else   showmessage('已是首记录');
end;

procedure Tmoney_people.ToolButton3Click(Sender: TObject);
begin
         if not  dm.TWages.eof then
         begin
                    dm.TWages.Next;
                    Show;
         end
         else   showmessage('已是尾记录');
end;

procedure Tmoney_people.ToolButton4Click(Sender: TObject);
begin
         if not  dm.TWages.eof then
         begin
                    dm.TWages.Last;
                    Show;
         end
         else   showmessage('已是尾记录');
end;

procedure Tmoney_people.ToolButton1Click(Sender: TObject);
begin
         if not  dm.TWages.Bof then
         begin
                    dm.TWages.First;
                    Show;
         end
         else   showmessage('已是首记录');
end;

procedure Tmoney_people.FormShow(Sender: TObject);
begin
        show;
end;

procedure Tmoney_people.ToolButton9Click(Sender: TObject);
begin
            close;
end;

procedure Tmoney_people.ToolButton5Click(Sender: TObject);
begin
             pase:='1';
             DateTimePicker1.Date:=now;
             ToolButton1.Enabled:=false;
             ToolButton2.Enabled:=false;
             ToolButton3.Enabled:=false;
             ToolButton4.Enabled:=false;
             ToolButton5.Enabled:=false;
             ToolButton6.Enabled:=false;
             ToolButton7.Enabled:=true;
             ToolButton8.Enabled:=false;
             DateTimePicker1.Enabled:=true;
             edit1.Enabled:=true;
             edit2.Enabled:=true;
             ComboBox3.Enabled:=true;
             edit3.Enabled:=true;
end;

procedure Tmoney_people.ToolButton6Click(Sender: TObject);
begin
           pase:='0';
           ToolButton1.Enabled:=false;
           ToolButton2.Enabled:=false;
           ToolButton3.Enabled:=false;
           ToolButton4.Enabled:=false;
           ToolButton5.Enabled:=false;
           ToolButton6.Enabled:=false;
           DateTimePicker1.Enabled:=false;
           ToolButton7.Enabled:=true;
           ToolButton8.Enabled:=false;
           edit1.Enabled:=true;
           edit2.Enabled:=true;
           ComboBox3.Enabled:=true;
           edit3.Enabled:=true;
end;

procedure Tmoney_people.ToolButton7Click(Sender: TObject);
var str:string;
var a:string;
var b:string;
var c:string;
begin
         if pase='1'   then
         begin
                   if   (edit1.Text='') or (edit2.Text='') or ( ComboBox3.ItemIndex=-1) or (edit3.Text='')
                   then
                   begin
                            showmessage('信息不完整');
                            exit;
                   end;

                                        //判断是否存在
                 with DM.QPerson do
                 begin
                        close;
                        sql.Clear;
                        sql.Add('select EMPID,EMPNAME,EMPDEPT from Person');
                        open;
                end;
                while not dm.QPerson.Eof do
                begin
                      a:=dm.QPerson.Fields[0].AsString;
                      b:=dm.QPerson.Fields[1].AsString;
                      c:=dm.QPerson.Fields[2].AsString;
                      if (a=edit1.Text) and  (b=edit2.Text)and (c=combobox3.Text)
                      then break;
                      dm.QPerson.Next;
                end;
                if  dm.QPerson.Eof   and  (a<>edit1.Text) and  (b<>edit2.Text)and (c<>combobox3.Text)
                then
                begin showmessage('  ');
                     exit;
                end;
                   with dm.QWages do
                   begin
                          close;
                          sql.Clear;
                          sql.Add('select max(sno) from Wages');
                          open;
                   end;
                   str:=dm.QWages.Fields[0].AsString;
                   if     str='' then
                              str:='00001'
                   else
                   begin
                           str:=inttostr(strtoint(str)+1);
                           while length(str)<5 do
                                 str:='0'+str;
                   end;
                   //判断是否存在
                 with DM.QPerson do
                 begin
                        close;
                        sql.Clear;
                        sql.Add('select EMPID,EMPNAME,EMPDEPT from Person');
                        open;
                end;
                while not dm.QPerson.Eof do
                begin
                      a:=dm.QPerson.Fields[0].AsString;
                      b:=dm.QPerson.Fields[1].AsString;
                      c:=dm.QPerson.Fields[3].AsString;
                      if ((a=edit1.Text) or (b=edit2.Text) or (c=combobox3.Text)) then
                      begin
                            showmessage('该员工不存在!');
                            exit;
                      end;
                      dm.QPerson.Next;
                end;
                   with DM.QWages do
                   begin
                        close;
                        sql.Clear;
                        sql.Add('insert Wages values (:EMPID,:EMPNAME,:EMPDEPT,:WAGESDATE,:WAGES,:DELECT,:SNO)');
                        ParamByName('EMPID').AsString:=edit1.Text;
                        ParamByName('EMPNAME').AsString:=Edit2.Text;
                        ParamByName('EMPDEPT').AsString:=ComboBox3.Text;
                        ParamByName('WAGESDATE').AsDateTime:=strtodate(datetostr(DateTimePicker1.DateTime));
                        ParamByName('WAGES').AsFloat:=strtofloat(Edit3.Text);
                        ParamByName('DELECT').AsString:='1';
                        ParamByName('SNO').AsString:=str;
                        prepare;
                        execsql;
                  end;
                  with DM.TWages do
                  begin
                         close;
                         open;
                  end;
         end;

         if pase='0'   then
         begin
                     if   (edit1.Text='') or (edit2.Text='') or ( ComboBox3.ItemIndex=-1) or (edit3.Text='')
                   then
                   begin
                            showmessage('信息不完整');
                            exit;
                   end;
                    with DM.QWages do
                    begin
                              close;
                              sql.Clear;
                              sql.Add('update Wages set WAGESDATE=:WAGESDATE,WAGES=:WAGES');
                              sql.Add('where sno=:sno');
                              ParamByName('sno').AsString:=dm.TWages.Fields[6].AsString;
                              ParamByName('WAGESDATE').AsDateTime:=DateTimePicker1.Date;
                              ParamByName('WAGES').AsFloat:=strtofloat(Edit3.Text);
                              prepare;
                              execsql;
                       end;
                       with DM.TWages do
                       begin
                              close;
                              open;
                       end;

         end;
         close;

end;

procedure Tmoney_people.ToolButton8Click(Sender: TObject);
begin
         if messagebox (0,'请问是从数据库中删除(数据库中将无此记录,Yes),还是标记该记录为删除(数据库中仍有该记录,No)?','删除提示!',mb_yesno)=mryes
         then
              begin
              with DM.QWages do
              begin
                        close;
                        sql.Clear;
                        sql.Add('delete from Wages ');
                        sql.Add('where sno=:sno');
                        ParamByName('SNO').AsString:=DM.TWages.Fields[6].AsString;
                        prepare;
                        execsql;
               end;
               with DM.TWages do
               begin
                         close;
                         open;
               end;
               showmessage('已将该记录从数据库中删除!');
              end
         else
              begin
              with  DM.QWages do
              begin
                        close;
                        sql.Clear;
                        sql.Add('update Wages set DELECT=:DELECT');
                        sql.Add('where sno=:sno');
                        ParamByName('sno').AsString:=DM.TWages.Fields[6].AsString;
                        ParamByName('DELECT').AsString:='0';
                        prepare;
                        execsql;
               end;
               with DM.TWages  do
               begin
                         close;
                         open;
               end;
               showmessage('已将该记录标记为删除!');
               end;
               close;

end;

procedure Tmoney_people.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
                  if not(key in['0'..'9',#8])then key:=#0;
end;

procedure Tmoney_people.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
              if (key in[' '..'~'])then key:=#0;
end;

procedure Tmoney_people.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
         if not (key in['0'..'9','.',#8])then key:=#0;
         if  pos('.',edit3.Text)<>0 then
         begin

             if key in ['.'] then key:=#0;
             if length(edit3.Text)-pos('.',edit3.Text)>=2 then
             begin
                 if key in['0'..'9'] then key:=#0;
             end;
         end
         else
         begin
                if length(edit3.Text)=0 then
                begin
                     if key in ['.'] then
                     begin
                               key:=#0;
                               showmessage('第一位不能为小数点');
                               exit;
                     end;

                end;
         end;
end;

end.

⌨️ 快捷键说明

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