vb 6.0中的权限设置怎么写?

2024-11-24 03:44:41
推荐回答(4个)
回答1:

权限是一个中小型以上的软件必须考虑的问题。不管是什么语言写权限的方式是多样灵活的。
针对VB而言我建议初学者还是用DB和类模块结合来做。
在服务器端我们建立数据库用户表的时候,就应该多建立一个权限字段,标记他是什么样的权限或者说明。在软件里初始化界面的时候我们可以通过窗体传值、后台服务,或者是检索服务器数据库表来判断权限分配。就效率和速度而言,后台服务绝对是最快的,窗体传值其次,最慢的是查数据库找用户权限。难易程度肯定正好相反。VB不能做服务底层,但是可以写类模块。从最简单的写法说起,在类模块里,我们引用ADO(不是窗体控件,要ADO库)查询数据库写成带参数的函数,参数是控件ID,公布函数,每次初始化对象调用函数,查询权限,初始化也用函数初始化,这样的办法重复做查询数据库的事情,影响程序运行效率,但是很常用。比如VB做分辨率初始化、管理员初始化都是这么写的。
最简单老土的办法是窗体传值,就是在登陆事件中就把权限查出来,在窗体上建立一个文本框为例,事件响应在验证通过后,把权限信息赋值文本框,文本框隐藏起来。
其他的窗体Form_Load的时候都要去判断一下 登陆窗体.Text1 的值进行初始化他的界面,哪些该用哪写不该用,就要你一个一个写判断过程了,代码绝对比第一种麻烦,老是写同样的代码,比起刚才写类模块就麻烦在这里。
VB6.0界面上的控件不要单独建立,比如你要建立text控件,就建立一个作为复制依据放在窗体其他部位,设计好了后可以把他处理掉,设计的时候复制他创建控件组,这样你的控件就是一个有规律的控件,可以给控件规则,如Text1(0),Text1(1) 他的Index值是变量,Text1事件中写权限就统一设计好了所有Text1(Index)的权限,这是一个技巧。第二就是你要用虚方法,窗体名称和按钮或者控件之间要建立联系。比如按钮的Caption值可以和窗体名称是一样的,这样你就可以通过点击按钮去打开窗体,按钮是控件组,打开窗体就有了权限。如:
If 登陆窗体.Adodc1.Recordset.Fields("权限")=“普通用户" Then
MsgBox("对不起,你没有权限...")
Else
Dim Fro as Form '定义一个抽象窗体对象
Set Fro = Forms.Add(按钮(Index).Caption)
Fro.Show
End If
窗体上的所有按钮分为一级按钮、二级按钮、三级按钮,复制建立他们,就是:
一级按钮(0),一级按钮(1) ....
二级按钮(0) ....
.....
点一级按钮是个怎样的事件你写一下,二级按钮是个怎么样的事件你也写一下....,学过C++的人很容易理解,就是个宏事件。
其实你也没必要建立那么多窗体去切换界面,完全可以用Frame,Frame也用控件组,切换到哪个Frame的时候初始化一下界面就OK了,没切换到全部隐藏,Frame就象窗体界面一样独立容器,设计好以后你就把他拉到最小放一边,隐藏起来,全部设计完毕,窗体就靠一个一个初始化Frame来做界面切换,很是美观,也方便,因为方法可以直接用类来写了。
楼主有疑问可以发个实例,邮箱留下

回答2:

权限管理想做好了可不是那么容易,你在这里估计找不到完美答案。
简单说一下:
1、建立权限表。具体内容不说了,根据自身情况定。
2、在人员、角色或具体事务的库中添加权限字段。
3、权限字段应该是灵活的、可叠加的。比如:二进制法,用数字的指定二进制位是否为1来区分是否具有该权限;字符串法,选好分隔符,用形似“|1|4|12|357|”的字符串来记录是否拥有该权限。
4、在适当的位置调用权限确认子函数。(有些权限需要前置动作,有些权限需要时间限制等)
5、编写完善的权限管理界面。
总之,这事是很复杂的,远比一般人想的要麻烦。

回答3:

权限管理,要做好也不是那么容易的,你无法找到一个完美的答案,这里估计。
简单:
1,建立权限表。具体内容就不说了,根据自己的情况。
2,添加权限的现场工作人员,在图书馆或特定交易的作用。
3,权限字段应该是灵活的,可叠加。如:二进制方法,与一些指定位是否区分是否有权限;字符串的方法,选择合适的分隔符,形状| 1 | 2 | 12 | 357 |“字符串记录拥有此权限。
4,子功能的呼叫权限确定适当的位置。(某些权限需要预先行动,一些权限需要时间的限制)
5书面许可管理界面。
总之,这是一个非常复杂的事情,麻烦比大多数人想象的。

回答4:

参考 http://zhidao.baidu.com/question/28334826.html