📄 unit_frmusermain.pas
字号:
unit Unit_frmusermain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit_frmtemplate, ExtCtrls, ComCtrls, CyberListVw, CyberPanel,
CyberButton, ToolWin, Menus, CyberXPMenu, StdCtrls, Buttons;
type
Tfrmusermain = class(Tfrmtemplate)
Panel4: TPanel;
CyberSizePanel1: TCyberSizePanel;
TreeView1: TTreeView;
ListView1: TCyberListView;
popmenugroup: TPopupMenu;
MenuAddGroup: TMenuItem;
CyberMenuButton1: TCyberMenuButton;
CyberMenuButton2: TCyberMenuButton;
MenuEditGroup: TMenuItem;
MenuDelGroup: TMenuItem;
MenuGroupPower: TMenuItem;
PopupMenuuser: TPopupMenu;
MenuAddUser: TMenuItem;
MenuEditUser: TMenuItem;
MenuDelUser: TMenuItem;
BtnExit: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
CyberXPMenu1: TCyberXPMenu;
procedure BtnExitClick(Sender: TObject);
procedure MenuAddGroupClick(Sender: TObject);
procedure MenuEditGroupClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure MenuDelGroupClick(Sender: TObject);
procedure MenuAddUserClick(Sender: TObject);
procedure MenuEditUserClick(Sender: TObject);
procedure MenuDelUserClick(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure TreeView1Click(Sender: TObject);
procedure MenuGroupPowerClick(Sender: TObject);
private
Procedure inittreeview(sqlstr:string);
procedure refreshlistview(sqlstr:string);
{ Private declarations }
public
{ Public declarations }
end;
var
frmusermain: Tfrmusermain;
implementation
uses unit_public,unit_adodm,unit_frmgroup,unit_frmuser,unit_frmgrouppower;
{$R *.dfm}
procedure Tfrmusermain.BtnExitClick(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfrmusermain.inittreeview(sqlstr: string);
var
node0,rootnode :TTreeNode;
i,_id :integer;
_groupname :String;
begin
treeview1.Items.Clear ;
Rootnode:=treeview1.Items.Add(nil,'所有角色');
treeview1.Items.BeginUpdate;
try
publicinfo.Execsql(sqlstr,false);
adodm.ADOQRY.First ;
for i:=1 to adodm.ADOQRY.RecordCount do
begin
_id :=adodm.ADOQRY.fieldbyname('id').AsInteger ;
_groupname :=adodm.ADOQRY.fieldbyname('name').AsString ;
node0:=treeview1.Items.AddChild(rootnode,_groupname);
node0.Data :=pointer(_id);
adodm.ADOQRY.Next ;
end;
finally
treeview1.Items.EndUpdate ;
Rootnode.Expand(true);
end;
end;
procedure Tfrmusermain.MenuAddGroupClick(Sender: TObject);
begin
inherited;
FrmGroup:=TFrmGroup.MyCreate(application,false);
try
FrmGroup.ShowModal;
finally
FrmGroup.Free ;
inittreeview('select * from tblgroup');
end;
end;
procedure Tfrmusermain.MenuEditGroupClick(Sender: TObject);
var
selnode:TTreeNode;
begin
inherited;
selnode:=Treeview1.Selected ;
if (selnode=nil) or (selnode.Level=0) then exit;
frmgroup:=TFrmGroup.MyCreate(application,true);
try
frmgroup.id :=integer(selnode.Data);
if frmgroup.ShowModal=mrok then selnode.Text :=frmgroup.EdtName.Text;
finally
frmgroup.Free ;
end;
end;
procedure Tfrmusermain.FormShow(Sender: TObject);
begin
inherited;
inittreeview('select * from tblgroup');
refreshlistview('select * from tbluser_view');
end;
procedure Tfrmusermain.refreshlistview(sqlstr: string);
var
i,_id:integer;
item0:TListItem;
_loginname,_name,_group,_cinema:string;
begin
listview1.Items.Clear ;
listview1.Items.BeginUpdate ;
try
publicinfo.Execsql(sqlstr,false);
if adodm.ADOQRY.RecordCount<=0 then exit;
adodm.ADOQRY.First ;
if adodm.ADOQRY.RecordCount >0 then
begin
with adodm.ADOQRY do
begin
for i:=1 to RecordCount do
begin
_id :=fieldbyname('id').AsInteger ;
_loginname :=fieldbyname('loginname').AsString ;
_name :=fieldbyname('username').AsString ;
_group :=fieldbyname('groupname').AsString ;
_cinema :=fieldbyname('cinema').AsString ;
item0 :=listview1.Items.Add ;
item0.Caption :=_loginname;
item0.SubItems.Add(_name);
item0.SubItems.Add(_group);
item0.SubItems.Add(_cinema);
item0.Data :=pointer(_id);
next;
end;
end;
end;
finally
listview1.Items.EndUpdate ;
end;
end;
procedure Tfrmusermain.MenuDelGroupClick(Sender: TObject);
var
selnode :TTreeNode;
sqlstr :string;
begin
inherited;
selnode :=treeview1.Selected ;
if selnode=nil then exit;
sqlstr:='delete from tblgroup where id='+inttostr(integer(selnode.Data));
if publicinfo.Execsql(sqlstr,true) then
begin
selnode.Delete ;
publicinfo.showmsg('角色'+selnode.Text+'删除成功!');
end;
end;
procedure Tfrmusermain.MenuAddUserClick(Sender: TObject);
begin
inherited;
FrmUser:=TFrmUser.MyCreate(application,false);
try
FrmUser.ShowModal;
finally
FrmUser.Free ;
refreshlistview('select * from tbluser_view');
end;
end;
procedure Tfrmusermain.MenuEditUserClick(Sender: TObject);
var
selitem:TListItem;
begin
inherited;
selitem:=listview1.Selected ;
if (selitem=nil) then exit;
FrmUser:=TFrmUser.MyCreate(application,true);
try
FrmUser.id :=integer(selitem.Data);
if FrmUser.ShowModal=mrok then
begin
selitem.Caption :=FrmUser.Edtcode.Text ;
selitem.SubItems[0] :=FrmUser.EdtName.Text ;
selitem.SubItems[1] :=frmuser.groupname ;
selitem.SubItems[2] :=Frmuser.cinemaname ;
end;
finally
FrmUser.Free ;
end;
end;
procedure Tfrmusermain.MenuDelUserClick(Sender: TObject);
var
selitem :TListItem;
sqlstr :string;
begin
inherited;
selitem :=listview1.Selected ;
if selitem=nil then exit;
sqlstr:='delete from tbluser where id='+inttostr(integer(selitem.Data));
if publicinfo.Execsql(sqlstr,true) then
begin
selitem.Delete ;
publicinfo.showmsg('操作员'+selitem.SubItems[0]+'删除成功!');
end;
end;
procedure Tfrmusermain.ListView1DblClick(Sender: TObject);
begin
inherited;
if MenuEditUser.Enabled then MenuEditUserClick(nil);
end;
procedure Tfrmusermain.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key=13 then ListView1DblClick(nil);
if (key=46) and (menudeluser.Enabled) then MenuDelUserClick(nil);
end;
procedure Tfrmusermain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key=27 then BtnExitClick(nil);
end;
procedure Tfrmusermain.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
selnode:TTreeNode;
begin
selnode:=TreeView1.GetNodeAt(x,Y );
if selnode<>nil then
begin
selnode.Selected:=true;
end;
end;
procedure Tfrmusermain.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
inherited;
publicinfo.ListViewDraw(item,DefaultDraw);
end;
procedure Tfrmusermain.TreeView1Click(Sender: TObject);
var
_sqlstr:string;
selnode:TTreeNode;
begin
inherited;
selnode:=TreeView1.Selected ;
if selnode=nil then exit;
if selnode.Level =0 then
_sqlstr:='select * from tbluser_view '
else
_sqlstr:='select * from tbluser_view where groupid='+inttostr(integer(selnode.Data));
refreshlistview(_sqlstr);
end;
procedure Tfrmusermain.MenuGroupPowerClick(Sender: TObject);
var
selnode:TTreeNode;
begin
inherited;
selnode:=TreeView1.Selected ;
if (selnode=nil) or (selnode.Level=0) then exit;
frmgrouppower:=Tfrmgrouppower.Create(Application);
try
frmgrouppower.groupid :=integer(selnode.Data);
frmgrouppower.ShowModal ;
finally
frmgrouppower.Free ;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -