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

📄 u_kqlr.pas

📁 人力资源管理系统自动计算员工工资。自动生成员工工资报表。实现员工岗位调动操作。实现员工离职、复职操作。支持数据的模糊查询机制。运行环境 操作系统:Windows 2000/NT/XP/ME 开发工
💻 PAS
字号:
unit U_kqlr;

interface

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

type
  Tfrm_kqxx = class(TForm)
    Panel1: TPanel;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    SpeedButton2: TSpeedButton;
    ToolButton1: TToolButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    ToolButton2: TToolButton;
    SpeedButton6: TSpeedButton;
    Panel2: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    Panel3: TPanel;
    Label9: TLabel;
    SpeedButton3: TSpeedButton;
    Edit1: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Edit5: TEdit;
    Edit6: TEdit;
    procedure FormShow(Sender: TObject);
    procedure editvalue;
    procedure editclear;
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Edit5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit6KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  frm_kqxx: Tfrm_kqxx;

implementation

uses U_data;

{$R *.dfm}

procedure Tfrm_kqxx.FormShow(Sender: TObject);
begin
with data1.ADOQYkqxx do
   begin
      close;
      sql.Clear;
      sql.Add('select * from 考勤表');
      open;
   end;
   data1.ADOQYkqxx.Active:=true;
   if data1.ADOQYkqxx.FieldByName('月平均工作天数').Value= null then
      edit3.Text:=''
   else
      editvalue;
end;

procedure Tfrm_kqxx.editvalue;
begin
edit3.Text:=data1.ADOQYkqxx.FieldByName('月平均工作天数').Value;
edit4.Text:=data1.ADOQYkqxx.FieldByName('几倍').Value;
edit1.Text:=data1.ADOQYkqxx.FieldByName('迟到早退次数').Value;
edit5.Text:=data1.ADOQYkqxx.FieldByName('全勤奖').Value;
edit6.Text:=data1.ADOQYkqxx.FieldByName('出勤天数').Value;
end;

procedure Tfrm_kqxx.editclear;
begin
edit1.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
end;

procedure Tfrm_kqxx.SpeedButton6Click(Sender: TObject);
begin
close;
end;

procedure Tfrm_kqxx.SpeedButton4Click(Sender: TObject);
begin
if (edit1.Text<>'') and (edit3.Text<>'') and (edit4.Text<>'') and (edit5.Text<>'') and (edit6.Text<>'') then
begin
if data1.ADOQYkqxx.FieldByName('全勤奖').Value<>null then
application.MessageBox('考勤信息已经存在,不能重复添加,如有需要请修改信息!','提示',64)
else
begin
try
with data1.ADOQYkqxx do
   begin
      close;
      sql.Clear;
      sql.Add('insert 考勤表 values (:a,:b,:c,:d,:e)');
      parameters.ParamByName('a').Value:=strtofloat(trim(edit5.Text));
      parameters.ParamByName('b').Value:=trim(edit6.Text);
      parameters.ParamByName('c').Value:=strtofloat(trim(edit1.Text));
      parameters.ParamByName('d').Value:=trim(edit3.Text);
      parameters.ParamByName('e').Value:=strtofloat(trim(edit4.Text));
      execsql;
   end;
      self.OnShow(sender);
      editclear;
      application.MessageBox('添加成功','提示',64);  
   except
      application.MessageBox('系统出错!','提示',64);
   end;
end;
end
else
   application.MessageBox('请详细设置考勤信息','提示',64);
end;

procedure Tfrm_kqxx.SpeedButton5Click(Sender: TObject);
begin
editclear;
end;

procedure Tfrm_kqxx.SpeedButton3Click(Sender: TObject);
begin
if messagebox(self.Handle,'真的要删除吗?','提示',mb_yesno+mb_iconquestion)=idyes then
data1.ADOQYkqxx.Delete;
editclear;
end;

procedure Tfrm_kqxx.SpeedButton2Click(Sender: TObject);
begin
with data1.ADOQYkqxx do
   begin
      edit;
      fieldbyname('全勤奖').Value:=trim(edit5.Text);
      fieldbyname('出勤天数').Value:=trim(edit6.Text);
      fieldbyname('迟到早退次数').Value:=trim(edit1.Text);
      fieldbyname('月平均工作天数').Value:=trim(edit3.Text);
      fieldbyname('几倍').Value:=trim(edit4.Text);
      post
   end;
      application.MessageBox('修改成功','提示',64);
end;

procedure Tfrm_kqxx.DBGrid1CellClick(Column: TColumn);
begin
if dbgrid1.DataSource.DataSet<>nil then
   if dbgrid1.DataSource.DataSet.RecordCount>0 then
   editvalue;
end;

procedure Tfrm_kqxx.Edit5KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if ((Key = vk_Return) or(Key = vk_Down)) then
   edit6.SetFocus
end;

procedure Tfrm_kqxx.Edit6KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if ((Key = vk_Return) or(Key = vk_Down)) then
   edit4.SetFocus
else
   if Key = vk_Up then
    edit5.SetFocus;
end;

procedure Tfrm_kqxx.Edit4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if ((Key = vk_Return) or(Key = vk_Down)) then
   edit1.SetFocus
else
   if Key = vk_Up then
    edit6.SetFocus;
end;

procedure Tfrm_kqxx.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if ((Key = vk_Return) or(Key = vk_Down)) then
   edit3.SetFocus
else
   if Key = vk_Up then
    edit4.SetFocus;
end;

procedure Tfrm_kqxx.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Key = vk_Up then
   edit1.SetFocus;
end;

end.

⌨️ 快捷键说明

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