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

📄 u_form_checkmark.pas

📁 这是delphi7.0开发的人力资源培训考核软件
💻 PAS
字号:
unit U_Form_CheckMark;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, EasyGrid, DB, ADODB;

type
  TForm_CheckMark = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Grid1: TEasyGrid;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Label6: TLabel;
    ComboBox4: TComboBox;
    Label5: TLabel;
    ComboBox3: TComboBox;
    ADOQuery1: TADOQuery;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Grid1KeyPress(Sender: TObject; var Key: Char);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_CheckMark: TForm_CheckMark;

implementation

uses U_Form_MainMenu,uAdoSet,uGlobal;

{$R *.dfm}

procedure TForm_CheckMark.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
      EnableWindow(Form_MainMenu.Handle,true);
      CanClose:=true;
end;

procedure TForm_CheckMark.FormCreate(Sender: TObject);
var
    i:integer;
    param:TStringList;
    strSql:string;
begin
     combobox3.Items.Clear;
    for i:=2006 to 2040 do
    begin
        combobox3.Items.Add(trim(intToStr(i)));
    end;///
    combobox4.Items.Clear;
    for i:=1 to 12 do
    begin
        if i<10 then
        begin
           combobox4.Items.Add('0'+trim(intToStr(i)));
        end
        else
           combobox4.Items.Add(trim(intToStr(i)));
    end;///
    ////
    param:=TStringList.Create;
    param.Clear;
    setDbFlag('HRManage');
    strSql:='Select Dept_Name  From  HRDeptName';
    FillCtrlParam(AdoQuery1,strSql,param,Combobox1,'Dept_name');
end;

procedure TForm_CheckMark.FormShow(Sender: TObject);
var
    i:integer;
begin
     grid1.Cells[1,1].ForeText:='序号';
     grid1.ColWidths[1]:=40;
     grid1.Cells[2,1].ForeText:='被考核部门';
     grid1.ColWidths[2]:=100;
     grid1.Cells[3,1].ForeText:='标准分值';
     grid1.ColWidths[3]:=80;
     grid1.Cells[4,1].ForeText:='实得分数';
     grid1.ColWidths[4]:=80;
     ///////////////////////
     for i:=1 to grid1.ColCount-1 do
     begin
         grid1.Cells[i,1].Color:=rgb(0,143,247);
         grid1.Cells[i,1].FontColor:=rgb(255,255,255);
     end;////
end;

procedure TForm_CheckMark.Button1Click(Sender: TObject);
var
    param:TStringList;
    strSql:string;
    i:integer;
begin
     if combobox1.text='' then
     begin
        showmessage('请选择考核部门名称...');
        exit;
     end;///
     if combobox3.text='' then
     begin
        showmessage('请选择年度...');
        exit;
     end;///
     if combobox4.text='' then
     begin
        showmessage('请选择月份...');
        exit;
     end;///
     param:=TStringList.Create;
     param.Clear;
     setDBFlag('HRManage');
     param.Add(trim(combobox1.text));
     param.Add(trim(combobox3.text));
     param.Add(trim(combobox4.text));
     strSql:='Select CHK_OrderID,CHK_ByCheckDept,CHK_Standard  From  HRCheckStandard  Where  CHK_CheckDept=:s1 and  CHK_year=:s2  and  CHK_Month=:s3';
     BindToGrid(AdoQuery1,strSql,param,grid1);
     grid1.ColCount:=6;
     grid1.Cells[4,1].ForeText:='标准得数';
     grid1.Cells[5,1].ForeText:='实得数';
     ///////////////////////
     for i:=1 to grid1.ColCount-1 do
     begin
         grid1.Cells[i,1].Color:=rgb(0,143,247);
         grid1.Cells[i,1].FontColor:=rgb(255,255,255);
     end;////
     grid1.Refresh;   
end;

procedure TForm_CheckMark.Grid1KeyPress(Sender: TObject; var Key: Char);
begin
      if key=#13 then
      begin
         if (grid1.col=4)  and  (grid1.row<grid1.RowCount-2) then
         begin

            ///grid1.Cells[5,grid1.Row].ForeText:=formatFloat('##0.00',strToInt(grid1.Cells[3,grid1.Row].ForeText)*strToInt(grid1.Cells[4,grid1.Row].ForeText)/100);
            grid1.Row:=grid1.Row+1;
         end;///
      end;//
end;

procedure TForm_CheckMark.Button2Click(Sender: TObject);
var
   i:integer;
begin
   for i:=2 to  grid1.RowCount-2 do
   begin
       if  (grid1.Cells[4,i].ForeText<>'') then
       begin
           grid1.Cells[5,i].ForeText:=formatFloat('##0.00',strToFloat(grid1.Cells[3,i].ForeText)*strToFloat(grid1.Cells[4,i].ForeText)/100);
       end
       else
           grid1.Cells[5,i].ForeText:='0';
   end;////
   grid1.Refresh; 
end;

procedure TForm_CheckMark.Button3Click(Sender: TObject);
var
   param:TStringList;
   strSql:string;
   i:integer;
begin
   param:=TStringList.Create;
   setDbFlag('HRManage');
   param.Clear;
   param.Add(trim(combobox1.Text));
   param.Add(trim(combobox3.Text));
   param.Add(trim(combobox4.Text));
   strSql:='Delete  From  HRCheckMark  Where  CHM_CheckDept=:s1  and  CHM_year=:s2  and  CHM_Month=:s3';
   DelRecord(AdoQuery1,strSql,param);

   for i:=2 to grid1.RowCount-2 do
   begin
       param.clear; 
       param.Add(trim(combobox1.Text));
       param.Add(trim(combobox3.Text));
       param.Add(trim(combobox4.Text));
       param.Add(trim(grid1.cells[1,i].foretext));
       param.Add(trim(grid1.cells[2,i].foretext));
       param.Add(trim(grid1.cells[3,i].foretext));
       param.Add(trim(grid1.cells[4,i].foretext));
       param.Add(trim(grid1.cells[5,i].foretext));
       strSql:='Insert Into  HRCheckMark(CHM_CheckDept,CHM_Year,CHM_Month,CHM_OrderID,CHM_ByCheckDept,CHM_Standard,CHM_Mark,CHM_RealMark) Values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8)';
       SaveRecord(AdoQuery1,strSql,param);

   end;////
   Showmessage('存盘成功...');
end;

end.

⌨️ 快捷键说明

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