📄 ug_ckcx.pas
字号:
unit ug_ckcx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, StdCtrls,u_main, Menus, DBTables, Db;
type
Tg_ckcx = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
ckcx: TEdit;
q_ck: TQuery;
StringField22: TStringField;
q_ckdwmc: TStringField;
q_ckzjm: TStringField;
q_ckxfcs: TIntegerField;
q_ckxfze: TFloatField;
q_ckxydj: TStringField;
q_ckdbxm: TStringField;
q_ckzw: TStringField;
q_ckqldj: TStringField;
q_ckxb: TStringField;
q_ckdwxz: TStringField;
q_ckdwxz1: TStringField;
q_ckdwdz: TStringField;
q_ckdh: TStringField;
dq_ck: TDataSource;
dwxz: TTable;
dwxzBh: TStringField;
dwxzDwxz: TStringField;
d_dwxz: TDataSource;
procedure FormShow(Sender: TObject);
procedure ckcxChange(Sender: TObject);
procedure ckcxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure ckcxEnter(Sender: TObject);
procedure ckcxKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
g_ckcx: Tg_ckcx;
implementation
uses uz_ckgl;
{$R *.DFM}
procedure Tg_ckcx.FormShow(Sender: TObject);
begin
if not dwxz.Active then dwxz.Active:=true;
ActiveControl:=ckcx;
ckcx.text:=c_key;
ckcx.SelStart:=2;
end;
procedure Tg_ckcx.ckcxChange(Sender: TObject);
begin
if length(trim(ckcx.text))=1 then
try
strtoint(copy(ckcx.text,1,1));
i_key:=48;
except
i_key:=65;
end;
with q_ck do
begin
DisableControls;
sql.Clear;
if i_key=48 then
sql.add('SELECT ckbh,dwmc,zjm,xfcs,xfze,xydj,dbxm,zw,qldj,xb,dwxz,dwdz,dh FROM ckzl where upper(ckbh) like :s_ckbh')
else
sql.add('SELECT ckbh,dwmc,zjm,xfcs,xfze,xydj,dbxm,zw,qldj,xb,dwxz,dwdz,dh FROM ckzl where upper(zjm) like :s_ckbh');
ParamByName('s_ckbh').asstring:=trim(ckcx.text)+'%';
active:=false;
active:=true;
EnableControls;
end;
end;
procedure Tg_ckcx.ckcxKeyDown(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_ckcx.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
ckcx.setfocus;
c_key:=chr(key);
ckcx.text:=ckcx.text+c_key;
end;
end;
procedure Tg_ckcx.DBGrid1DblClick(Sender: TObject);
begin
if q_ck.recordcount=0 then exit;
esc_enter:=1;
close;
end;
procedure Tg_ckcx.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and (q_ck.recordcount<>0) then
begin
esc_enter:=1;
close;
end;
end;
procedure Tg_ckcx.ckcxEnter(Sender: TObject);
begin
ckcx.SelStart:=length(ckcx.text)+1;
end;
procedure Tg_ckcx.ckcxKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and (q_ck.recordcount<>0) then DBGrid1.setfocus;
end;
procedure Tg_ckcx.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#27 then close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -