网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> PowerBuilder >> 文章正文
  在 PowerBuilder 中实现菜单条级权限的设置            【字体:
在 PowerBuilder 中实现菜单条级权限的设置
作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-16    
在一个网络应用程序中,对不同的使用人员授与不同的程序使用权是非常重要的。一般的应用程序都分:录入权,查询权,修改权,审核权等等,很多功能可细分到菜单条级,才能方便管理,不同的功能应用应该授与不同工作性质的人员,才能使一个公司或团体分工明确,责任清晰,实现规范化管理。

 对系统管理人员来说灵活方便地设置不同人员的对程序的不同权限,并能够不以用户身份进入程序也能查看到用户所拥有的权限,这是后台管理程序最基本的要求。本人通过实践摸索在PB中实现了用户程序到菜单条级权限的设置和查看。此模块方便之处是管理员在设置用户权限时所见的菜单与用户所用的菜单一致,用户有哪些权限一目了然。

  我们先来看PB与此相关的两个函数:Mid and Replace

  1.函数Mid ( string, start {, length} )

  取string字串中第start项后的length位字串。

  例:Mid("ABCDEFG",3,2)

  返回值:"DE"

  2.函数Replace ( string1, start, n, string2 )

  替换string1中第start 项后n位,用string2 串。

  例:Replace ( "ABCDEFGH",3,2,"abc" )

  返回值:"ABCabcFGH"

  到此可能用过PB的朋友已能猜出这两个函数就是在PB中实现菜单条权限定义的基础。

  我们先假设我们应用程序的菜单如下图:

  M_1  M_2  M_3 ......

  M1_1  M2_1  M3_1

  M1_2  M2_2  M3_2

  M1_3  M2_3  M3_3

  M1_4  M2_4

     M2_5

  要求菜单条变量名的定义严格按照矩阵方式定义。然后复制一份与应用程序菜单一样的菜单模式,用于系统授权模块使用,包括菜单条变量名也一样,只不过菜单条下无调用程序代码,而是菜单状态设置函数。设三个字符串全局变量,用于表示菜单条的状态。我们约定"0"表示菜单条为不可选,"1"为可选。

string M1,M2,M3

M1="0000"     file://对应M_1的四个子菜单条

M2="00000"     file://对应M_2的五个子菜单条

M3="000"      file://对应M_1的三个子菜单条

  设初始值为菜单条皆不可选。

  在M1_1菜单下clicked事件程序为:

IF m1_1.Checked = TRUE THEN

m1_1.UnCheck( )

M1 = Replace( M1, 1, 1, "0")

ELSE

m1_1.Check( )

M1 = Replace( M1, 1, 1, "1")

END IF

  在M1_1菜单下clicked事件程序为:

IF m1_2.Checked = TRUE THEN

m1_2.UnCheck( )

M1 = Replace( M1, 2, 1, "0")

ELSE

m1_2.Check( )

M1 = Replace( M1, 2, 1, "1")

END IF

  .....其它以此类推

  函数说明:

file://m1_2.Check( )在所点选菜单条前加"V"(钩符号)

file://m1_2.UnCheck( ) 在所点选菜单条前去掉"V"(钩符号)

  如果A用户可使用M1_1,M1_3; M2_2; M3_1。那通过你鼠标的点选,菜单状态变量的值应该为

  值应该为:

  M1="1010"

  M2="01000"

  M3="100"

  如果B用户可使用M1_1; M2_3,M2_4,M2_5; M3_1,M3_2,M3_3。那通过你鼠标的点选,菜单状态变量的值应该为:

  M1="1000"

  M2="00111"

  M3="111"

    把此值对应存入A、B用户的权限字段中,在A、B用户进入应用程序时取出,对应设置菜单条的可用与不可用,即实现了对用户使用菜单权限的定义。

    此功能在PB4及PB6.5中实现。因篇幅所限,只叙述了实现方法的基本概念,无法一一列出具体程序,感兴趣的朋友可致电Email:poldchen@21cn.com探讨。

    下载实例源程序。

站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     在PB程序中实现ODBC数据…
     用PB5 设计 串口通讯程序
     如何用VC创建可在PB中调…
     PB连接Microsoft  SQL S…
     用PB编写多线程应用程序
  • weblogic 9.1的domain配置my…

  • 保留weblogic 中jsp编译后生…

  • 浅析Spring框架下PropertyPl…

  • SPRING+STRUTS+HIBERNATE登录…

  • POJO 和 PO 的概念

  • SIP简介,第2部分:SIP SERV…

  • JavaWeb中的Session、Sessio…

  • tomcat下配置jspservletbean…

  • chapter one

  • 看完了第二遍C++Primer,学习…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David