APP下载

VFP数据库应用系统中菜单权限的设计

2013-10-12叶文胜

黄冈职业技术学院学报 2013年6期
关键词:表单用户名菜单

叶文胜

(黄冈职业技术学院人事处,湖北黄冈438002)

1 VFP菜单的设计步骤

VFP中的菜单既可以直接编写程序代码实现,又可以利用菜单设计器实现。利用菜单设计器设计菜单的步骤如图1所示:

图1 菜单设计步骤

菜单设计器编写的菜单文件(.mnx)经过生成后形成菜单程序文件,程序文件运行后执行菜单的功能。

2 用户使用菜单权限的设计

2.1 设计思路

在设计菜单中,在菜单的“选项”中设计“跳过”的条件。

图2 菜单的选项设置

跳过条件的设计方法:设计一个全局变量,当不同的用户登录时控制此变量的值,然后将此变量设置为菜单的“跳过”条件:当条件值为.t.时菜单跳过,即该菜单功能不可用,反之该菜单功能可用。

2.2 设计的实现过程

下面用一个完整案例说明如何实现用户使用菜单权限的设计。

1.案例描述

(1)设计菜单mymenu,其中有四个菜单项:查询(按姓名查询,按学号查询)、打印(打印课表,打印成绩单)、修改(修改基本信息,修改密码)、帮助(使用帮助、软件升级);(2)设计一顶层表单myform,将菜单加载在表单上;(3)设计一个登录表单userlogin,用于用户输入登录账号和密码;(4)菜单使用权限控制:登录时,当账号为admin,密码为admin,进入myform表单,并且所有菜单功能可用;当账号为111,密码为111,进入myform表单,其中菜单“修改”功能不可用,其余菜单功能可用;输入其余的账号和密码显示“账号和密码错误”提示信息。

2 案例实现

(1)打开菜单设计器,设计好各菜单项及其子菜单,如图3所示:

图3 菜单项的设计

(2)编辑“修改”菜单的选项,在“跳过”框中设置“userflag< >1”,如图4所示:

图4 设置“修改”菜单的跳过条件

(3)保存菜单并生成菜单程序。

(4)设计顶层表单,并加载菜单,运行界面如图5所示:

图5 表单加载菜单效果图

表单Init事件代码如下:

domymenu.mpr with this,.t.

(5)设计登录表单,运行效果如图6所示:

图6 登录表单的效果图

“登录”按钮的Click事件参考代码如下:

useraccount=allt(thisform.text1.value)

userpass=allt(thisform.text2.value)

if useraccount=="admin"and userpass=="admin"

userflag=1

do form myform

thisform.release

else

if useraccount=="111"and userpass=="111"

do form myform

thisform.release

else

messagebox("用户名或密码错误!")

endif

endif

表单的Init事件代码:

public userflag//定义全局变量

userflag=0//设置默认用户为普通用户

(6)测试

分别输入用户名、密码为“111”及“admin”的结果如下:

图7 用户名、密码为“111”的进入界面

图8 用户名、密码为“admin”的进入界面

输入其他的用户名或密码运行界面如下:

图9 输入错误的用户名和密码运行结果

3 结束语

VFP数据库应用系统中用户使用菜单权限的设计方法有很多种,本文中主要利用了菜单设计中菜单项的“跳过”条件设置来控制。不同的用户设置不同的“身份”值,“身份”值不同使得菜单的“跳过”条件结果不一样,从而达到控制菜单项的目的。

[1]熊发涯.Visual FoxPro程序设计[M].北京:中国铁道出版社,2003-03.

猜你喜欢

表单用户名菜单
《护士进修杂志》投稿程序
《护士进修杂志》投稿程序
电子表单系统应用分析
中国新年菜单
《护士进修杂志》投稿程序
浅谈网页制作中表单的教学
机智的快递员
本月菜单
一个“公海龟”的求偶菜单
动态表单技术在教学管理中的应用*