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

📄 th.pas

📁 2004090611144625767.rar 资源名称:通用工资管理
💻 PAS
字号:
unit th;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Db, Grids, DBGrids;

type
  Tthb = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Button1: TButton;
    DBGrid2: TDBGrid;
    DataSource1: TDataSource;
    procedure FormShow(Sender: TObject);
    procedure Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure Button1Click(Sender: TObject);
    procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  thb: Tthb;

implementation

uses datamodule;

{$R *.DFM}

procedure Tthb.FormShow(Sender: TObject);
begin
dbgrid2.visible:=false;
edit1.text:='';
edit2.text:='';
end;

procedure Tthb.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
 var
  str:string;
begin
if inttostr(key)='13' then
begin
str:='select *from yggb where a_number like ';
str:=str+''''+'%'+edit1.text+'%'+'''';
  with datamodule1.yggb do
  begin
  close;
  sql.clear;
  sql.add(str);
  prepare;
  open;
  end;
  if datamodule1.yggb.eof then
   showmessage('查无此人,请重新输入,谢谢!')
   else
   begin
   dbgrid2.visible:=true;
  dbgrid2.setfocus;
  end;
  end;
  end;

procedure Tthb.Edit2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
 var
  str:string;
begin
if inttostr(key)='13' then
begin
str:='select *from yggb where a_name like ';
str:=str+''''+'%'+edit2.text+'%'+'''';
  with datamodule1.yggb do
  begin
  close;
  sql.clear;
  sql.add(str);
  prepare;
  open;
  end;
  if datamodule1.yggb.eof then
   showmessage('查无此人,请重新输入,谢谢!')
   else
   begin
   dbgrid2.visible:=true;
  dbgrid2.setfocus;
  end;
  end;
  end;

procedure Tthb.DBGrid2CellClick(Column: TColumn);
var
str:string;
begin
edit1.text:=datamodule1.yggb.fieldbyname('a_number').asstring;
edit2.text:=datamodule1.yggb.fieldbyname('a_name').asstring;
str:='select sum(a_yj) as aa from yjb where a_number=';
str:=str+''''+edit1.text+''''+' and a_name=';
str:=str+''''+edit2.text+'''';
dbgrid2.visible:=false;
with datamodule1.yjbs do
begin
close;
sql.clear;
sql.add(str);
prepare;
open;
end;
if datamodule1.yjbs.eof then
showmessage('查无此人')
else
edit3.text:=floattostr(datamodule1.yjbs.fieldbyname('aa').asfloat);
end;

procedure Tthb.Button1Click(Sender: TObject);
var
strr:string;
begin
strr:='select *from yjb where a_number=';
strr:=strr+''''+edit1.text+''''+' and a_name=';
strr:=strr+''''+edit2.text+'''';
with datamodule1.yjbs do
begin
close;
sql.clear;
sql.add(strr);
prepare;
open;
end;
while not datamodule1.yjbs.Eof do
begin
datamodule1.yjbs.Delete;
datamodule1.yjbs.Next;
end;
showmessage('退还成功');
self.close;
end;

procedure Tthb.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
 lastcolor: TColor;
begin
 with (Sender as TDBGrid) do
 begin
   lastcolor := clred;

   case DataSource.DataSet.RecNo mod 2 of
     1: lastcolor := cllime;
     0: lastcolor := clwhite;
   end;

   if gdSelected in State then
     lastcolor := clred;      //选中行背景为绿色

   Canvas.Brush.Color := lastcolor;
   DefaultDrawDataCell(Rect, Column.Field, State);
 end;
end;

procedure Tthb.DBGrid2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
str:string;
begin
if key=13 then
begin
edit1.text:=datamodule1.yggb.fieldbyname('a_number').asstring;
edit2.text:=datamodule1.yggb.fieldbyname('a_name').asstring;
str:='select sum(a_yj) as aa from yjb where a_number=';
str:=str+''''+edit1.text+''''+' and a_name=';
str:=str+''''+edit2.text+'''';
dbgrid2.visible:=false;
with datamodule1.yjbs do
begin
close;
sql.clear;
sql.add(str);
prepare;
open;
end;
if datamodule1.yjbs.eof then
showmessage('查无此人')
else
edit3.text:=floattostr(datamodule1.yjbs.fieldbyname('aa').asfloat);
end;
if key=27 then
dbgrid2.visible:=false;
end;

procedure Tthb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
self.release;
end;

end.

⌨️ 快捷键说明

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