📄 userunit.pas
字号:
unit userunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Buttons, ToolWin, StdCtrls, Mask, DBCtrls, Grids,
DBGrids, DB, ADODB;
type
Tuserform = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
ToolBar1: TToolBar;
sb_add: TSpeedButton;
sb_edit: TSpeedButton;
sb_del: TSpeedButton;
sb_save: TSpeedButton;
sb_cancel: TSpeedButton;
sb_close: TSpeedButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBGrid1: TDBGrid;
a: TADODataSet;
dsa: TDataSource;
GroupBox1: TGroupBox;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
DBCheckBox3: TDBCheckBox;
DBCheckBox4: TDBCheckBox;
DBCheckBox5: TDBCheckBox;
DBCheckBox6: TDBCheckBox;
DBCheckBox7: TDBCheckBox;
DBCheckBox8: TDBCheckBox;
DBCheckBox9: TDBCheckBox;
DBCheckBox10: TDBCheckBox;
DBCheckBox11: TDBCheckBox;
DBCheckBox12: TDBCheckBox;
DBCheckBox13: TDBCheckBox;
DBCheckBox14: TDBCheckBox;
DBCheckBox15: TDBCheckBox;
DBCheckBox16: TDBCheckBox;
DBLookupListBox1: TDBLookupListBox;
aDSDesigner: TStringField;
aDSDesigner2: TStringField;
aDSDesigner3: TStringField;
abm: TBooleanField;
agz: TBooleanField;
abase: TBooleanField;
aqcye: TBooleanField;
ainfor: TBooleanField;
aautodz: TBooleanField;
aautodel: TBooleanField;
amanual: TBooleanField;
agetfunds: TBooleanField;
alx: TBooleanField;
adellx: TBooleanField;
ayecx: TBooleanField;
amxcx: TBooleanField;
agr_dw: TBooleanField;
auser1: TBooleanField;
adataback: TBooleanField;
asysuser: TBooleanField;
procedure sb_closeClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure sb_addClick(Sender: TObject);
procedure sb_editClick(Sender: TObject);
procedure sb_saveClick(Sender: TObject);
procedure sb_cancelClick(Sender: TObject);
procedure sb_delClick(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
procedure FormCreate(Sender: TObject);
procedure DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
userform: Tuserform;
implementation
uses dmunit;
{$R *.dfm}
procedure Tuserform.sb_closeClick(Sender: TObject);
begin
if sb_save.Enabled =true then
begin
messagebox(self.Handle,'请确定是保存还是取消,然后退出','提示信息',mb_iconinformation);
exit;
end;
a.Active:=false;
close;
end;
procedure Tuserform.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=113 then
if sb_add.Enabled =true then
sb_add.Click ;
if key=114 then
if sb_edit.Enabled =true then
sb_edit.Click ;
if key=115 then
if sb_del.Enabled =true then
sb_del.Click ;
if key=116 then
if sb_save.Enabled =true then
sb_save.Click ;
if key=117 then
if sb_cancel.Enabled =true then
sb_cancel.Click ;
if key=119 then
sb_close.Click ;
end;
procedure Tuserform.sb_addClick(Sender: TObject);
begin
try
a.Append ;
dbedit1.ReadOnly:=false;
dbedit2.ReadOnly:=false;
dbedit3.ReadOnly:=false;
dbedit1.SetFocus ;
dbgrid1.Enabled:=false;
sb_add.Enabled:=false;
sb_edit.Enabled :=false;
sb_del.Enabled :=false;
sb_save.Enabled :=true;
sb_cancel.Enabled :=true;
except
messagebox(self.Handle,'增加记录失败','提示信息',mb_iconinformation);
end;
end;
procedure Tuserform.sb_editClick(Sender: TObject);
begin
try
a.Edit ;
dbedit1.ReadOnly:=false;
dbedit2.ReadOnly:=false;
dbedit3.ReadOnly:=false;
dbedit1.SetFocus ;
dbgrid1.Enabled:=false;
sb_add.Enabled:=false;
sb_edit.Enabled :=false;
sb_del.Enabled :=false;
sb_save.Enabled :=true;
sb_cancel.Enabled :=true;
except
messagebox(self.Handle,'增加记录失败','提示信息',mb_iconinformation);
end;
end;
procedure Tuserform.sb_saveClick(Sender: TObject);
begin
if (dbedit1.Text='')or (dbedit2.Text='')or(dbedit3.Text='')then
begin
messagebox(self.Handle,'请正确填写信息','提示信息',mb_iconinformation);
exit;
end;
try
a.Post ;
dbedit1.ReadOnly:=true;
dbedit2.ReadOnly:=true;
dbedit3.ReadOnly:=true;
dbgrid1.Enabled:=true;
sb_add.Enabled:=true;
sb_edit.Enabled :=true;
sb_del.Enabled :=true;
sb_save.Enabled :=false;
sb_cancel.Enabled :=false;
except
messagebox(self.Handle,'增加记录失败','提示信息',mb_iconinformation);
end;
end;
procedure Tuserform.sb_cancelClick(Sender: TObject);
begin
try
a.Cancel;
dbedit1.ReadOnly:=true;
dbedit2.ReadOnly:=true;
dbedit3.ReadOnly:=true;
dbgrid1.Enabled:=true;
sb_add.Enabled:=true;
sb_edit.Enabled :=true;
sb_del.Enabled :=true;
sb_save.Enabled :=false;
sb_cancel.Enabled :=false;
except
messagebox(self.Handle,'增加记录失败','提示信息',mb_iconinformation);
end;
end;
procedure Tuserform.sb_delClick(Sender: TObject);
begin
if a.FieldValues['sysuser']=true then
begin
messagebox(self.Handle,'不能删除系统管理员','提示信息',mb_iconinformation);
exit;
end;
try
if messagebox(self.Handle,'确定要删除此操作员吗?','提示信息',mb_yesno+mb_iconinformation)=idyes then
a.Delete ;
except
messagebox(self.Handle,'删除记录失败','提示信息',mb_iconinformation);
end;
end;
procedure Tuserform.PageControl1Change(Sender: TObject);
begin
case self.PageControl1.ActivePageIndex of
0:
begin
sb_add.Enabled:=true;
sb_edit.Enabled :=true;
sb_del.Enabled :=true;
sb_save.Enabled :=false;
sb_cancel.Enabled :=false;
a.Edit ;
a.Post ;
end;
1:
begin
a.First ;
sb_add.Enabled:=false;
sb_edit.Enabled :=false;
sb_del.Enabled :=false;
sb_save.Enabled :=false;
sb_cancel.Enabled :=false;
end;
end;
end;
procedure Tuserform.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
if sb_save.Enabled =true then
begin
messagebox(self.Handle,'请确定是保存还是取消,然后退出','提示信息',mb_iconinformation);
allowchange:=false;
end;
end;
procedure Tuserform.FormCreate(Sender: TObject);
begin
pagecontrol1.ActivePageIndex:=0;
a.Open ;
end;
procedure Tuserform.DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
selectnext(sender as twincontrol,true,true);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -