📄 setgroupunit.pas
字号:
unit SetGroupUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SUIImagePanel, SUIGroupBox, SUIRadioGroup, DB, DBClient,
SUIButton, Grids, DBGrids, SUIDBCtrls, ExtCtrls, StdCtrls, Mask, DBCtrls;
type
TSetGroupForm = class(TForm)
suiPanel1: TsuiPanel;
suiDBGrid2: TsuiDBGrid;
btn1: TsuiButton;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton7: TsuiButton;
suiButton8: TsuiButton;
suiButton3: TsuiButton;
ds1: TClientDataSet;
ds2: TDataSource;
suiCheckGroup1: TsuiCheckGroup;
ds1GroupID: TIntegerField;
wdstrngfldds1GroupName: TWideStringField;
wdstrngfldds1Powers: TWideStringField;
lbl1: TLabel;
dbedtGroupID: TDBEdit;
lbl2: TLabel;
dbedtGroupName: TDBEdit;
lbl3: TLabel;
dbedtPowers: TDBEdit;
procedure suiButton3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ds1AfterScroll(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure suiButton8Click(Sender: TObject);
procedure suiButton7Click(Sender: TObject);
procedure suiCheckGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SetGroupForm: TSetGroupForm;
implementation
uses SetUserUnit, LoginUnit;
{$R *.dfm}
procedure TSetGroupForm.suiButton3Click(Sender: TObject);
begin
close;
end;
procedure TSetGroupForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
self.ds1.Close;
SetUserForm.Enabled:=True;
end;
procedure TSetGroupForm.ds1AfterScroll(DataSet: TDataSet);
var
control:string;
index:integer;
flag:string;
begin
control:=Self.ds1.fieldbyname('powers').AsString;
for index:=0 to self.suiCheckGroup1.Items.Count-1 do
Self.suiCheckGroup1.Checked[index]:=false;
for index:=0 to self.suiCheckGroup1.Items.Count-1 do
begin
flag:=Copy(control,index+1,1);
if flag='1' then
Self.suiCheckGroup1.Checked[index]:=True;
end;
end;
procedure TSetGroupForm.FormCreate(Sender: TObject);
begin
self.ds1.Close;
Self.ds1.Open;
end;
procedure TSetGroupForm.btn1Click(Sender: TObject);
var
groupid:string;
powers:string;
index:integer;
begin
self.ds1.Append;
loginform.ExecuteSQL('select max(GroupID)+1 from groups');
groupid:=loginform.dsQuery.Fields[0].AsString;
loginform.dsQuery.Close;
self.ds1.FieldByName('GroupID').AsString:=GroupID;
for index:=1 to 27 do
powers:=powers+'0';
self.ds1.FieldByName('powers').AsString:=powers;
self.dbedtGroupName.SetFocus;
end;
procedure TSetGroupForm.suiButton1Click(Sender: TObject);
var
count:Integer;
groupid:string;
begin
groupid:=Self.dbedtGroupID.Text;
loginform.ExecuteSQL('select count(*) from users where user_groupid='+groupid);
count:=loginform.dsQuery.Fields[0].AsInteger;
loginform.dsQuery.Close;
if count>0 then
MessageDlg('当前权限组【'+groupid+'】信息已被应用,不可以执行此操作!',mtConfirmation, [mbYes], 0)
else
begin
self.ds1.Edit;
self.dbedtGroupName.SetFocus;
end;
end;
procedure TSetGroupForm.suiButton2Click(Sender: TObject);
var
count:Integer;
groupid:string;
begin
groupid:=Self.dbedtGroupID.Text;
loginform.ExecuteSQL('select count(*) from users where user_groupid='+groupid);
count:=loginform.dsQuery.Fields[0].AsInteger;
loginform.dsQuery.Close;
if count>0 then
MessageDlg('当前权限组【'+groupid+'】信息已被应用,不可以执行此操作!',mtConfirmation, [mbYes], 0)
else
if MessageDlg('当前权限组【'+groupid+'】信息,真的要执行删除操作吗?',mtConfirmation, [mbYes,mbNo], 0)=mrYes then
begin
self.ds1.Delete;
self.ds1.ApplyUpdates(0);
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''当前权限组【'+groupid+'】信息删除成功'')');
end;
end;
procedure TSetGroupForm.suiButton8Click(Sender: TObject);
begin
self.ds1.Cancel;
end;
procedure TSetGroupForm.suiButton7Click(Sender: TObject);
var
groupid:string;
begin
groupid:=Self.dbedtGroupID.Text;
if self.ds1.State in [dsedit,dsinsert] then
begin
self.ds1.Post;
self.ds1.ApplyUpdates(0);
if self.ds1.State=dsedit then
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''当前权限组【'+groupid+'】编辑成功'')')
else
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''当前权限组【'+groupid+'】添加成功'')');
end
else
MessageDlg('当前数据表未处于添加或编辑状态,不可执行相关操作!',mtConfirmation, [mbYes], 0);
end;
procedure TSetGroupForm.suiCheckGroup1Click(Sender: TObject);
var
index:integer;
temp:string;
begin
if self.ds1.State in [dsedit,dsinsert] then
begin
for index:=0 to suiCheckGroup1.Items.Count-1 do
if suiCheckGroup1.Checked[index] then
temp:=temp+'1'
else
temp:=temp+'0';
self.ds1.FieldByName('powers').AsString:=temp;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -