对于一个TREEVIEW带CHECK框做一个权限树;
--某某系统
|--AA模块(01)
|--费用窗体(0101)
|--审核(010101)
|--提交(010102)
|--出库录入窗体(0102)
...
|--BB模块(02)
|--费用窗体(0201)
|--审核(020101)
|--提交(020102)
|--出库录入窗体(0202)
... //其它模块等如果用户TEST具有AA模块中的费用窗体中的审核权限,即写到数据库为01|0101|010101|
因为AA模块的费用和BB模块的费用都是同一个窗体,所以我用下面的方法写,权限多不太好,代码一长串能不能简化呢?,
if (GModType==modSE) //AA模块
{
rolSetCheckD:=rolSetCheck0; //即AA模块的审核(010101)
rolLookCChg:=rolSELookCChg; //rolSetCheck0.rolSELookCChg之类的是一个公共变量,
rolLookSpcChg:=rolSELookSpcChg;
rolLookSpcComm:=rolSELookSpcComm;
rolLookOtherOfcChg:=rolSELookOtherOfcChg;
...
}else
if (GModType==modAE) //BB模块
{
rolSetCheckD:=rolSetCheck1; //即BB模块的审核(020101)
... //这里省略掉了
}else
if (GModType==modSI) //CC模块
{
...
}
bSetCheckD:=ChkItemAuth(rolSetCheckD); //判断有没有审核权限
btnSetCheck=btnSetCheck.enabled && bSetCheckD;//审核按钮的状态
因为该系统模块很多,用到的都是相同的窗体,能不能对上面的代码简化呢?或有更好的方法解决吗?谢谢!~
--某某系统
|--AA模块(01)
|--费用窗体(0101)
|--审核(010101)
|--提交(010102)
|--出库录入窗体(0102)
...
|--BB模块(02)
|--费用窗体(0201)
|--审核(020101)
|--提交(020102)
|--出库录入窗体(0202)
... //其它模块等如果用户TEST具有AA模块中的费用窗体中的审核权限,即写到数据库为01|0101|010101|
因为AA模块的费用和BB模块的费用都是同一个窗体,所以我用下面的方法写,权限多不太好,代码一长串能不能简化呢?,
if (GModType==modSE) //AA模块
{
rolSetCheckD:=rolSetCheck0; //即AA模块的审核(010101)
rolLookCChg:=rolSELookCChg; //rolSetCheck0.rolSELookCChg之类的是一个公共变量,
rolLookSpcChg:=rolSELookSpcChg;
rolLookSpcComm:=rolSELookSpcComm;
rolLookOtherOfcChg:=rolSELookOtherOfcChg;
...
}else
if (GModType==modAE) //BB模块
{
rolSetCheckD:=rolSetCheck1; //即BB模块的审核(020101)
... //这里省略掉了
}else
if (GModType==modSI) //CC模块
{
...
}
bSetCheckD:=ChkItemAuth(rolSetCheckD); //判断有没有审核权限
btnSetCheck=btnSetCheck.enabled && bSetCheckD;//审核按钮的状态
因为该系统模块很多,用到的都是相同的窗体,能不能对上面的代码简化呢?或有更好的方法解决吗?谢谢!~
例如:
"01" == substring( "010101", 0, 2 )
"0101" == substring( "010101", 0, 4 )
现在主要的问题是下面这段,TO Knight94(愚翁) 帮忙看看,谢谢!~