易截截图软件、单文件、免安装、纯绿色、仅160KB

权限控制(delphi actionlist)

权限控制(delphi TActionList方案)
在软件开发中,为软件加入权限控制功能,使不同的用户有不同的使用权限,是非常重要的一项功能,
由其在开发数据库方面的应用,这项功能更为重要。
但是,要为一个应用加入全面的权限控制功能,又怎样实现呢?
大家知道,现在的应用,一般均以菜单访问功能的形式出现,按照常规的做法,
只要让注册进入应用的不同用户,可以访问不同的功能菜单,从而实现功能权限的控制,
但是,有这样一个问题,此种方法便无能为力,现在的应用软件,为了提高软件的易操作性,
同一功能可能有多种不同的访问方式,如工具条,右键菜单等;
同样,同一个功能,也可能在软件的不同地方被调用,而不仅仅被限制为用程序的主菜单来调用,
这样,才能保证应用的易用性。
写到这,问题已经非常清楚,对于要限制的软件功能,仅通过一次代码设计,
无论在整个应用的任何地方或通过何种形式调用此功能,都能被功能权限所限制。
笔者利用Delphi平台作应用开发时,通过Delphi7提供的VCL控件解决了这一问题。
在了解如何实现功能权限控制之前,得先看一下Delphi7提供的新控件TActionList,
通过TActionList,应用程序可以统一管理其TAction,这里的Action,可以理解为应用程序的功能。
在应用的设计期间,可以通过TActionList编辑器将功能(Action)加入TActionList,
将Action加入TActionList后,就可能通过Object Inspector设置Action的属性或为其建立事件句柄。
在这里,我们可以用Action的OnExecute事件句柄实现具体的功能,如下代码来显示一个操作窗体:
procedure TfrmMain.SetUserExecute(Sender: TObject);
begin
   frmUser.showModal;
end;
  当要限定这一功能时,可能利用TAction的Enabled,将其设为False,此功能对于用户将被屏蔽掉,
如果要此功能对用户不可见,则可以设定Visible为False。
  当成功能的建立了TActionList后,可能有人问,如果使用其中的Action,
在Delphi7中,象TButton、TMenuItem、TSpeedButton、TRadioButton等控件,均有一个属性Action,
正是通过它,我们可以将Menu或Button连接到TActionList中TAction,从而实现功能按钮或菜单的功能。
在理解了Delphi中的TActionList及TAction之后,就可以看看功能权限的具体实现方法。
第一步,建立两张表,一张表存储用户信息,另一张表存储权限定义。
用户信息表User结构如下:
UserID(String/用户的ID号,为表关键字)
UserName(String用


相关文档:

如何让Delphi调用外部程序并等待其运行信息(如结束)

函数一:
view plaincopy to clipboardprint?
uses 
    Windows,  
    SysUtils,  
    Classes,  
    ShellAPI;  
function RunAndWait(FileName: string; Visibility: Integer): THandle;&nbs ......

1、Delphi正则表达式学习

Delphi正则表达式学习,参考CSDN万一老师的BLOG、CSDN、网络资料以及带源码的TPerlRegEx,在此注明,以后不再说明,在些感谢Google老师和百度老师
安装:
 下载地址:http://download.csdn.net/source/1668436
1、安装.dpk文件,在Libary中添加TPerlRegEx单元存放路径
2、运行程序前复制pcrelib.dll到C:\WINDOWS下 ......

Delphi 7高效数据库程序设计

内容简介
    dbExpress是Borland公司下一代数据访问技术。本书不仅详细介绍了dbExpress的基本功能、使用技巧以及Delphi/Kylix的DataSnap技术,还详细讨论了dbExpress的实现原理以及dbExpress的未来发展趋势。本书结构清晰,讲解透彻,实例丰富。作者李维是Borland公司著名技术专家,曾著有多部Delphi名 ......

Delphi 与 C/C++ 数据类型对照表

Delphi 与 C/C++ 数据类型对照表
Delphi数据类型C/C++
ShorInt
8位有符号整数
char
Byte
8位无符号整数
BYTE,unsigned short
SmallInt
16位有符号整数
short
Word
16位无符号整数
unsigned short
Integer,LongInt
32位有符号整数
int,long
Cardinal,LongWord/DWORD
32位无符号整数
unsigned long
Int6 ......

一个delphi程序员的开发习惯

                                                   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号