📄 u_form_checkmark.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 + -