⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit_frmusermain.pas

📁 影院售票系统完整源码
💻 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 + -