分享
 
 
 

在PowerBuilder中实现菜单条级权限的设置

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

在PowerBuilder中实现菜单条级权限的设置

云南昆明 陈进

在一个网络应用程序中,对不同的使用人员授与不同的程序使用权是非常重要的。一般的应用程序都分:录入权,查询权,修改权,审核权等等,很多功能可细分到菜单条级,才能方便管理,不同的功能应用应该授与不同工作性质的人员,才能使一个公司或团体分工明确,责任清晰,实现规范化管理。

对系统管理人员来说灵活方便地设置不同人员的对程序的不同权限,并能够不以用户身份进入程序也能查看到用户所拥有的权限,这是后台管理程序最基本的要求。本人通过实践摸索在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_1M_2M_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用户进入应用程序时取出,对应设置菜单条的可用与不可用,即实现了对用户使用菜单权限的定义。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有