📄 unit5.~pas
字号:
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Db, DBTables, DBCtrls, Mask, Buttons;
type
Tfrm_setup = class(TForm)
DataSource1: TDataSource;
DataSource2: TDataSource;
Table1: TTable;
Table2: TTable;
Table3: TTable;
DataSource3: TDataSource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
btn_add: TButton;
btn_del: TButton;
Button4: TButton;
Label2: TLabel;
Label3: TLabel;
lbl_date: TLabel;
lbl_rec: TLabel;
Label26: TLabel;
DataSource4: TDataSource;
Query1: TQuery;
btn_seek: TBitBtn;
procedure btn_addClick(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure btn_delClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure Button2Click(Sender: TObject);
procedure btn_seekClick(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid2CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_setup: Tfrm_setup;
implementation
uses Unit11, Unit18;
{$R *.DFM}
procedure Tfrm_setup.btn_addClick(Sender: TObject);
begin
frm_add1.show;
end;
procedure Tfrm_setup.Button4Click(Sender: TObject);
begin
if btn_seek.Font.color=clblack then
self.close;
if btn_seek.font.color=clred then
messagedlg('请先解除排序!',mtwarning,[mbok],0);
end;
procedure Tfrm_setup.btn_delClick(Sender: TObject);
var
findcondition:string;
begin
if table1.recordcount>0 then
begin
if inputquery('查找条件输入框','请输入要删除的序号: ',findcondition) then
begin
if not table1.locate('序号',findcondition,[]) then
begin
messagedlg('查无此记录!',mtwarning,[mbok],0);
end
else
begin
if messagedlg('真的要删除吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
table1.delete;
end;
end;
end
else
messagedlg('无记录可删除!',mtwarning,[mbok],0);
end;
procedure Tfrm_setup.FormCreate(Sender: TObject);
begin
lbl_date.Caption:=datetostr(date());
lbl_rec.Caption:=inttostr(table1.recordcount);
end;
procedure Tfrm_setup.DataSource1DataChange(Sender: TObject; Field: TField);
begin
lbl_rec.caption:=inttostr(table1.recordcount);
end;
procedure Tfrm_setup.Button2Click(Sender: TObject);
begin
btn_add.Visible:=false;
btn_del.Visible:=false;
frm_query.show;
end;
procedure Tfrm_setup.btn_seekClick(Sender: TObject);
begin
frm_query.show;
end;
procedure Tfrm_setup.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (dbgrid1.SelectedIndex=1) or
(dbgrid1.SelectedIndex=2) then key:=chr(0);
end;
procedure Tfrm_setup.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
if (dbgrid1.SelectedIndex=2) or
(dbgrid1.SelectedIndex=7) then key:=chr(0);
end;
procedure Tfrm_setup.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (table1.recno=table1.recordcount) and (key=vk_down) then key:=0;
end;
procedure Tfrm_setup.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
If table1.FieldByName('选择').AsBoolean then
begin
dbgrid1.Canvas.Brush.Color:=$02554411;
dbgrid1.Canvas.Font.Color:=$02FFFFFF;
dbgrid2.Canvas.Brush.Color:=$02554411;
dbgrid2.Canvas.Font.Color:=$02FFFFFF;
end
else begin
If Odd(table1.FieldByName('序号').AsInteger) then
begin
dbgrid1.Canvas.Brush.Color:=$02E0E8F0
dbgrid2.Canvas.Brush.Color:=$02E0E8F0
end
else begin
dbgrid1.Canvas.Brush.Color:=$02E8F8F8;
dbgrid2.Canvas.Brush.Color:=$02E8F8F8;
end;
dbgrid1.Canvas.Font.Color:=$02330000;
dbgrid2.Canvas.Font.Color:=$02330000;
end;
dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
dbgrid2.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure Tfrm_setup.DBGrid1CellClick(Column: TColumn);
begin
with table1 do
begin
if RecordCount<1 then Exit;
if State<>dsEdit then Edit;
if FieldByName('选择').AsBoolean
then FieldByName('选择').AsBoolean := False
else FieldByName('选择').AsBoolean := True;
Post;
end;
end;
procedure Tfrm_setup.DBGrid2CellClick(Column: TColumn);
begin
with table1 do
begin
if RecordCount<1 then Exit;
if State<>dsEdit then Edit;
if FieldByName('选择').AsBoolean
then FieldByName('选择').AsBoolean := False
else FieldByName('选择').AsBoolean := True;
Post;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -