📄 ug_dc.pas
字号:
unit ug_dc;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, StdCtrls,u_main, Db, DBTables;
type
Tg_dc = class(TForm)
cx: TEdit;
Label3: TLabel;
DBGrid1: TDBGrid;
q_dc: TQuery;
q_dcclh: TStringField;
q_dcCH: TStringField;
q_dcMc: TStringField;
q_dcdj: TFloatField;
q_dcgg: TStringField;
q_dclbh: TStringField;
q_dcdzl: TFloatField;
dq_dc: TDataSource;
procedure cxChange(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure cxKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure cxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cxEnter(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
g_dc: Tg_dc;
implementation
{$R *.DFM}
procedure Tg_dc.cxChange(Sender: TObject);
begin
if length(trim(cx.text))=1 then
try
strtoint(copy(cx.text,1,1));
i_key:=48;
except
i_key:=65;
end;
with q_dc do
begin
DisableControls;
sql.Clear;
if i_key=48 then
begin
sql.add('SELECT clh,ch,Mc,dj,gg,lbh,dzl FROM cy where ch like :s_ch');
ParamByName('s_ch').asstring:=trim(cx.text)+'%';
end;
if i_key=65 then
begin
sql.add('SELECT clh,ch,Mc,dj,gg,lbh,dzl FROM cy where zjm like :s_zjm');
ParamByName('s_zjm').asstring:=trim(cx.text)+'%';
end;
active:=false;
active:=true;
EnableControls;
end;
if (length(trim(cx.text))=4) and (q_dc.RecordCount<>0) then
begin
esc_enter:=1;
close;
end;
end;
procedure Tg_dc.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#27 then
begin
esc_enter:=0;
close;
end;
end;
procedure Tg_dc.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and (q_dc.recordcount<>0) then
begin
esc_enter:=1;
close;
end;
end;
procedure Tg_dc.cxKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and (q_dc.recordcount<>0) then
begin
esc_enter:=1;
close;
end;
end;
procedure Tg_dc.FormShow(Sender: TObject);
begin
ActiveControl:=cx;
cx.text:=c_key;
cx.SelStart:=2;
end;
procedure Tg_dc.cxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=38) or (key=40) or (key=33) or (key=34) then DBGrid1.setfocus;
end;
procedure Tg_dc.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((key>=48) and (key<=57)) or ((key>=65) and (key<=90)) or ((key>=96) and (key<=105)) then
begin
c_key:=chr(key);
cx.text:=cx.text+c_key;
cx.setfocus;
end;
end;
procedure Tg_dc.cxEnter(Sender: TObject);
begin
cx.SelStart:=length(cx.text)+1;
end;
procedure Tg_dc.DBGrid1DblClick(Sender: TObject);
begin
if q_dc.recordcount=0 then exit;
esc_enter:=1;
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -