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

📄 usermgt.~pas

📁 采用Delphi7+Oracle. 该软件是由交警人员对各个路口闯红灯违法照片进行有效保存
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit usermgt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls,ADODB,Inifiles,StrUtils, ImgList, ToolWin,
  StdActns, ActnList;

type
  TfrmUserManager = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    mm: TMainMenu;
    MenuItem1: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    N201: TMenuItem;
    N202: TMenuItem;
    N5: TMenuItem;
    N401: TMenuItem;
    N402: TMenuItem;
    N403: TMenuItem;
    N8: TMenuItem;
    N501: TMenuItem;
    N502: TMenuItem;
    N503: TMenuItem;
    N504: TMenuItem;
    sBar: TStatusBar;
    N101: TMenuItem;
    N505: TMenuItem;
    N301: TMenuItem;
    N302: TMenuItem;
    N303: TMenuItem;
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    ActionList1: TActionList;
    FileNew1: TAction;
    FileOpen1: TAction;
    FileClose1: TWindowClose;
    FileSave1: TAction;
    FileSaveAs1: TAction;
    FileExit1: TAction;
    EditCut1: TEditCut;
    EditCopy1: TEditCopy;
    EditPaste1: TEditPaste;
    WindowCascade1: TWindowCascade;
    WindowTileHorizontal1: TWindowTileHorizontal;
    WindowTileVertical1: TWindowTileVertical;
    WindowMinimizeAll1: TWindowMinimizeAll;
    WindowArrangeAll1: TWindowArrange;
    HelpAbout1: TAction;
    Action1: TAction;
    ActN301: TAction;
    ActN303: TAction;
    ActN302: TAction;
    ActN401: TAction;
    ActN402: TAction;
    ActN502: TAction;
    ActN503: TAction;
    ActN504: TAction;
    ActN505: TAction;
    ActN201: TAction;
    ActN101: TAction;
    ActN202: TAction;
    ActN403: TAction;
    ActN501: TAction;
    TBN101: TToolButton;
    TBN201: TToolButton;
    TBN202: TToolButton;
    TBN301: TToolButton;
    TBN302: TToolButton;
    TBN303: TToolButton;
    TBN401: TToolButton;
    TBN402: TToolButton;
    TBN403: TToolButton;
    TBN501: TToolButton;
    TBN502: TToolButton;
    TBN503: TToolButton;
    TBN504: TToolButton;
    TBN505: TToolButton;
    procedure N3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure N402Click(Sender: TObject);
    procedure N401Click(Sender: TObject);
    procedure N403Click(Sender: TObject);
    procedure N502Click(Sender: TObject);
    procedure N501Click(Sender: TObject);
    procedure N503Click(Sender: TObject);
    procedure N504Click(Sender: TObject);
    procedure N201Click(Sender: TObject);
    procedure N202Click(Sender: TObject);
    procedure N505Click(Sender: TObject);
    procedure N101Click(Sender: TObject);
    procedure N301Click(Sender: TObject);
    procedure N302Click(Sender: TObject);
    procedure N303Click(Sender: TObject);
    procedure ActN101Execute(Sender: TObject);
    procedure ActN201Execute(Sender: TObject);
    procedure ActN202Execute(Sender: TObject);
    procedure TBN301Click(Sender: TObject);
    procedure ActN302Execute(Sender: TObject);
    procedure ActN303Execute(Sender: TObject);
    procedure TBN401Click(Sender: TObject);
    procedure ActN402Execute(Sender: TObject);
    procedure ActN403Execute(Sender: TObject);
    procedure ActN501Execute(Sender: TObject);
    procedure ActN502Execute(Sender: TObject);
    procedure ActN503Execute(Sender: TObject);
    procedure ActN504Execute(Sender: TObject);
    procedure ActN505Execute(Sender: TObject);
    procedure ActN301Execute(Sender: TObject);
    procedure ActN401Execute(Sender: TObject);
  private
    { Private declarations }
  public
    procedure Power;
    function RedConfig:Boolean;  //读取配置文件信息
    { Public declarations }
  end;

var
  frmUserManager: TfrmUserManager;

implementation

uses dbConn, userLogin, UserChangePwd, ManagerUser, CrossParam, FilesParam,
  VehKind, VehHeader, SaveListSearch, SjfyFrm, SaveListMaintenance,
  OperateLog, CommUnit, PicEnter, PlateCompare, PlateCompareQuery,
  PlateCompareDelete;
  //VehHead,  VehKind;

{$R *.dfm}

procedure TfrmUserManager.N3Click(Sender: TObject);
begin
    //重新登陆
    Application.CreateForm(TfrmLogin, frmLogin);
    frmLogin.Show ;
end;

procedure TfrmUserManager.FormCreate(Sender: TObject);
begin
    //在创建时候,确保数据库连接成功
      if dbConn.ConnInitialize=false then
      begin
        exit;
      end;

end;

procedure TfrmUserManager.FormShow(Sender: TObject);
begin
    //ShowMessage('show');
    Application.CreateForm(TfrmLogin, frmLogin);
    frmLogin.ShowModal;
end;

procedure TfrmUserManager.FormActivate(Sender: TObject);
begin
    //用户权限的分配
    Power;
    //获取文件命名规则
    if RedConfig=false then
    begin
          messagebox(Application.Handle,'请将文件信息设置完整','信息提示',64);
          Application.CreateForm(TfrmFilesParam,frmFilesParam);
          frmFilesParam.Show ;
    end;
    sBar.Panels[0].Text :='当前操作人员为:'+CurrentUser;
end;

procedure TfrmUserManager.N402Click(Sender: TObject);
begin
    //重新登陆
    Application.CreateForm(TfrmLogin, frmLogin);
    FirstLogin:=false;
    CurrentOperateItem:='重新登陆';
    dbConn.SaveOperateLog(frmLogin.spLog ,CurrentUserID,CurrentUser,now,CurrentOperateItem);
    frmLogin.Show ;
end;

procedure TfrmUserManager.N401Click(Sender: TObject);
begin
    //change pwd
    Application.CreateForm(TfrmChangePwd,frmChangePwd);
    CurrentOperateItem:='更改用户密码';
    dbConn.SaveOperateLog(frmLogin.spLog ,CurrentUserID,CurrentUser,now,CurrentOperateItem);
    frmChangePwd.Show ;
end;

procedure TfrmUserManager.N403Click(Sender: TObject);
begin
    Application.CreateForm(TfrmManagerUser,frmManagerUser);
    CurrentOperateItem:='进入用户管理项';
    dbConn.SaveOperateLog(frmLogin.spLog ,CurrentUserID,CurrentUser,now,CurrentOperateItem);
    frmManagerUser.Show;
end;

procedure TfrmUserManager.Power;
var
  qxlb:String;
  submenu:String;
  rsQXFP:TADODataset;
  BarCount,ItemCount:Integer;   //菜单以及各个子菜单项目的个数
  strMenu:String;
  menuCaption,subMenuCaption:String;
  hMenu,hSubMenu:THandle;
  menucontrol:TControl;
  ToolCount:Integer;      //ToolBar2
  ToolHint:String;
  ToolName:String;  //ToolBar 上的名称
begin
   qxlb:='';
   submenu:='';
   rsQXFP:=TADODataset.Create(nil);
   rsQXFP.Connection:=cn_public;
   rsQXFP.CommandType:=cmdText;
   rsQXFP.CommandText:='SELECT MENUITEM,MENUMAIN from photocheck.P_USERPOWER WHERE USERID='''+ CurrentUserID+'''';
   rsQXFP.Open;
   if not rsQXFP.Eof then begin
    while not rsQXFP.Recordset.EOF do
    begin
       qxlb:=qxlb+rsQXFP.Recordset.Fields[1].Value+'*/';
       submenu:=submenu+rsQXFP.Recordset.Fields[0].Value+'*/';
       rsQXFP.Recordset.MoveNext;
    end;
   end
   else begin
      messagebox(0,'此用户为未分配任何权限','登陆',64);
      Application.Terminate;
   end;

   hMenu:=GetMenu(self.mm.Handle);
   strMenu:='';
   for BarCount:=0 to self.mm.Items.Count-1 do
   begin
        menuCaption:=self.mm.Items[BarCount].Caption ;
        menuCaption:=copy(menuCaption,1,pos('(',menuCaption)-1);
        //如果这个主菜单存在与这个用户的权限当中,则显示并可用
        if pos(menuCaption,qxlb)>0 then
          self.mm.Items[BarCount].Visible:=True
        else
          self.mm.Items[BarCount].Visible:=False;
        for ItemCount:=0 to self.mm.Items.Items[BarCount].Count-1 do
         begin
           subMenuCaption:=self.mm.Items.Items[BarCount].Items[ItemCount].Caption;
           subMenuCaption:=copy(subMenuCaption,1,pos('(',subMenuCaption)-1);
           //显示Menu
           if pos(subMenuCaption,submenu)>0 then
           begin
             self.mm.Items.Items[BarCount].Items[ItemCount].Visible:=True;
             ToolName:=self.mm.Items.Items[BarCount].Items[ItemCount].Name ;
             if (ToolName='N101') OR (ToolName='N201') OR (ToolName='N202') OR
             (ToolName='N301') OR (ToolName='N302') OR (ToolName='N303') OR
             (ToolName='N401') OR (ToolName='N402') OR (ToolName='N403') OR
             (ToolName='N501') OR (ToolName='N502') OR (ToolName='N503') OR (ToolName='N504') OR (ToolName='N505') THEN
             TToolButton(Findcomponent('TB'+ToolName)).Visible:=true;
            // TToolButton(Findcomponent('TB'+ToolName)).Enabled := true;  //仅仅控制可见即可

           end
           else begin
             self.mm.Items.Items[BarCount].Items[ItemCount].Visible:=False;
             ToolName:=self.mm.Items.Items[BarCount].Items[ItemCount].Name ;
             if (ToolName='N101') OR (ToolName='N201') OR (ToolName='N202') OR
             (ToolName='N301') OR (ToolName='N302') OR (ToolName='N303') OR
             (ToolName='N401') OR (ToolName='N402') OR (ToolName='N403') OR
             (ToolName='N501') OR (ToolName='N502') OR (ToolName='N503') OR (ToolName='N504') OR (ToolName='N505') THEN
             TToolButton(Findcomponent('TB'+ToolName)).Visible:=false;
             //TToolButton(Findcomponent('TB'+ToolName)).Enabled := false;
           end;
         end;
   end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -