📄 uz_cbkz_xl.pas
字号:
unit uz_cbkz_xl;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, Db, DBTables, StdCtrls,u_main;
type
Tz_cbkz_xl = class(TForm)
DBGrid1: TDBGrid;
xl: TQuery;
d_xl: TDataSource;
xlBh: TIntegerField;
xlLb: TStringField;
xlBm: TStringField;
xlJl: TStringField;
xlYl: TStringField;
xlDj: TFloatField;
xlJll: TFloatField;
Label1: TLabel;
cx: TEdit;
procedure FormShow(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure cxChange(Sender: TObject);
procedure cxEnter(Sender: TObject);
procedure cxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cxKeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
z_cbkz_xl: Tz_cbkz_xl;
implementation
{$R *.DFM}
procedure Tz_cbkz_xl.FormShow(Sender: TObject);
begin
cx.SetFocus;
cx.text:=c_key;
cx.SelStart:=2;
end;
procedure Tz_cbkz_xl.DBGrid1DblClick(Sender: TObject);
begin
if xl.recordcount=0 then exit;
esc_enter:=1;
close;
end;
procedure Tz_cbkz_xl.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 Tz_cbkz_xl.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and (xl.recordcount<>0) then
begin
esc_enter:=1;
close;
end;
end;
procedure Tz_cbkz_xl.cxChange(Sender: TObject);
begin
with xl do
begin
DisableControls;
sql.Clear;
sql.add('SELECT * FROM clsz where bm like :s_cx');
ParamByName('s_cx').asstring:=trim(cx.text)+'%';
active:=false;
active:=true;
EnableControls;
end;
end;
procedure Tz_cbkz_xl.cxEnter(Sender: TObject);
begin
cx.SelStart:=length(cx.text)+1;
end;
procedure Tz_cbkz_xl.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 Tz_cbkz_xl.cxKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) and (xl.recordcount<>0) then
begin
esc_enter:=1;
close;
end;
end;
procedure Tz_cbkz_xl.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=27 then close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -