📄 powerset.pas
字号:
unit PowerSet;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, RzRadChk, RzDBChk, StdCtrls, Mask, RzEdit, RzDBEdit,
dbcgrids, ExtCtrls, RzPanel, RzCmboBx, RzDBCmbo, DB, cxStyles,
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit,
cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid;
type
TPowerSetForm = class(TForm)
RzGroupBox1: TRzGroupBox;
Panel1: TPanel;
cxGrid1: TcxGrid;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1DBTableView1DBColumn1: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn8: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn3: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn4: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn5: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn6: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn7: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
RzBitBtn1: TRzBitBtn;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
cxGrid1DBTableView1DBColumn2: TcxGridDBColumn;
procedure RzBitBtn4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzBitBtn3Click(Sender: TObject);
//检测系统管理员的人数
function TestAdministrators:boolean;
//权限窗口显示的内容
procedure ShowPowerChange(id:integer);
procedure RzBitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
PowerSetForm: TPowerSetForm;
implementation
uses DM, EditPower;
{$R *.dfm}
procedure TPowerSetForm.RzBitBtn4Click(Sender: TObject);
begin
Close;
end;
procedure TPowerSetForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM1.ADODataSet11.Cancel;
end;
procedure TPowerSetForm.RzBitBtn3Click(Sender: TObject);
begin
//删除
if Messagebox(handle,'您确定要删除这个用户记录吗?','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then begin
if TestAdministrators then
Messagebox(handle,'系统要求必须有一个“系统管理员”!删除操作被拒绝!','警告',MB_OK+MB_ICONERROR)
else
DM1.ADODataSet11.Delete;
end;
end;
function TPowerSetForm.TestAdministrators: boolean;
begin
//检测管理员的人数
Result:=false;
with DM1.ADOQuery1 do try
Close;
SQL.Clear;
SQL.Add('Select * from 用户 where 用户类型='+''''+'系统管理员'+'''');
Open;
if (RecordCount<=1)and(DM1.ADODataSet11.FieldByName('用户类型').AsString='系统管理员') then
Result:=true
else Result:=false;
except
end;
end;
procedure TPowerSetForm.RzBitBtn2Click(Sender: TObject);
begin
ShowPowerChange(TRzBitBtn(sender).Tag);
end;
procedure TPowerSetForm.ShowPowerChange(id: integer);
var
Read:Boolean;
begin
//编辑
if ID=1 then DM1.ADODataSet11.Append;
Read:=TestAdministrators;
with EditPowerForm do try
RzDBComboBox1.ReadOnly:=Read;
RzDBCheckBox1.ReadOnly:=Read;
RzDBCheckBox2.ReadOnly:=Read;
RzDBCheckBox3.ReadOnly:=Read;
RzDBCheckBox4.ReadOnly:=Read;
RzDBCheckBox5.ReadOnly:=Read;
RzDBCheckBox6.ReadOnly:=Read;
if Read then
Label3.Caption:='说明:系统管理员拥有最高权限,无需更改。'
else Label3.Caption:='说明:您可以分配、管理各用户权限。';
Showmodal;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -