📄 gpgzfind.pas
字号:
unit gpgzfind;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, Mask, Db;
type
Tgpgzfindb = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Panel2: TPanel;
Label7: TLabel;
Edit1: TEdit;
Label8: TLabel;
Edit2: TEdit;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit5: TEdit;
Edit6: TEdit;
ListBox1: TListBox;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Edit5KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit6KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid2DblClick(Sender: TObject);
procedure KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
gpgzfindb: Tgpgzfindb;
implementation
uses datamodule;
{$R *.DFM}
procedure Tgpgzfindb.Button1Click(Sender: TObject);
var
str:string;
ii:real;
begin
//str:='declare @ii float ' ;
str:='select sum(a_how) as aa,sum(a_jjgz) as bb from gpgz where (a_number like';
str:=str+''''+'%'+edit5.text+'%'+''''+ ' and '+'a_name like ';
str:=str+''''+'%'+edit6.text+'%'+''''+') and (a_date between ';
str:=str+''''+formatdatetime('mm''/''d''/''yyyy',datetimepicker1.date)+''''+' and ';
str:=str+''''+formatdatetime('mm''/''d''/''yyyy',datetimepicker2.date)+''''+')';
with datamodule1.gpgzs do
begin
close;
sql.clear;
sql.add(str);
open;
end;
edit1.text:=currtostr(datamodule1.gpgzs.fieldbyname('aa').ascurrency);
edit2.text:=currtostr(datamodule1.gpgzs.fieldbyname('bb').ascurrency);
str:='select *from gpgz where (a_number like';
str:=str+''''+'%'+edit5.text+'%'+''''+ ' and '+'a_name like ';
str:=str+''''+'%'+edit6.text+'%'+''''+') and (a_date between ';
str:=str+''''+formatdatetime('mm''/''d''/''yyyy',datetimepicker1.date)+''''+' and ';
str:=str+''''+formatdatetime('mm''/''d''/''yyyy',datetimepicker2.date)+''''+')';
with datamodule1.gpgzs do
begin
close;
sql.clear;
sql.add(str);
open;
end;
end;
procedure Tgpgzfindb.FormShow(Sender: TObject);
begin
datamodule1.gpgzs.close;
dbgrid2.visible:=false;
end;
procedure Tgpgzfindb.Edit5KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
yggbstr:string;
begin
if inttostr(key)='13' then
begin
yggbstr:='select *from yggb where a_number like ';
yggbstr:=yggbstr+''''+'%'+edit5.text+'%'+''''+' or a_name like ';
yggbstr:=yggbstr+''''+'%'+edit6.text+'%'+'''';
with datamodule1.yggb do
begin
close;
sql.clear;
sql.add(yggbstr);
prepare;
open;
end;
if datamodule1.yggb.Eof then
showmessage('查无此人')
else
begin
dbgrid2.visible:=true;
dbgrid2.setfocus;
end;
end;
end;
procedure Tgpgzfindb.Edit6KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
yggbstr:string;
begin
if inttostr(key)='13' then
begin
yggbstr:='select *from yggb where a_number like ';
yggbstr:=yggbstr+''''+'%'+edit5.text+'%'+''''+' or a_name like ';
yggbstr:=yggbstr+''''+'%'+edit6.text+'%'+'''';
with datamodule1.yggb do
begin
close;
sql.clear;
sql.add(yggbstr);
prepare;
open;
end;
if datamodule1.yggb.Eof then
showmessage('查无此人')
else
dbgrid2.visible:=true;
end;
end;
procedure Tgpgzfindb.Button2Click(Sender: TObject);
begin
if application.messagebox('你确定要删除此记录吗?','程序执行确认',mb_yesno+mb_defbutton2+mb_iconstop+mb_applmodal)=idyes then
datamodule1.gpgzs.Delete
else
showmessage('此记录并未删除');
end;
procedure Tgpgzfindb.Button3Click(Sender: TObject);
begin
self.close;
end;
procedure Tgpgzfindb.DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if inttostr(key)='109' then
button2.Click;
end;
procedure Tgpgzfindb.DBGrid2DblClick(Sender: TObject);
begin
edit5.text:=datamodule1.yggb.fieldbyname('a_number').asstring;
edit6.text:=datamodule1.yggb.fieldbyname('a_name').asstring;
dbgrid2.visible:=false;
end;
procedure Tgpgzfindb.KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
yggbstr:string;
begin
yggbstr:='select *from yggb where a_number='+''''+edit5.text+'''';
yggbstr:=yggbstr+' and a_name='+''''+edit6.text+'''';
with datamodule1.yggb do
begin
close;
sql.clear;
sql.add(yggbstr);
prepare;
open;
end;
edit5.text:=datamodule1.yggb.fieldbyname('a_number').asstring;
edit6.text:=datamodule1.yggb.fieldbyname('a_name').asstring;
dbgrid2.visible:=false;
end;
procedure Tgpgzfindb.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 := $00F5FEFD;
0: lastcolor := clwhite;
end;
if gdSelected in State then
lastcolor := clred; //选中行背景为绿色
Canvas.Brush.Color := lastcolor;
DefaultDrawDataCell(Rect, Column.Field, State);
end;
end;
procedure Tgpgzfindb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
self.release;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -