我们只需利用Delphi提供的TActionList控件就可以很容易的实现权限控制功能。通过TActionList,应用程序可以统一管理其 TAction,这里的Action,可以理解为应用程序的功能。在应用的设计期间,可以通过TActionList编辑器将功能(Action)加入 TActionList,将Action加入TActionList后,就可能通过Object Inspector设置Action的属性或为其建立事件句柄。当要限定某一功能时,可能利用TAction的Enabled,将其设为False,此功 能对于用户将被屏蔽掉,如果要此功能对用户不可见,则可以设定Visible为False。
具体实现办法:
第一步:建立用户信息表,储存用户信息。
用户信息表User的结构如下:
字段名称 | 字段类型 | 说明 |
UsrID | string | 用户的ID,为表的关键字 |
UsrName | string | 用户名称(姓名) |
UsrPwd | string | 用户密码 |
UsrRight | string | 用户权限(也可以设置成Interger) |
第二步:在程序主界面单元里面定义全局变量OperatorName、OperatorRight和全局过程ChkRight,在登录单元内获取权限字符串后赋值给OpertorRight。
frmLogin单元:
OperatorRight := ADOQuery1.FieldByName('UsrRight').AsString; |
frmMain单元:
var uses uLogin; {$R *.dfm} //============================================================================== procedure ChkRight(strRight: string); procedure TfrmMain.FormActivate(Sender: TObject); |