《《Visual FoxPro 9.0项目开发案例教程》-李政-电子教案 第06章》由会员分享,可在线阅读,更多相关《《Visual FoxPro 9.0项目开发案例教程》-李政-电子教案 第06章(14页珍藏版)》请在金锄头文库上搜索。
1、购房打分排队软件,目标: 人工输入申请购房者的基础信息,由计算机自动求出各项分数和总分数,进行排序,打印输出结果,提高工作效率和质量。 技术: 用到了第5章介绍的“分页增删改”类和“通用查询”类,在动态信息提示、即时求值、宏代换应用等方面采用了比较特殊的技术。,6.1 数据表与菜单,6.1.1 数据表设计自由表house.dbf,6.1 数据表与菜单,6.1.2 菜单设计 系统的主要功能是输入基本信息,计算各项分数和总分数,查询,排序和打印输出。其中,输入和计算由一个模块完成,查询、排序、打印输出由另一个模块(通用查询)完成。,6.2 主程序和“退出”程序,软件的入口程序:主程序.prg 这段
2、代码首先设置系统窗口的一些属性。包括标题、图标、背景颜色,取消最大化按钮、关闭按钮,使用窗口最大化。然后设置系统的开关或状态。最后关闭所有文件,清除所有变量,执行主菜单并读取用户事件。 软件的结束程序:退出.prg 这段代码首先恢复系统窗口的默认属性。包括标题、图标、最大化按钮、关闭按钮。然后关闭所有文件,清所有变量,释放窗口和表单,恢复系统菜单,退出VFP 。,6.3 “输入计算”表单,表单可以在第5章介绍的“分页增删改”类的基础上创建。 将第5章创建的类库page_form.vcx复制到本章源代码所在的文件夹,并将类库page_form.vcx添加到本章的项目文件house.pjx中。,6
3、.3 “输入计算”表单,6.3 “输入计算”表单,表单上与数据表对应有19个字段,为了使光标定位到每个字段的文本框时,能够在表单的文本框Text4中显示或清除提示信息,或者自动计算并填写该字段的值,需要分别对字段所在的文本框编写GotFocus事件代码。,6.3 “输入计算”表单,需要显示提示信息的字段 需要显示提示信息的有“职别”、“住户类别”、“排序类别”、“申请户型”、“学龄分”、“人口结构分”和“照顾分”,共7个字段。 需要清除提示信息的字段 需要清除提示信息的有“姓名”、“工资”和“奖励分”,共3个字段。,6.3 “输入计算”表单,需要自动计算并填写内容的字段 需要自动计算并填写内容
4、(可能同时需要显示或清除提示信息)的有“工作时间”、“高校时间”、“截止时间”、“职别分”、“工资分”、“工龄分”、“高校校龄分”、“面积补差分”和“总分”,共9个字段。,6.3 “输入计算”表单,表单自定义方法及其编码 自定义方法bdsqz相当于表单中的一个函数。它将一个算术表达式字符串作为自变量,对表达式进行处理并求值,得到一个等式字符串或一个数值字符串作为函数值返回。 在“面积补差分”和“照顾分”两个字段中,允许输入表达式,当光标离开该字段时,系统自动计算出表达式的值,并形成一个等式字符串或一个数值字符串重新填写到当前字段中。为此,我们对这两个字段的LostFocus事件编写代码来调用表
5、单的自定义方法完成对表达式处理和求值操作。,6.3 “输入计算”表单,运行表单 打开“购房打分排队.输入计算”窗口。此时,可以输入或修改当前记录各个字段的值,6.4 “查询输出”表单,为实现对购房打分信息的查询、排序、输出和打印功能,我们设计一个“查询输出”表单。该表单可以直接使用第5章介绍的“通用查询”类,只修改部分属性即可。,6.4 “查询输出”表单,6.4.1 创建表单并设置属性 设置自定义属性tname的值为house,作为入口参数,也就是指定了要查询的数据表。此外,设置表单的Caption属性为“购房打分排队.查询输出”作为窗口标题,设置表单的icon(图标)属性为house.ico。 设置标签Label1(TXT类别)和选项按钮组Optiongroup1的Visible属性为.F.,使它们不可见,因为这里用不着“多表头”的TXT文本文件类型。,6.4 “查询输出”表单,6.4.2 运行表单 打开 “购房打分排队.查询输出”窗口,可选择输出字段、排序字段,指定条件进行查询和输出。,