看实例学VFP:制作系统登录表单时间:2009-03-05 www.bianceng.cn 老马
本例制作一个简单的登录表单,系统运行时首先启动此登录表单,运行界面如下图:
输入正确的用户名及密码才会启动主表单,如下图;若连续3次输入错误的用户名及密码则会自动退出。
制作步骤如下:
一、新建表单,将表单的caption属性值设置为“系统登录”,ShowWindow属性值设置为“2-作为顶层表单”,width属性值设置为295,height属性值设置为100,AutoCenter属性值设置为,并将表单保存为“系统登录.scx”。
二、继续设置该表单的属性:将表单的MaxButton及MinButton属性值均设置为.f.,这样就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。
三、向表单添加两个label控件,将它们的caption属性值分别设置为“用户名”和“密 码”。
四、向表单添加两个文本框控件,并将其中的Text2的PasswordChar属性值设置为“*”。
五、向表单添加两个命令按钮command1和command2,将它们的caption属性值分别设置为“确定”和“退出”。
六、适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图:
七、右击表单空白处,选“数据环境”命令,将“管理”表添加到表单的数据环境中。
八、添加事件代码:
(一)表单的init事件代码:
public cn &&声明全局变量,用于计算登录次数
cn=0
(二) 表单的unload事件:
close all
clear events
quit
(三)接收用户名的文本框Text1的KeyPress事件代码:
LPARAMETERS nKeyCode, nShiftAltCtrl
if nKeyCode=13.and.!empty(this.value) &&输入用户名后按回车即进入输密码
thisform.Text2.enabled=.t.
thisform.Text2.setfocus
endif(四)“确定”按钮command1的click事件代码:
cname=alltrim(thisform.text1.value)
ppassword=alltrim(thisform.text2.value)
cn=cn+1
if cn=3
thisform.release
endif
set exact on
go top
locate for 操作员姓名=cname.and.密码=ppassword
if eof()
messagebox('用户名或密码错误,请重新输入!','系统提示')
return
else
thisform.visible=.f.
do form 主表单 &&调入主界面表单
endif
set exact off &&设置字符非精确比较(五)“退出”按钮command2的click事件代码:thisform.release
九、运行“系统登录.scx”即可,在看实例学VFP:示例数据库一文中已经给出了“管理.dbf”的结构,其中预置的两个操作员的用户名及密码分别是:
用户名 密码
张三 12345678
李四 aaaaaaaa
本例代码在Win2003+VFP6.0环境下调试通过。