呵呵。我有两种电常用的方法,我给你贴一种我最常用的出来哈(我以前两天做的一个超市进销存管理系统为列):
1.在“超市数据库”数据库中建立数据表“用户表”,设置如下图:
用户名设为主索引。如果你要使用用户权限,则可以保留用户类型字段,如果不用那就去掉不要就是了。
2.登陆界面:
建立一个新表单
表单Unload代码:USE
表单数据环境用添加“用户表”数据表,并且将插入的表属性中的:Exclusive值改为“真”值。如下图
将数据表中的两个字段拖入表单中并建立确认及取消两个按钮
将txtUserPwd文本框的Password属性改为“*”。(引号不要)。这样输入的密码就以*显示了
编写确定按钮的Click代码:
IF ALLTRIm(thisform.txtUserName.Value) == ''
MessageBox("请输入用户名")
RETURN
特别声明:本文为企业作者上传发布,仅代表该作者观点、快闻网仅提供信息发布平台。IF
IF ALLTRIm(thisform.txtUserPwd.Value) == ''
MessageBox("请输入密码")
RETURN
特别声明:本文为企业作者上传发布,仅代表该作者观点、快闻网仅提供信息发布平台。IF
SELECT 用户表
查找指定用户名为的记录
public UserName, UserType 定义全局变量,最好是在主程序中进行定义
Locate For Allt(用户名)=Allt(thisform.txtUserName.Value)
If Found() == .T. 如果找到
If Allt(密码) == Allt(thisform.txtUserPwd.Value) 比较密码,成功则进入
MessageBox("欢迎光临", 64, "提示信息")
UserName = 用户名
UserType = 用户类型
这里添加你要运行语句
release thisform
Else 比较密码不成功
MessageBox("密码不正确", 16, "错误提示")
Endif
Else 没有找到指定用户
MessageBox("用户名不存在", 16, "错误提示")
Endif
编写取消按钮的Click代码:
RELEASE thisform
ON SHUTDOWN Do OnQuit
quit
这就是登陆表单哈。
注意。登陆表单最好和主程序交互编写为最好。
主程序:
SET TALK OFF 关闭对话
SET ESCAPE OFF 关闭ESCAPE键
SET EXACT ON 打开完全匹配
SET EXCLUSIVE ON 打开独占
SET ConSOLE ON 将输出结果到发送到Visual FoxPro主窗口或当前的活动窗口
SET DATE TO SHORT 设置长日期
SET SCORE OFF 关闭分值栏
SET SAFETY OFF 关闭安全提示
SET STATUS BAR OFF 关闭系统提示栏
SET CENTURY ON 打开世纪开关
SET DELETED ON 屏闭删除项
SET SYSMENU OFF 关闭系统菜单
SET NOTIFY OFF 关闭提示
设置系统窗口属性
_SCREEN.MaxButton = .F. 取消最大化按钮
_SCREEN.MaxWidth = 780 设置最大宽度
_SCREEN.MaxHeight = 600 设置最大高度
_SCREEN.Caption = "超市进销存管理系统" 设置窗口标题
_SCREEN.Picture = 'img\hr.bmp' 设置窗口背景图片
_SCREEN.AutoCenter = .T. 指定表单初次显示时,自动位于主窗口
定义全局变量
public UserName, UserType
SET PATH TO DATA
打开菜单
Do mymenu.mpr
Do Form Form\登陆.scx
READ EVENTS
Procedure OnQuit
CLEAR EVENTS
CLOSE ALL
QUIT
Endproc
如果使用了这样的主程序,那么在登陆表单的确定中就不用再定义全局变量以及运行的语句了,都放主程序中进行跳转。
最后效果是:如果用户名不正确,会提示用户名不正确,如果用户名正确,密码不正确,则会提示密码错误。用户名及密码都正确则执行定义的语句。
补充回答:给你看看效果哈:
1.错误的用户名:
2.错误的密码:
3.用户名密码都正确:
呵呵。。这是帮别人做的毕业做业哈。所以把名字挡住呵。
简单/NO平淡 回答采纳率:44.7% 2010-07-18 05:10
(我看不到你的图,自己设计了一个,一个文本框、一个命令按钮、一个标签)
初始界面:
在Command1的Click事件过程中写代码:
if alltrim(thisform.text1.value)="123456"
messagebox("欢迎使用本系统!")
else
messagebox("用户名或密码错误,请重新输入!")
endif
效果图: