欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [毕业论文] VC++仓库电子管理系统.doc

    • 资源ID:3932621       资源大小:518.50KB        全文页数:37页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [毕业论文] VC++仓库电子管理系统.doc

    编号 本科生毕业设计仓库管理系统Warehouse Management System学 生 姓 名专 业计算机科学与技术学 号指 导 教 师学 院计算机科学与技术2009年 06月 摘要本文对仓库管理系统 的功能及实现分别进行了论述,本系统采用SQL Server 2000作为后台数据库的开发工具,应用VC+ 6.0作为前台开发语言。本系统主要包括基础信息管理,入库管理,出库管理,查询管理等几个主模块。本系统操作简单明了,界面美观,简化了仓库管理烦琐的传统管理方式,以简单明了的方式对仓库库存进行系统的电子管理。本文首先阐述了管理信息系统开发的基本理论,包括开发过程的介绍、系统平台的选择、数据库设计方法等。其次针对货物销售的业务需求,给出了一个完整的货物销售管理系统 的实现方案,包括系统的需求分析,系统的体系结构设计,各模块的功能 设计,数据库 设计及系统的集成部署等。对仓库管理管理系统 进行了详细设计及描述。关键字:功能 数据库 仓库管理系统AbstractFunction and realizing describing of this text separately to the warehouse managemen system, system this adopt SQL Server 2000 as backstage supporter developing instrument of database, employ VC+ 6.0 develop languages as front desk. This system mainly including the fundamental information management,warehouse entry management, warehouse output management,inquiry management,etc. This system operation is simple and clear, the interface is esthetic, simplify the convoluted traditional management style of warehouse management, manage the systematic electron to warehouse management in simple and clear way apt to be grasped. This text explain basic theories that the management information system develop at first, introduction, systematic choice, database design method,etc. of platform to develop course. Secondly direct against the business demand of sales of goods, provide the realization scheme of an intact warehouse managemen system, including systematic demand analyze systematic system structural design, every module of functions design, the design of storehouse of the data and systematic one are integrated and disposed etc. Have designed and described the warehouse managemen system in detail.Key words: Function;Database;Warehouse Management System目录第一章 绪论- 1 -1.1 选题背景- 1 -1.2 研究目的及意义- 1 -1.3 国内外现状- 1 -1.4 开发环境- 2 -第二章 开发工具简介- 3 -2.1 Visual C+ 编程环境简介- 3 -2.2 SQL Server 2000 数据库简介- 4 -2.3 ADO简介- 5 -第三章 总体设计- 7 -3.1 系统需求分析- 7 -3.2 模块总体设计- 8 -3.3 数据库设计- 8 -3.3.1 数据库需求分析- 8 -3.3.2 数据库概念结构设计- 9 -3.3.3 数据库逻辑结构设计- 10 -第四章 详细设计- 13 -4.1 入库模块设计分析- 13 -4.1.1 商品入库处理过程分析- 13 -4.1.2 商品入库查询处理过程分析- 13 -4.2 系统模块的详细设计- 13 -4.2.1 菜单设计- 13 -4.2.2 工具栏设计- 14 -4.2.3 系统主界面- 15 -4.2.4 父窗口设计- 15 -4.2.5 商品入库程序设计- 17 -4.2.6 库存盘点程序设计- 18 -4.2.7 入库查询程序设计- 19 -4.3 疑难问题分析解决- 20 -4.3.1 利用表格录入商品- 20 -4.3.2 联想录入表格的实现- 21 -总结- 23 -参考文献- 24 -致谢- 25 -附录- 26 -父窗口设计主要代码- 26 -商品入库程序设计- 27 -库存盘点程序的设计- 29 -入库查询程序查询- 32 -第一章 绪论1.1 选题背景随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要存贮在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断更新与发展,有关产品的各种信息量也会成倍的增长,而对庞大的产品信息量,如何有效的管理库存品,对这些企业来说是非常重要的,库存管理的重点是销售信息是否即使反馈,从而确保企业运行效益.而库存产品及时入库,出库的产品,经办人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以就需要由仓库管理系统来提高仓库管理工作的效率,这对信息的规范管理,科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高生产效率,都具有十分重要的现实意义1.2 研究目的及意义当今社会是竞争的社会。在市场竞争中,建立科学、规范、高效管理制度成为了企业管理的当务之急。一个企业在市场中是否具有强有力的竞争力,除了要看企业的人才、资金、技术、产品之外,更重要的一项,就是要看企业是否有一个良好的管理体制。在企业管理中,仓库管理更是管理中的重中之重。随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,仓库管理系统就顺应时代的需要诞生了。使得管理人员可以告别沉重而且不易于查询的记事本堆了。本课题主要的目的是是帮助企业的仓库管理人员对企业生产所需要的物资设备进行管理和控制,使生产设备得到充分利用,以达到降低成本。给用户提供简而易行的工作界面,为用户提供充足的信息和快捷的查询手段。管理人员通过系统企业仓库信息的管理与统计,为企业积累真实、有效的数据,通过对这些数据的分析与研究,对企业各方面做出的相应的调整,以提高企业的管理效率,使企业走上良好的发展道路1.3 国内外现状仓库管理系统是信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。如今用于支持后台的数据库有很多种。如ACCESS、SQL SEVER、IBM DB2、ORACLE、MYSQL等等。Microsoft SQL Server 2000 能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到 SQL Server 2000 实例。SQL SERVER是一种不可思议的数据库产品。它不仅在性能、可靠性和易管理性等方面都表现十分出色,同时,它也允许开发人员在需要的时候进行非常精细的控制。在存储方面更出类拔萃。存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。做为前台的开发工具也涌现了不少优秀的产品,如VISUAL BASIC、VISUAL C+、JAVA、.NET等等。Visual Basic可以快速构Windows下的应用程序,程序设计方面的技术不断发展着,不断引进新的概念、新的方法,如从结构化的C开始,当面向对象的思想被提出后,出现了C+,微软在C+的基础上为使用户构建win32应用程序更加方便,推出了Visual C+。这也就需要程序员也要不断的更新自己的技术。1.4 开发环境系统开发环境包括硬件平台和软件平台两种。硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济,只要配备有PII处理器(或以上)、64M内存(或以上)、10G硬盘(或以上)的普通微机即可顺利运行。软件平台是指系统开发与运行的软件环境。本系统在开发时选用了稳定性较强的Windows XP中文专业版和Visual C+作为开发语言,同时选用了SQL Server 2000数据库。工具都是微软的产品,彼此之间的兼容性较好,开发出的应用系统稳定性较高。Visual C+ 6.0具有可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,使其可以轻松方便的对数据库进行管理。数据库采用SQL Server 2000,由于我们的系统要求,采用它完全可以适合我们的工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易升级。第二章 开发工具简介2.1 Visual C+ 编程环境简介Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Visual C+它大概可以分成三个主要的部分:1 Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C+”,所以很多人理所当然的认为,那就是Visual C+了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+, 它充其量只是Visual C+的一个壳子而已。这一点请切记!2 MFC。从理论上来讲,MFC也不是专用于Visual C+,Borland C+,C+Builder和Symantec C+同样可以处理MFC。同时,用Visual C+编写代码也并不意味着一定要用MFC,只要愿意,用Visual C+来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C+而不用MFC就等于抛弃了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。3 Platform SDK。这才是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。2.2 SQL Server 2000 数据库简介数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言是SQL Server 2000。SQL Server作为微软在Windows 系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,相信大多数将自己的业务建立在Windows平台上的用户都会对它有相当的亲切感。今天,我们就来谈谈您所关注的数据库解决方案之微软篇。区别于FoxPro、Access小型数据库,SQL Server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。SQL Server 2000的优点如下:1.上手容易话分两头,如果您的企业至今还未购置数据库,其中一个主要的原因可能就是认为它不好上手,那么,从SQL Server开始吧。毕竟,大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server与Windows界面风格完全一致,且有许多"向导(Wizard)"帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数。从另一个角度来讲,学习SQL Server是掌握其他平台及大型数据,如Oracle,Sybase,DB/2的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQL Server的基础,再去学习和使用它们就容易多了。IT行业的实践经验充分证明了这一点。2.兼容性良好由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。 3.相对于7.0的忧越性Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理数据仓库。Microsoft SQL Server 2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。2.3 ADO简介微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。ADO对象模型定义了一组可编程的自动化对象,可用于Visual Basic、Visual C+、Java以及其他各种支持自动化特性的脚本语言。ADO最早被用于Microsoft Internet In formation Server中访问数据库的接口,与一般的数据库接口相比,ADO可更好地用于网络环境,通过优化技术,它尽可能地降低网络流量;ADO的另一个特性是使用简单,不仅因为它是一个面向高级用户的数据库接口,更因为它使用了一组简化的接口用以处理各种数据源。这两个特性使得ADO必将取代RDO和DAO,成为最终的应用层数据接口标准。在ADO模型中,主体对象只有3个:Connection、Command和Recordset,其他4个集合对象Errors、Properties、Parameters和Fields分别对应Error、Property、Parameter和Field对象,整个ADO对象模型由这些对象组成。一个典型的ADO应用使用Connection对象建立与数据源的连接,然后用一个Command对象给出对数据库操作的命令,比如查询或者更新数据等,而Recordset用于对结果集数据进行维护或者浏览等操作。Command命令所使用的命令语言与底层所对应的OLE DB数据源有关,不同的数据源可以使用不同的命令语言,对于关系型数据库,通常使用SQL作为命令语言。在Connection、Command和Recordset 3个对象中,Command对象是个可选对象,它是否有效取决于OLE DB数据提供者是否实现了ICommand接口。由于OLE DB可提供关系型数据源也可以提供非关系型数源,所以在非关系型数据源上使用传统的SQL命令查询数据有可能无效,甚至Command命令对象也不能使用。第三章 总体设计3.1 系统需求分析经过前面的初步调研分析,总结出仓库管理工作具有以下特点:在仓库管理中存在帐目品种杂、重复次数多的问题,目前仓库对所有信息的管理均以手工完成,既由资料管理员以各种记录台帐方式完成信息的登记,在需要某种信息的时候查找台帐记录。很明显,目前的工作方法效率低下,信息保存的准确性、安全性难以保证,信息查询的快速性、完整性也难以保证,致使销售管理工作费人,费时,费力,繁琐枯燥,效率低下。因此实现仓库管理的计算机化迫在眉睫, 本系统是集仓库管理、货物管理、仓库货物进出库管理、客户统计、进出库统计等功能于一体的综合性仓储管理系统。支持多种类型的入库、出库、补货方式,同时支持多种查询方式和全面的日志管理,可应用于各种行业的单体仓库精细化管理或者应用于制造企业、物流企业、流通业及其它特殊行业的仓库管理。可以轻松解决物流企业在仓库管理、货物流动分析等一系列问题,迅速提高物流企业对仓库经营管理水平、稳固客户群,增加经济效益,以最小的投资获得双盈的优秀管理。帮助生产企业、分公司、分销商、代理商、商场、商店等之间建立起一套完善、高效、具有快速反应能力和管理能力的业务平台,可以极大的提高企业竞争力,为企业创造价值果!经过详细的需求分析,得出仓库管理系统的用户图如图3.1图3.1 仓库管理系统用例图3.2 模块总体设计本设计需要设计的系统是仓库管理系统,需要建立模块配合功能来实现它,因此,下面简单介绍一下本系统的几个主要模块。系统功能模块图如图3.2图3.2 仓库管理系统功能模块图1.基础信息管理:在基础信息管理中需要实现操作员,商品,仓库,供应商的信息管理,包括信息的添加,修改,删除,浏览。2.入库管理: 在入库管理中需要实现商品的入库,入库退货管理,记录入库,入库退货信息。3.库存管理: 在库存管理中需要实现库存商品打印,库存盘点,库存调拨,商品出库,库存上下限管理。4.查询管理: 在查询管理中需要实现入库查询,入库退货查询,报损,报益查询,库存调拨查询,商品出库查询。3.3 数据库设计3.3.1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析调查有关仓库管理信息需求的基础上,得到如图3.3所示的本系统所处理的数据流程。仓库现有库存汇总、处理各种单据产品入库产品出库报表打印图3.3 仓库管理系统数据流程图通过对企业仓库管理的内容和数据流程分析,设计数据项和数据结构如下:Ø 货物信息,包括的数据项有编号、货物名称、货物类别、货物规格、计量单位、最高限量、最低限量、备注等。Ø 仓库信息,包括的数据项有编号、仓库名称、仓库地点、保管员编号、备注等。Ø 库存状况信息,包括的数据项有编号、货物编号、库存数量、仓库编号等。Ø 入库单信息,包括的数据项有编号、货物编号、经办人编号、入库时间、入库单价、入库数量、供应商编号、仓库编号、定单状况、其它金额、备注等。Ø 出库单信息,包括的数据项有编号、货物编号、经办人编号、出库时间、出库单价、出库数量、客户编号、仓库编号、定单状况、其它金额、备注等。Ø 进行月盘点信息,包括的数据项有编号、仓库编号、盘点时间、经办人编号、盘点数据等。3.3.2 数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体结构,以及他们之间的关系,为以后的逻辑结构设计打下基础。根据上面的设计规划出的实体有:现有库存信息实体、入库信息实体、出库信息实体、借入信息实体、借出信息实体、调拨信息实体图和报损信息实体图。主要实体具体的描述E-R图如下:现有库存信息实体E-R图如图3.4所示。现有库存信息实体编号货物名称最低限量最高限量图3.4 现有库存信息实体E-R图入库单信息实体E-R图如图3.5所示。入库信息实体编号经办人编号入库时间、单价、数量供应商编号图3.5 入库单信息实体E-R图出库单信息实体E-R图如图3.6所示。出库信息实体编号经办人编号入库时间、单价、数量客户编号图3.6出库信息实体E-R图3.3.3 数据库逻辑结构设计现在需要将在上面的数据库概念结构转化为SQL Sever 2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。仓库管理系统共使用了11张数据表,分别为操作员信息表(tb_operator),供应商信息表(tb_providerinfo),库存盘点明细表(tb_check_sub),库存盘点主表(tb_check_main),库存信息表(tb_storageinfo),入库明细表(tb_instock_sub),入库退货明细表(tb_cancelinstock_sub),入库退货主表(tb_cancelinstock_main),商品库存表(tb_merchandisetorage),商品入库主表(tb_instore_main),商品信息表(tb_merchandiseinfo)。本仓库管理系统共设计了11张表,主要的8张表分别是:表3.1 操作员信息表(tb_operator)列名数据类型是否允许为空描述OperatorIDVarchar(10)否 操作员账号(主键)NameVarchar(30)否操作员姓名PasswordVarchar(10)否操作员密码LevelSmallint否操作员级别表3.2 供应商信息表(tb_providername)列名数据类型是否允许为空描述ProvidernameVarchar(30)否 供应商名称(主键)ArtificaialpersonVarchar(30)否法人PrincipalVarchar(30)否负责人PhoneVarchar(30)否电话AddrVarchar(30)否地址WebVarchar(30)是网址E_mailVarchar(30)是电子邮箱表3.3 库存盘点明细表(tb_check_sub)列名数据类型是否允许为空描述checkIDVarchar(30)否 盘点单号(主键)MerchandiseidVarchar(30)否商品编号sumfloat否数量表3.4 库存盘点主表(tb_check_main)列名数据类型是否允许为空描述checkIDVarchar(30)否 盘点单号(主键)storageVarchar(30)否 仓库名称(外键)PrincipalVarchar(30)否负责人Checktimedatetime否盘点时间CheckspecSmallint否盘点标识memoVarchar(100)否备注表3.5 库存信息表(tb_storageinfo)列名数据类型是否允许为空描述StoragenameVarchar(30)否 仓库名称(主键)表3.6 入库明细表(tb_instock_sub)列名数据类型是否允许为空描述InstockidVarchar(30)否 入库单号(主键)merchandiseIDVarchar(30)否 商品编号(外键)Unitpricemoney否单价NumbersFloat否数量RebateFloat否折扣PaymoneyMoney否金额stocknameVarchar(30)否仓库名称表3.7 入库退货明细表(tb_cancelinstock_sub)列名数据类型是否允许为空描述CanelidVarchar(30)否 退货单号(主键)MerchandiseidVarchar(30)否 商品编号(外键)unitpriceMoney否单价NumbersFloat否数量RebateFloat否折扣PaymineyMoney否金额stocknameVarchar(30)否仓库名称表3.8 入库退货主表(tb_ cancelinstock_main)列名数据类型是否允许为空描述CcancelidVarchar(30)否 退货单号(主键)ProviderVarchar(30)否供应商OperatorVarchar(30)否操作员RebateFloat否折扣SumtotalMoney否总计PaymoneyMoney否应付金额FactmoneyMoney否实付金额intimeDatetime(30)否退货时间第四章 详细设计4.1 入库模块设计分析4.1.1 商品入库处理过程分析在进行商品入库时,首先需要录入入库的主要信息,例如:供应商、操作员、入库时间等,然后录入入库的商品信息,例如:商品编号、名称、入库价格、折扣等,在录入商品信息时,程序将自动总计,并根据折扣计算应付金额,其商品入库状态图如图4.1所示。图4.1 入库状态图4.1.2 商品入库查询处理过程分析在查询商品入库信息时,首先需要设置查询条件,用户可以根据需要将时间段查询与具体条件查询组合,进行复杂的数据查询,商品入库查询状态如图4.2所示。图4.2 商品入库查询状态图4.2 系统模块的详细设计4.2.1 菜单设计为了设计一个特色的菜单,本人从CMenu类派生了一个CMyCoolMenu,并改写父类的DrawItem、MeasureItem方法,重新绘制菜单。设计步骤(1)新建一个普通类CMenuItemContext,用于记录菜单项的信息。(2)定义3个成员变量,分别记录菜单项的图标索引、菜单属性、菜单标题。(3)新建一个类,类名为“CMyCoolMenu”,基类为CMenu。(4)定义4个成员变量用于记录菜单项内容、临时索引、记录菜单项ID、存储菜单项图标。(5)改写“MeasureItem(LPMEASUREITEMSTRUCT lpMIS)”方法,根据菜单属性重新设置菜单项的大小。(6)添加“AttachMenu”方法,根据菜单句柄加载菜单资源,并确定菜单项的属性。(7)添加“ChangeMenuStyle”方法,从菜单资源中确定菜单项的属性,参数bTop标识菜单项是否为顶层菜单。(8)绘制菜单。由于菜单项有多种状态,例如,鼠标移动到菜单项时的状态,菜单项被选中时的状态。因此需要定义多个方法绘制菜单。(9)改写菜单项的“DrawItem”方法,绘制菜单。(10)创建一个菜单资源,定义一个CMyCoolMenu类对象m_mnu,调用AttachMenu方法关联菜单与菜单资源。(11)改写主窗口的“OnDrawItem”方法、“OnMeasureItem”方法。(12)在主窗口的头文件中将“OnDrawItem”方法,“OnMeasureItem”方法改为消息处理方法。(13)在主窗口的源文件消息映射部分添加映射宏。4.2.2 工具栏设计在仓库管理系统的工具栏由CReBar类与CToolBar类组成。其中,CReBar类作为工具栏CToolBar的父窗口,可以为CReBar类设置背景颜色,然后将CToolBar类设置为透明效果,这样,工具栏背景就被巧妙地改变了。下面介绍如何利用CReBar类,CToolBar类设计工具栏。(1)在主窗口框架中定义一个CReBar类对象m_wndReBar,一个CToolBar类对象m_wndToolBar,一个CImageList类对象img,其中img用于存储工具栏上显示的图像。(2)定义一个CreateExToolBar()方法,用于创建工具栏。(3)在CreateExToolBar()方法中通过调用Create()方法创建CReBar控件。(4)通过调用CToolBar类的CreateEx()方法创建一个工具栏控件。(5)设置工具栏按钮大小,加载工具栏按钮图像。(6)修改工具栏风格,使其背景透明。向工具栏添加工具栏按钮,并设置工具栏按钮信息(7)将工具栏添加到CReBar中,设置CReBar的Band(边条)属性。4.2.3 系统主界面仓库管理系统主窗体主要由菜单、工具栏、状态栏、和客户区域4个部分组成。在设计文档/视图结构程序是,状态栏会由应用程序向导自动创建,因此不用进行设计。对于客户区域的设计,本人将其划分为两个视图区域,左边视图区域为一个树视图控件,右边区域为普通的视图窗口,中间部分为分隔条,用户可以通过分隔条改变视图区域的大小。主窗体设计效果如图4.3:图4.3 主窗体运行效果主窗体的设计步骤如下:(1)从树视图控件类CTreeView派生一个子类CLeftView.(2)在CLeftView中定义一个CImageList类型的成员变量ImgTree,用于存储树视图节点图标。(3)改写“OnInitialUpdate()”方法,创建图像列表,向图像列表中加载图像,定义树节点结构,向树视图控件中添加节点。(4)处理树视图控件的双击事件,根据节点标题显示相应的窗口。这样,当用户双击节点时,就会显示相应的对话框。(5)在主窗口框架类定义一个CSplitterWnd类对象m_wndSpliter,用于拆分窗口。(6)改写主窗口框架类的“OnCreateClient”方法,将客户区域分为两个部分。至此,完成主窗口的设计。4.2.4 父窗口设计在设计仓库管理系统时,本人按功能将各模块组织起来,放在一个父窗口的标签控件中,每个标签页显示一个子窗口,其运行效果如图4.4粉色部分所示。图4.4 标签页运行效果在设计父窗口是,本人定义了一个标签控件类CTabSheet,该控件派生于类CTabCtrl,主要实现如下功能:Ø 存储标签控件中显示的所有窗口的指针。Ø 存储标签控件中显示的所有窗口的标题和窗口ID。Ø 记录标签控件的页数。Ø 记录标签控件的当前页索引。Ø 将窗口添加到标签页中。Ø 设置窗口在标签页中的显示位置。Ø 显示指定标签页中的窗口。以下是CTabSheet类的详细设计过程:(1)创建一个MFC类,名称为“CTabSheet”,基类为“CTabCtrl”。(2)定义5个成员变量,其中,m_Title用于存储标签控件中所有窗口的标题,m_IDD存储标签控件中所有窗口的ID,m_pPages存储标签控件中所有的窗口指针,m_nNumOfPages记录标签控件中的标签页数,m_nCurrentPage记录标签控件的当前页面索引。(3)将窗口添加到标签页面,参数title为窗口标题,pDialog是页面关联的窗口指针,ID为窗口ID。(4)创建标签页面,显示所有窗口。(5)显示某个标签页中的窗口。在完成标签控件的设计后,开始设计父窗口。(1)创建一个窗口,类名为“CDlgInputStorageM”,在该类中定义工具栏对象m_

    注意事项

    本文([毕业论文] VC++仓库电子管理系统.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开