📄 unit3.~pas
字号:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls, DBCtrls, Buttons;
type
Tfrm_worker = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
btn_del: TButton;
btn_back: TButton;
Label3: TLabel;
Query1: TQuery;
btn_add: TButton;
btn_sort: TBitBtn;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
lbl_date: TLabel;
lbl_rec: TLabel;
procedure btn_backClick(Sender: TObject);
procedure btn_delClick(Sender: TObject);
procedure btn_addClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBComboBox1Change(Sender: TObject);
procedure btn_sortClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
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);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_worker: Tfrm_worker;
implementation
uses Unit1, Unit6, Unit7, Unit17;
{$R *.DFM}
procedure Tfrm_worker.btn_backClick(Sender: TObject);
begin
if btn_sort.font.color=clred then
messagedlg('请先解除排序!',mtwarning,[mbok],0);
if btn_sort.Font.color=clblack then
self.close;
end;
procedure Tfrm_worker.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_worker.btn_addClick(Sender: TObject);
begin
table1.Append;
table1.Post;
end;
procedure Tfrm_worker.FormShow(Sender: TObject);
begin
if frm_pwdcheck.Query1.FieldByName('权限').asstring<>'管理' then
begin
table1.close;
table1.readonly:=true;
table1.open;
end
else
begin
table1.Close;
table1.readonly:=false;
table1.Open;
end;
end;
procedure Tfrm_worker.DBComboBox1Change(Sender: TObject);
begin
table1.Post;
table1.Edit;
end;
procedure Tfrm_worker.btn_sortClick(Sender: TObject);
begin
btn_add.Visible:=false;
btn_del.Visible:=false;
btn_sort.Font.Color:=clred;
frm_sort.show;
end;
procedure Tfrm_worker.BitBtn1Click(Sender: TObject);
begin
frm_sort.show;
end;
procedure Tfrm_worker.Button1Click(Sender: TObject);
begin
frm_add.show;
end;
procedure Tfrm_worker.FormCreate(Sender: TObject);
begin
lbl_date.Caption:=datetostr(date());
lbl_rec.Caption:=inttostr(table1.recordcount);
end;
procedure Tfrm_worker.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
lbl_rec.Caption:=inttostr(table1.recordcount);
end;
procedure Tfrm_worker.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (table1.recno=table1.recordcount) and (key=vk_down) then key:=0;
end;
procedure Tfrm_worker.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;
end
else begin
If Odd(table1.FieldByName('序号').AsInteger)
then dbgrid1.Canvas.Brush.Color:=$02E0E8F0
else dbgrid1.Canvas.Brush.Color:=$02E8F8F8;
dbgrid1.Canvas.Font.Color:=$02330000;
end;
dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure Tfrm_worker.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;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -