本例制作一个简单的登录表单,系统运行时首先启动此登录表单,运行界面如下图: 输入正确的用户名及密码才会启动主表单,如下图;若连续3次输入错误的用户名及密码则会自动退出。 制作步骤如下: 一、新建表单,将表单的caption属性值设置为“系统登录”,ShowWindow属性值设置为“2-作为顶层表单”,width属性值设置为295,height属性值设置为100,AutoCenter属性值设置为,并将表单保存为“系统登录.scx”。 二、继续设置该表单的属性:将表单的MaxButton及MinButton属性值均设置为.f.,这样就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。 三、向表单添加两个label控件,将它们的caption属性值分别设置为“用户名”和“密 码”。 四、向表单添加两个文本框控件,并将其中的Text2的PasswordChar属性值设置为“*”。 五、向表单添加两个命令按钮command1和command2,将它们的caption属性值分别设置为“确定”和“退出”。 六、适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图: 七、右击表单空白处,选“数据环境”命令,将“管理”表添加到表单的数据环境中。 八、添加事件代码: (一)表单的init事件代码: public cn &&声明全局变量,用于计算登录次数 (二) 表单的unload事件: close all (三)接收用户名的文本框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”的结构,其中预置的两个操作员的用户名及密码分别是:
本例代码在Win2003+VFP6.0环境下调试通过。 |
|