你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
软件功能动态订制方法与实现(七)
 

该模块的关键程序代码如下:

//单击“添加”按钮,为当前用户类别添加但前模块的授权记录

procedure TUserQxglFrm.SpeedButton1Click(Sender: TObject);

var

  yhlb,cxmk:string;

begin

  yhlb:=DataModFrm.USERLB.FieldByName('用户类别').AsString;//获取当前用户类别

  cxmk:=DataModFrm.PRGMOD.FieldByName('模块名称').AsString; //获取当前程序模块名

  if not DataModFrm.USERMOD.Locate('用户类别;授权模块', vararrayof([yhlb,cxmk]),[]) then begin

    //若没找到该模块授权记录就添加并保存该记录

    DataModFrm.USERMOD.Append;

    DataModFrm.USERMOD.FieldByName('用户类别').AsString:=yhlb;

    DataModFrm.USERMOD.FieldByName('授权模块').AsString:=cxmk;

    DataModFrm.USERMOD.Post;

  end; 

end;

//当点击用户类别列表时,过滤并显示当前用户类别相应的用户模块授权信息

procedure TUserQxglFrm.DBLookupListBox1Click(Sender: TObject);

var

  yhlb:string;

begin

  yhlb:=DataModFrm.USERLB.FieldByname('用户类别').AsString;

  DataModFrm.USERMOD.Filter:='用户类别='''+yhlb+'''';

  DataModFrm.USERMOD.Filtered:=True;

end;

 

4  结语

主要阐述一种实现软件功能动态订制的方法及其具体程序实现途径,依照该方法,也可以通过控制程序功能相对应的按钮的显示隐藏或是否可用来控制用户的程序功能访问。根据需要,访问控制精度既可以到模块级,也可以控制到模块中的任意一个控件,以满足更精细的功能访问控制需求。文中代码均可在Delphi7.0环境下调试通过,此方法能够解决多用户系统的软件功能动态订制需求。

 

参考文献

1Borland公司发布的Delphi 7.0用户手册.

2]飞思科技产品研发中心. Delphi 7数据库应用开发.电子工业出版社,2003.

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089