客户管理系统_毕业设计论文(编辑修改稿)内容摘要:

图 登录界面表单 布局完登录表单的控件后,开始设计表单的方法程序和事件代码。 (1) Load 事件 Load 事件在加载登录表单时运行。 右击表单窗口,在弹出的快捷菜单中选择【代码】命令。 登录表单的 Load 事件代码如下所示: set talk off amp。 amp。 关闭返回执行状态的显示,默认为开 set safety off amp。 amp。 设置 safety为关,删除数据库时不会出现提示, 与新建的数据库 同名时直接覆盖 close all amp。 amp。 关闭所有的数据库 open database d:\VFP98\客户管理系统 .dbc exclusive amp。 amp。 以独占方式打开数据库“客户管理系统” select a amp。 amp。 选择工作区 A use d:\客户管理系统 \操作员 .dbf amp。 amp。 在工作区 A 中打开操作员表 17 (2) Unload 事件 caozuoyuan=39。 39。 amp。 amp。 变量 caozuoyuan为空 return caozuoyuan amp。 amp。 返回变量值 close all amp。 amp。 关闭所有打开的数据库以及数据表 【确定】按钮的 Click事件的代码如下所示: Private zj,mm,st amp。 amp。 定义私有变量 st=39。 密码不正确,请重新输入 !39。 amp。 amp。 提示信息 zj=alltrim() amp。 amp。 把输入的用户名值赋给变量 zj mm=alltrim() amp。 amp。 把输入密码赋值给 mm locate for zj==alltrim(操作员 .证件号 ) amp。 amp。 查找人员配置表与 zj 相等的证件号 if found() and alltrim(操作员 .密码 )==mm amp。 amp。 如果找到相同的比较密码是否相同 caozuoyuan=alltrim(操作员 .证件号 ) amp。 amp。 变量 caozuoyuan值为操作员表中证件号 =.f. amp。 amp。 如果都正确,该界面不在显 示 do amp。 amp。 执行菜单 else wait window st timeout 2 amp。 amp。 程序运行等 2 秒,显示密码不正确的提示信息 =39。 39。 amp。 amp。 密码文本框为空 amp。 amp。 密码文本框获得焦点 endif 【退出】按钮的 Click事件代码如下所示: tuichu=messagebox(39。 您确定要退出客户管理系统吗 ?39。 ,4+32+0,39。 客户管理系统 39。 ) if tuichu=6 caozuoyuan=39。 39。 release thisform endif quit 18 关闭表单设计器,在弹出的保存对话框中保存表单。 文件命名为“登录表单“。 在【项目管理器】对话框中,选择【文档】页面下【表单】中的【登录表单】。 单击【运行】按钮。 修改密码表单设计 修改密码表单主要用来完成修改密码的功能。 为了系统的安全起见,密码用一段时间就要进行更换。 在该表单中,单击“确定”按钮,进行密码的修改。 单击“取消”按钮,取消密码修改的操作。 表单的创建和登录表单的创建步骤相同,其中只有几个属性不同。 (1) 在数据环境中添加操作员表,将密码拖到表单的相应位置。 把密码标签修改成“旧密码”,设置 txt 密码文本框的 passwordchar 属性为星号“ *”,输入时显示占位符。 (2)单击表单控件工具栏的标签控件,在表单中添加三个标签控件。 标签控件的Caption属性分别为“密码修改”、“证件号”、“新密码”, FontSize 属性值依次设为 1 12。 (3)单击表单控件工具栏中的文本框控件,在表单中添加一个文本框控件和一个组合框控件。 设置该文本框的 Name 属性为 password2。 Passwordchar 属性为星号“ *”,输入时显示占位符。 “ Combo1”控件的 Rowsource 属性值为:操作员 .证件号; Rowsourcetype 属性值为: 6—— 字段。 (4)添加 3 个按钮,按钮的 Caption属性为:“确定”、“取消”以及“退出”。 (5) 在【属性】对话框中,设置该表单的 Caption属性为:密码修改。 下面设计密码修改表单的方法程序和事件代码。 【确定】按钮的 Click事件代码如下所示: public x select a amp。 amp。 选择工作区 a use d:\VFP98\客户管理系统 \操作员 .dbf x=alltrim( 密码 .value) amp。 amp。 用 x保存旧密码 replace 操作员 .密码 with alltrim() amp。 amp。 新密码代替旧密码 messagebox(密码已修改 ,0+48,提示 ) 19 【取消】按钮的 Click事件代码如下所示: replace 操作员 .密码 with x messagebox(放弃密码修改 ,0+48,提示 ) 【退出】按钮的 Click事件代码如下所示: 关闭表单设计器,在弹出的保存对话框中保存表单。 文件命名为【密码修改】 在【项目管理器】对话框中,选择【文档】页面下【表单】中的【密码修改】。 单击【运行】按钮。 运行后的登录表单,如图 所示。 图 运行结果 客户查询结果表单 客户查询结果表单显示按一定条件查询出的客户 的基本情况信息。 查询条件有按客户编号查询、按联系人编号以及电话查询。 这类表单由后面的客户查询表单调用。 在表单界面中可以查看第一条记录、前一条记录、后一条记录、最后一条记录以及退出该界面。 下面以按客户编号查询出的查询结果表单为例进行介绍。 客户查询结果表单的设计步骤如下所示: 20 (1) 在【项目管理器】对话框的【文档】页面中,选中【表单】选项。 单击【新建】按钮,弹出【新建表】对话框。 (2)单击【新建表单】按钮。 弹出【表单设计器】窗口。 一个名为 form1 的空表单也随之出现在【表单设计器】窗口中。 (3)右击【表 单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令。 (4)在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择客户表,单击【添加】按钮,再添加联系人表。 然后单击【关闭】按钮,关闭【添加表或视图】对话框。 (5)依次把数据环境中的字段拖到空表单的合适位置。 在表单上出现客户编号标签、电话标签、单位名称标签、传真标签、邮政编码标签、 Email 标签、单位地址标签、区号标签以及联系人编号标签。 Name 属性依次为 txt 客户编号、 txt 电话、 txt 单位地址、 txt 传真、 txt 邮政编码、 txtEmail、 txt 单位地址 txt 区号、 txt联系人编号等文本框。 调整这些控件在表单上的位置。 (6)添加五个按钮,按钮的 Caption属性分别为:“第一个”、“上一个”、“下一个”、“最后一个”以及“退出”。 (7)在【属性】对话框中,设置该表单的 Caption 属性为:查询结果, name 属性为: tquery。 (8)单击表单空间工具栏中的表格控件,在表单中添加一个表格控件。 设置该表格的 childorder 属性为:联系人编号。 设置表格的 columncount 属性为: 格的 linkmaster 属性为:客户表。 设置该 表格的 recordsource 属性为 :联系人表。 设置该表格的 recordsourcetype 属性为:” 0表“ 下面设计表单的方法程序和事件代码。 首先设计表单的 Init 事件程序。 因为该表单显示的是查询后的结果,所以只可以查看记录而不可以修改。 因此将各个文本框的 Enabled 属性设置为 Init 事件程序代码如下所示: amp。 amp。 刷新表单 locate for kh=alltrim(客户表 .客户编号 ) amp。 amp。 光 标转到与客户编号匹配的记录 客户编号 .enabled=.f. amp。 amp。 客户编号文本框不可修改 电话 .enabled=.f. amp。 amp。 电话文本框不可修改 21 单位名称 .enabled=.f. amp。 amp。 单位名称文本框不可修改 传真 .enabled=.f. amp。 amp。 传真文本框不可修改 邮政编码 .enabled=.f. amp。 amp。 邮政编码 文本框不可修改 EMAIL别 .enabled=.f. amp。 amp。 EMAIL文本框不可修改 单位地址 .enabled=.f. amp。 amp。 单位地址文本框不可修改 区号 .enabled=.f. amp。 amp。 区号文本框不可修改 联系人编号 .enabled=.f. amp。 amp。 联系人编号文本框不可修改 【第一个】按钮的 Click事件的代码如下所示: GO TOP amp。 amp。 指针指向第一条记录 =.T. amp。 amp。 该记录获得焦点 =.F. amp。 amp。 按钮组中的按钮 2不能获得焦点 =.T. amp。 amp。 按钮组中的按钮 3获得焦点 =.T. amp。 amp。 按钮组中的按钮 4获得焦点 =.T. amp。 amp。 按钮组中的按钮 5获得焦点 amp。 amp。 刷新表单 【上一个】按钮的 Click事件的代码如下所示: 【上一个】按钮的 Click事件的代码如下所示: SKIP 1 amp。 amp。 指针指向前一条记录 =.T. amp。 amp。 按钮组中得按钮 1获得焦点 =.T. amp。 amp。 按钮组中得按钮 3获得焦点 =.T. amp。 amp。 按钮组中得按钮 4获得焦点 =.T. amp。 amp。 按钮组中得按钮 5获得焦点 amp。 amp。 刷新表单 IF BOF() amp。 amp。 判断指针是否在表头 =.F. amp。 amp。 该记录不能获得焦点 ELSE =.T. amp。 amp。 该记录获得焦点 ENDIF 22 amp。 amp。 刷新表单 skip 1 amp。 amp。 指针指向前一条记录 if bof() amp。 amp。 判断指 针是否在表头 =.t. =.f. =.f. =.t. else =.t. =.t. =.t. =.t. endif amp。 amp。 刷新表单 【下一个】按钮的 Click事件的代码如下所示: SKIP amp。 amp。 指针指向下一条记录 =.T. amp。 amp。 按钮组中的按钮 1获得焦点 IF EOF() amp。 amp。 判断指针是否在表尾 =.F. amp。 amp。 该记录不能获得焦点 =.T. amp。 amp。 按钮组中的按钮 1获得焦点 =.T. amp。 amp。 按钮组中的按钮 2获得焦点 =.F. amp。 amp。 按钮组中的按钮 3不能获得焦点 =.T. amp。 amp。 按钮组中的按钮 5获得焦点 amp。 amp。 刷新表单 ELSE =.T. amp。 amp。 该记录获得焦点 =.T. amp。 amp。 按钮组中的按钮 1获得焦点 =.T. amp。 amp。 按钮组中的按钮 2获得焦点 =.T. amp。 amp。 按钮组中的按钮 3获得焦点 23 =.T. amp。 amp。 按钮组中的按钮 5获得焦点 ENDIF。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。