资料管理系统
“Unload”事件:
*——清除事件循环
Clear Events
*——退出Visual FoxPro
Quit
6.3创建系统用户管理模块
6.3.1 创建“系统登录”表单
【确定】按钮的“Click”事件代码
*——改为精确比较
SET EXACT ON
*——试图登录次数自动加1
THISFORM.i=THISFORM.i+1
*——选择“系统用户信息”表所在的工作区
SELECT SysUser
*——查找用户名
LOCATE FOR ALLTRIM(SysUser.用户名)=ALLTRIM(THISFORM.txt用户名.VALUE)
*——如果找到用户名
IF FOUND()
*——如果密码正确
IF ALLTRIM(密码)=ALLTRIM(THISFORM.txt密码.VALUE)
*——将登录的用户名保存到全局变量中
cCurUser=ALLTRIM(用户名)
*——调用“GetPurv”程序获取登录的用户的权限信息
DO GetPurv.prg
*——退出表单
THISFORM.RELEASE
*——调用系统主表单
DO FORM MainForm
ELSE
*——如果密码错误
*——如果次数小于3
IF THISFORM.i<3
MESSAGEBOX("密码错误,请重新输入",48,"资料管理系统")
THISFORM.txt用户名.VALUE=""
THISFORM.txt密码.VALUE=""
THISFORM.txt用户名.SETFOCUS
ELSE
*——如果资料为3
MESSAGEBOX("用户名或者密码错误三次,系统无法启动",48,"资料管理系统")
*——退出表单
THISFORM.RELEASE
*——结束事件循环
CLEAR EVENTS
*——退出Visual FoxPro
QUIT
ENDIF
ENDIF
ELSE
IF THISFORM.i<3
MESSAGEBOX("用户名不存在,请重新输入",48,"资料管理系统")
THISFORM.txt用户名.VALUE=""
THISFORM.txt密码.VALUE=""
THISFORM.txt用户名.SETFOCUS
ELSE
MESSAGEBOX("用户名或者密码错误三次,系统无法启动",48,"资料管理系统")
THISFORM.RELEASE
CLEAR EVENTS
QUIT
ENDIF
ENDIF
*——改为模糊比较
SET EXACT OFF
【退出】按钮“Click”事件代码:
*——声明本地变量
LOCAL YN
*——确认对话框
YN=MESSAGEBOX("确定退出",4+32,"资料管理系统")
*——如果确认
IF YN=6
THISFORM.RELEASE &&退出当前表单
CLEAR EVENTS &&结束事务处理
QUIT &&退出Visual FoxPro
ENDIF
6.3.2 创建“系统用户管理”表单
“系统用户管理”表单“Init”事件代码:
SELECT SYSUSER
SET FILTER TO
THISFORM.Refresh
“系统用户管理”表单“Refresh”事件代码:
*——“权限”按钮的状态
THISFORM.CmdPurv.Enabled=bUserPurv
*——“新增”、“修改”和“删除”按钮的状态
THISFORM.CmdNew.Enabled=bSysUser
THISFORM.CmdMode.Enabled=bSysUser
THISFORM.CmdDel.Enabled=bSysUser
*——如果数据表为空
SELECT SYSUSER
IF EOF() .AND. BOF() OR RECCOUNT()=0
IF bSysUser=.T.
THISFORM.CmdNew.Enabled=.T.
THISFORM.CmdMode.Enabled=.F.
THISFORM.CmdDel.Enabled=.F.
Endif
ENDIF
【新增】按钮的“Click”事件代码:
DO FORM SetUser With "cNew"
THISFORM.Refresh
【修改】按钮的“Click”事件代码:
PUBLIC cUserSet
cUserSet=Sysuser.用户名
DO FORM SetUser With "cModify"
THISFORM.Refresh
【删除】按钮的“Click”事件代码:
*——确认对话框
YN=MESSAGEBOX("确定删除用户",4+32,"资料管理系统")
*——如果确认
IF YN=6
*——精确比较方式
SET EXACT ON
*——如果要删除的用户为当前登录系统用户
IF ALLTRIM(SysUser.用户名)=cCurUser
*——警告对话框
MESSAGEBOX("不能删除当前用户",48,"资料管理系统")
RETURN
ENDIF
SELECT SysUser
*——表单中表格控件的数据源为空
THISFORM.Grid1.RecordSource=NULL
*——逻辑删除数据
DELETE
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
VF资料管理系统(ER图+源代码+SQL+DFD图) 第8页下载如图片无法显示或论文不完整,请联系qq752018766