登录窗口 本例制作一个简单的登录表单,系统运行时首先启动此登录表单,运行界面如下图: 本例制作一个简单的登录表单,系统运行时首先启动此登录表单,运行界面如下图:
输入正确的用户名及密码才会启动主表单,如下图; 输入正确的用户名及密码才会启动主表单,如下图;若连续 3 次输入错误的用户名及密码 则会自动退出。 则会自动退出。
制作步骤如下: 制作步骤如下: 属性值设置为“系统登录” 一、新建表单,将表单的 caption 属性值设置为“系统登录” ShowWindow 属性值设置为 新建表单, , 作为顶层表单” “2-作为顶层表单” width 属性值设置为 295,height 属性值设置为 100,AutoCenter 属性 作为顶层表单 , , , 值设置为,并将表单保存为“系统登录.scx” 值设置为,并将表单保存为“系统登录 ” 。 属性值均设置为.f., 二、继续设置该表单的属性:将表单的 MaxButton 及 MinButton 属性值均设置为 ,这样 继续设置该表单的属性: 就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。 就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。 向表单添加两个 label 控件, 控件, 三、 将它们的 caption 属性值分别设置为 用户名” “密 码” “用户名” 和 。 属性值设置为“ ” 四、向表单添加两个文本框控件,并将其中的 Text2 的 PasswordChar 属性值设置为“*” 向表单添加两个文本框控件, 。 向表单添加两个命令按钮 command1 和 command2, 五、 , 将它们的 caption 属性值分别设置 确定” 退出” 为“确定”和“退出” 。 六、适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图: 适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图:
1
七、右击表单空白处,选“数据环境”命令,将“管理”表添加到表单的数据环境中。 右击表单空白处, 数据环境”命令, 管理”表添加到表单的数据环境中。 八、添加事件代码: 添加事件代码: 事件代码: (一)表单的 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) ppass
word=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
2
九、运行“系统登录.scx”即可 在看实例学 VFP:示例数据库一文中已经给出了“管理 运行“系统登录 ”即可,在看实例学 :示例数据库一文中已经给出了“管理.dbf” ” 的结构,其中预置的两个操作员的用户名及密码分别是 其中预置的两个操作员的用户名及密码分别是: 的结构 其中预置的两个操作员的用户名及密码分别是:
看实例学 VFP:用编辑框控件做个“摸奖机” :用编辑框控件做个“摸奖机” 编辑