当前位置: 首页 > 编程语言 > vfp > 正文

看实例学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环境下调试通过。

查看全套“菜鸟也学VFP”教程