第8章项目开发实例8.1项目管理器8.2应收应付管理系统设计8.3构造应用程序8.4发布应用程序学习目标理解项目管理的概念;掌握项目管理器的使用方法;理解管理信息系统设计的步骤;掌握菜单设计器的使用方法;理解并掌握构造应用程序的步骤;了解如何发布应用程序。重点与难点重点在于掌握项目管理器、菜单设计器的用法和构造应用程序的步骤;难点在于数据库应用管理信息系统的设计与实现。8.1项目管理器VFP的项目管理器是按一定的顺序和逻辑关系,对数据库应用系统的文件进行有效组织的工具并且可以最简单、可视化的方法对数据库、数据表进行管理。在进行应用程序开发时,可以有效地组织数据库、数据表、表单、菜单、类、程序和其它文件,并可将它们连编成可独立运行的EXE文件。8.1.1创建项目8.1.2使用项目管理器8.2应收应付管理系统设计应收应付管理是企业必不可少的一项管理,在企业的进货、销售和库存,简称“进销存”。管理中产生的数据是应收应付管理的基础,本系统是一个独立的管理系统,它所管理的数据来源于本单位开出的发票和外单位开来的发票,以及款项往来的数据,因此该系统是一个简单的项目开发实例。项目开发内容包括:需求分析、数据库设计、菜单设计和功能实现等。8.2.1需求分析应收应付管理包括三个部分:应收货款、应付货款和本企业应收应付平衡。8.2.2数据库设计应收应付管理系统数据库中的表分为两大类:应收和应付。其中应收方面包括:销售客户、销售发票和来款三个表;而应付方面包括:供货客户、供货发票和付款。8.2.3菜单设计菜单是一个具有友好界面的应用系统必不可少的功能,它能将应用程序的各功能模块有机地联系起来,用户通过菜单操作应用程序就如在饭馆通过菜谱点菜一样方便。VFP提供的菜单设计器使得创建菜单非常方便。1.启动菜单设计器从VFP的主菜单选择“文件”菜单下的“新建”命令,再从文件类型表中选择“菜单”,单击“新建文件”命令按钮就可以启动菜单设计器了。除了菜单方式操作外,还可以使用命令方式,创建菜单的命令格式如下:createmenu菜单文件名修改菜单设计命令格式如下:modifymenu菜单文件名菜单文件的类型名或称扩展名为.mnx,它其实也是一个数据表。2.使用菜单设计器提示选项键盘快捷键是Ctrl键和其他键组合,譬如:Ctrl+S。快捷键和访问键的不同之处在于快捷键能够在下列菜单没有激活时直接执行菜单功能。菜单生成菜单设计完成,还需要进行程序代码的生成,生成的菜单程序文件(其扩展名为.mpr,编译后的扩展名为.mpx)。3.应收应付管理系统菜单设计8.2.4功能实现类别功能作用表单名数据维护开出发票销售发票数据维护KCFP数据维护收到发票供货发票数据维护SDFP数据维护收到货款销售客户来款数据维护SDHK数据维护支付货款支付供货客户货款数据维护ZFHK统计查询应收对帐明细查询指定时间范围、客户查询YSDZMX统计查询应付对帐明细查询指定时间范围、客户查询YFDZMX统计查询应收情况查询全部客户的应收情况YSCX统计查询应付情况查询全部客户的应付情况YFCX统计查询应收应付平衡查询查询应收、应付总额YSYFPH报表打印应收明细报表指定时间范围、客户报表YSMXBB报表打印应付明细报表指定时间范围、客户报表YFMXBB报表打印应收情况报表指定时间范围、全部客户报表YSBB报表打印应付情况报表指定时间范围、全部客户报表YFBB数据字典销售客户销售客户资料维护XSKH数据字典供货客户供货客户资料维护GHKH关于系统关于系统显示系统开发有关背景资料GYXT登陆系统用户认证,口令正确才能登陆XTDL8.3构造应用程序使用VFP创建面向对象的事件驱动应用程序时,创建一个模块后立即对其进行测试和检查,在所有的功能模块创建和测试完毕,就可以进行应用程序的连编了。一般来讲应用程序的建立需要以下三个步骤:(1)构造应用程序框架;(2)将文件添加到项目中;(3)连编应用程序。8.3.1构造应用程序框架数据库应用系统由数据库、表、用户界面、查询、报表、菜单和主程序等组成。在设计应用程序时,需要仔细考虑每个组件将提供的功能以及与其他功能之间的关系,一般需要考虑如下任务:(1)设置应用程序的起始点,也就是设置主文件。(2)初始化环境,也就是使用SET命令进行设置。(3)显示初始的用户界面,它们可以是菜单或表单。(4)控制事件循环。(5)退出应用程序时,恢复原始的开发环境。(1)设置应用程序的起始点,也就是设置主文件(2)初始化环境也就是使用SET命令进行设置。一般是通过获得系统默认设置,再进行相应的修改,在2.1.2节已经介绍过。(3)显示初始的用户界面它们可以是菜单或表单。为了完成对操作用户的认证,常常需要用户进行登录。(4)控制事件循环一旦应用程序的环境已经建立好了,并显示出初始的用户界面后,就需要建立一个事件循环来等待用户的交互操作。建立事件循环的命令如下:readevents而结束事件循环的命令如下:clearevents注意:在启动事件循环之前,需要提供一个方法退出事件循环,否则应用程序将陷入死循环,而无法关闭它。退出事件循环一般在某个菜单命令或命令按钮中存在一个可执行ClearEvents命令的机制。(5)退出应用程序退出应用程序时,恢复原始的开发环境。在菜单中设置了“退出系统”菜单项,其执行的命令可以退出系统和VFP,命令如下:ifmessagebox(请确认是否退出?,292,应收应付管理系统)=6wait正在退出系统...windowsnowaitwaitclearcleareventsquitendif如果在应用程序系统测试时,可以将quit命令替换成系统环境恢复的命令。【例8.1】编写应收应付管理系统的主文件clearallclearsettalkoffsetdateansisetcentonsetsysmenuoffsetstatoff_screen.caption=应收应付管理系统_screen.windowstate=2_screen.closable=.f._screen.activatedomenu.mpr&&菜单程序doformxtdl&&系统登录界面readevents&&建立事件循环settalkonsetsysmenuonsetsysmenutodefa_screen.closable=.t.return8.3.2将文件加入到项目中开发一个管理信息系统项目需要包括各种类型的文件,如果一个文件需要包含在应用程序中,就必须将它添加到项目中,只有这样才能在编译应用程序时,VFP将其作为组件包含进去。8.3.3连编应用程序项目的连编就是将所有在项目中包含的文件(标记为排除的文件除外)合成为一个应用程序文件。连编操作可以使用如下命令:buildproject项目文件名也可以使用从项目管理器中单击“连编”按钮,弹出“连编选项”对话框连编类型连编类型特征使用连编应用程序生成扩展名为.APP的应用程序文件,运行该文件必须安装VFP在VFP命令窗口键入:Do应用程序文件名连编可执行文件生成扩展名为.exe的可执行程序,运行时无需安装VFP,但必须在该文件所在目录包含vfp6r.dll和vfp6renu.dll(enu表示英文版)直接双击该文件的图标就可执行;也可以通过VFP的“程序”菜单中的运行命令运行。连编COMDLL生成扩展名为.dll的动态链接库编程方式调用8.4发布应用程序数据库系统项目经过连编生成一个扩展名为.app的应用程序文件,或一个扩展名为.exe的可执行文件后,就可以发布它了。发布应用程序的一般步骤(1)使用VFP开发环境创建并调试应用程序。(2)为运行环境准备并定制应用程序。(3)生成应用程序或者可执行文件。(4)创建发布目录,存放用户运行应用程序所需要的全部文件。(5)使用“安装向导”创建发布磁盘和安装程序。(6)包装并发布应用程序磁盘以及文档。本章小结数据库管理信息系统的设计包括需求分析、数据库设计、菜单设计和功能实现等内容。菜单将系统的各项功能组建按一定的规则组合起来,提供一种友好的用户界面。VFP提供的可视化程序设计是面向对象的事件驱动的。ReadEvents建立事件循环后,用户就可以交互操作了;如果没有建立事件循环,应用程序执行完毕后就会立即返回VFP或操作系统。数据库管理信息系统包括的文件只有添加到项目中才能编译到应用程序中。连编成可执行文件,可以独立运行,即无需安装VFP系统。发布应用程序的实质就是将数据库管理信息系统所包含的文件及其支持文件压缩并拷贝到磁盘。作业P198一