




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学校代码:10904学 士 学 位 论 文超市销售管理系统姓 名:赵茹茹学 号:200612010239指导教师:王珍珍院系(部所):计算机科学系专 业:计算机科学与技术完成日期:2010年6月4日学 士 学 位 论 文超市销售管理系统姓 名:赵茹茹学 号:200612010239指导教师:王珍珍院系(部所):计算机科学系专 业:计算机科学与技术完成日期:2010年6月4日摘要文章介绍了管理信息系统(MIS)理论,联系当今计算机技术的发展及超市销售管理的实际情况,阐述了管理信息系统的模式,尤其是对超市销售管理系统模式进行了深入研究,提出了超市销售管理系统的发展目标和框架。文章中的超市销售管理系统是利用Delphi7.0进行开发的,其中对系统的开发过程进行了详细的描述。文章立足现实,对当今超市销售管理进行了科学的介绍,展望了超市销售管理系统的发展方向。另外为了使系统外观更美观增强视觉效果,系统采用人机对话方式,界面美观友好布局,并使用Photoshop、Fireworks对界面进行了美观处理。超市销售管理系统目标用户中小型商业企业,涵盖了商场业务的主要方面,对商场的进、销、存实施全面管理。其实现的功能主要有:商品入库;商品销售;商品信息管理;查询,管理员查询;口令更改;员工信息维护。系统本着经济、实用、高效的原则,为企业提供一个高效、规范、轻松的营销工作环境,满足企业不断发展的需要。【关键词】管理信息系统(MIS);Delphi;超市销售管理Summary This paper introduces the management information system (MIS) theory, links the development of todays computer technology and the actual situation of supermarket sales management to explain the mode of management information systems, especially in supermarket sales management system model in-depth research, the supermarket sales management system development goals and frameworks. Article in the supermarket sales management system is developed using Delphi7.0, in which the system development process is described in detail. Article based on reality, todays supermarket sales management of a scientific presentation and look forward to the supermarket sales management system development. Furthermore, in order to make the system look even more beautiful visual effects enhance the system with man-machine dialogue, attractive interface and friendly layout, and use Photoshop, Fireworks on the interface a beautiful deal. Supermarket sales management systems target users of small and medium business enterprises, covering the main aspects of mall operations, the progress of the mall, Sales and implement comprehensive management. The realization of the functions are: storage of goods; goods sold; product information management; query, administrator for; password change; employee information maintenance. System is based on economic, practical and efficient principles, providing an efficient, standardized, easy marketing work environment to meet the evolving needs of enterprises. 【Keyword】Management Information System (MIS); Delphi; supermarket sales management第1章 总论1. 1 系统开发背景超市销售系统目前国内外做得较多,比较成熟,这个系统是毕业生毕业前的最后一次模拟。对毕业生的软件开发能力有很大帮助。本系统分四部分,主要侧重于进货和出货。对进货子系统,对商品有许多手段。如商品的标号、单价、库存量、产地,然后当商品进货时要修改数据库中商品的某些关键字。最后生成一张报表,内容有商品标号、单价、库存量、产地。当商品出货时,通过输入商品的标号进行数据查询,调出商品的单价,通过标号进行金额的计算,最终生成一张报表,内容有商品的名称,单价,数量,总的金额,实收金额,找零,收款人代号,并同时修改库存,若库存量小于一定数量,产生报表作为采购依据,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。本系统设计目标是面向中小型商业企业,涵盖了商场业务的主要方面,对商场的进、销、存实施全面管理。采取低平台、低价位的策略,功能高度集成,结构非常紧凑,使用简洁灵活,性能稳定可靠。 本系统主要适用于中小型百货商店、超市和专卖店、便利店等。这部分商场的营业面积一般在10000平方米以内,使用的收款机不超过100台 ,各种业务数据量相对较小。 本系统主要使用的数据库管理系统为Microsoft Access,选用的开发工具为Delphi 7。用户界面及操作方法符合Windows技术规范。1. 2 管理信息系统简介 管理信息系统就是常说的MIS(Management Information System)1,它是20世纪80年代才逐渐形成的一门新学科,其概念至今尚无统一的定义,其理论基础尚不完善,但从国内外学者给MIS所下的定义来看,人们对MIS的认识在逐步加深,MIS的定义也在逐渐发展和成熟。(1)MIS的定义MIS的定义有很多种,研究者们从各自的角度出发给出了不同的定义。MIS的一个定义是:一个管理信息系统是能够提供过去、现在和将来预期信息的一种有条理的方式,这些信息涉及到内部业务和外部情报。它按适当的时间间隔供给格式相同的信息2。支持一个组织的计划、控制和操作功能,以便辅助决策制定过程;MIS的另一个定义是:MIS是一个由人、计算机等组成的能进行信息的收集、传送、储存、维护和使用的系统,能够实测企业的各种运行情况,并利用过去的历史数据预测未来,从企业全局的角度出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标3。 (2)MIS的主要功能管理信息系统是一类面向管理的信息系统,它以解决结构化的管理决策问题为目的。它的三项主要功能是: 信息处理。辅助事物处理、辅助组织管理。支持决策。(3)MIS的结构MIS的结构有下列几种:总体结构:信息源、信息处理器、信息用户、信息管理者。物理结构:物理组成、处理功能、用户需要的输出。层次结构:用于执行控制的信息系统、管理控制的信息系统、战略计划的信息系统。职能结构:一般企业的职能子系统有市场销售子系统、生产管理子系统、物资供应子系统、人事管理子系统、财会管理子系统、信息管理子系统、高层管理子系统4。空间分布结构:集中式系统、分布式系统。(4)MIS设计原则管理信息系统的设计与开发是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,尽可能的提高系统的各项指标。具体的设计原则如下:实用性原则可扩展性和可维护性原则安全可靠性原则用户界面设计原则数据库设计原则:一致性原则;完整性原则; 安全性原则;可伸缩性原则2 1. 3 Delphi 7.0简介Delphi7.0是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是ObjectPascal语言,它才是一切的根本。ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(ImageEditor),以及各种开发数据库的应用程序,如DesktopDataBaseExpert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(ResourseWorkshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务器模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件131专业的客户/服务器开发工具客户/服务器是一种将任务进行分解,然后协同解决的计算模式。客户端的应用程序负责提出任务需求,服务器端的应用程序则为客户提供服务,例如数据查询、打印等。用Delphi7.0开发出的应用程序能够与数据库服务器完美地协同工作,构成客户/服务器计算模式。132 面向对象的编程在Delphi7.0中创建的窗口、菜单、数据窗口等都是对象。除了使用系统预先定义的对象外,开发人员可以自行构造新的对象,扩展系统的预定义对象,将各种对象有机地组合起来就构成了Delphi应用程序。133 Delphi和Object PascalObject Pascal是Delphi的语言基础,Delphi是Object Pascal的加速引擎。软件开发工具在任何发展阶段都具有一个永远不变的目标:提高软件生产力。换句话说,就是最大程度为开发者提供方便,在最短时间内建立应用程序。例如,为了降低代码编写难度(对于近几年来才入门的程序员,汇编语言是晦涩难懂的,更不要说去编写代码了),最早的C语言和Pascal语言出现了;为了提高代码效率,面向对象技术应用到编程语言中;为了提高开发效率,可视化开发工具出现了;为了实现跨平台应用,Delphi7和Kylix出现了。Delphi的精华是VCL。离开了VCL,开发者又回到了刀耕火种的年代。你可以试着将你编写的单元中的uses子句中由Delphi自动添加的如SysUtils、Forms等单元名删除,你会发现你编写的代码无法编译。VCL封装了Windows消息机制,因此开发者可以方便地通过属性、事件、方法来控制对象;VCL封装了数据库游标机制(准确地说是BDE封装的),因此用Delphi进行数据库应用开发的开发者完全可以对关系数据库的游标机制一无所知。Delphi已经充分提供了积木元件(组件、类、标准例程),而开发者只需要加以利用就能够快速实现构想(应用程序)。可见,快速应用开发(RAD)对于Delphi来说是当之无愧的134 Delphi和SQLSQL语言作为关系数据库管理系统中的一种通用的结构查询语言, 已经被众多的数据库管理系统所采用,如ORACLE、Sybase、Informix等数据库管理系统,它们都支持SQL 语言。Delphi与使用SQL语言的数据库管理系统兼容,在使用Delphi开发数据库应用程序时,我们可以使用SQL语言编程,支持SQL编程是Delphi的一个重要特征,这也是体现Delphi作为一个强大的数据库应用开发工具的一个重要标志。135 Delphi的数据库特性及功能简介直到目前为止,计算机软件的开发分为两个不同的体系,其中一个体系是使用传统的程序设计语言(如Pascal、Basic和C等)开发数值控制、数值运算等软件,围绕它们的重点是算术、数据结构以及近年产生的面向对象技术。另一个体系则是通用的数据库管理软件领域(数据库应用程序的开发)。这两个体系的发展都极为迅猛,但是二者并没出现混合渗透迹象。如果使用数据库语言进行传统的算术编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂。如果使用传统的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数和过程,利用这些函数和过程提供的功能,可能也能做得比较完善,但这做起来大多是极其困难的。而Delphi结合了两个体系的优点,它结合了传统的编程语言Object Pascal和数据库语言的强大功能, 它即可以用于传统的算术编程又可以用于数据库编程,特别是Delphi具有强大的数据库功能,利用Delphi的数据库工具,我们根本不需要编写任何Object Pascal代码便可以创建一个简单的数据库应用。136 Delphi对多种数据库管理系统的支持 Delphi在Window3.1以上版本的系统环境下运行,目前具有两个版本:Delphi的标准版本和客户/服务器版本。标准版本包含一个Borland Database Engine的局部拷贝,它允许用户创建能访问dBASE、Paradox和Local InterBase 服务器的数据库应用, 它还支持具有 ODBC 接口的数据库。Delphi的客户/服务器版本包括Borland SQL Link, 它能直接访问 ORACLE 、 SyBase 和Microsoft SQL Server,Informix以及InterBase数据库服务器。Delphi可以访问多种数据库管理系统的数据库,凭借窗体(Forms)和报表(Reports),BDE(Borland Database Engine)可以访问诸如Paradox、dBASE、本地InterBase 服务器的数据库,也可以访问远程数据库服务器上的数据库(如ORACLE、SyBase、Informix等客户/服务器数据库中的数据库),或任何经ODBC(Open Database Connecticity) 可访问的数据库管理系统中的数据库。137 异常处理与程序调试在应用程序开发中如何检测、处理程序的运行错误是一个很重要的问题。在 Delphi 的集成开发环境( IDE )中提供了一个完善的内置调试器,可以帮助你发现大部分程序错误。但并不是所有的错误都可以被发现,而且当程序涉及到与外设的数据交换或操作外设,如要求用户输入、读写磁盘等时,错误的发生是程序无法控制的,如输入非法字符、磁盘不能读写等。这些情况不仅会导致应用程序异常中止而且可能引起系统的崩溃。针对这些问题,Delphi同时提供了一套强大的异常处理机制。巧妙地利用它,可以使你的程序更为强健,使用更为友好。1. 4Access数据库简介Access是美国微软公司开发的office套装软件中一个功能非常强大的数据库管理系统。他是微软公司windows操作系统中第一个桌面型关系数据库管理系统。其友好的用户操作界面、可靠的数据管理方式、面向对象的操作理念以及强大的网络支持功能,在拥护和数据库之间架起了一座桥梁,使得用户对数据的存取、分类和查看更为容易。(1)Access的特点Access在本质上是一个关系型数据库管理系统,关系型数据库有着严密的数学理论基础。在Access数据库中,数据的逻辑结构表现为满足一定条件的二维表,以统一的“关系”来描述数据对象之间的联系,结构简单、表现力强,符合人们对现实世界事物的认识规律。Access有以下一些特点:简单的用户界面 方便的操作手段 丰富的数据对象 精美的窗体和报表 强大的数据共享耐心的office助手(2)Access的功能组织数据 建立查询 生成窗体 打印报表 共享数据 支持超级链接 建立应用系统(3)Access的数据库对象 Access提供了七种数据库对象:表、查询、窗体、报表、数据访问页、宏和模块。表(Table)对象 表是有结构的数据的集合,是数据库应用系统的数据仓库。查询(Query)对象 查询是根据用户给定条件在指定的表中筛选记录或者进一步对筛选出来的记录做某种操作的数据库对象。查询可以进一步分为选择查询和动作查询两种。用户可以使用选择查询从指定的表中获取满足给定条件的记录,也可以使用动作查询从指定的表中筛选记录以生成一个新表或者对指定的表进行记录的更新、添加或删除操作。 窗体(Form)对象 窗体对象允许用户采用可视化的直观操作设计数据输入、输出界面的结构和布局。报表(Report)对象报表对象允许用户不用编程仅通过可视化的直观操作就可以设计报表打印格式。数据访问页(Page)对象数据访问页可以将数据库中的记录发布到Internet或Intranet,并使用浏览器进行记录的维护和操作。宏(Macro)对象 宏对象是一个或多个宏操作的集合,其中的每一个宏操作执行特定的单一功能。用户可以将这些宏操作组织起来形成宏对象以执行特定的任务。 模块(Module)对象 模块对象是将Visual Basic for Application(简称宏语言VBA)编写的过程和声明作为一个整体进行保存的过程的集合。 ACCESS提供的上述七种对象分工极为明确,从功能和彼此间的关系角度考虑,这七种对象可以分为三个层次:第一层次是表对象和查询对象,它们是数据库的基本对象,用于在数据库中存储数据和查询数据。第二层次是窗体对象、报表对象和数据访问页,它们是直接面向用户的对象,用于数据的输入输出和应用系统的驱动控制。第三层次是宏对象和模块对象,它们是代码类型的对象,用于通过组织宏操作或编写程序来完成复杂的数据库管理工作并使得数据库管理工作自动化。第2章 系统设计21开发和运行环境的选择(1)开发工具:Delphi7.0(2)运行环境:操作系统:windows9x,windows2000,xp超市销售管理维护人员(3)数据库系统:Microsoft Access22系统功能分析超市销售管理系统目前国内外做得较多,比较成熟,这个系统是毕业生毕业前的最后一次模拟,对毕业生的软件开发能力有很大帮助。本系统主要由以下几个功能组成:商品入库,用于将进来的商品录入到库里。商品销售,用于售货员销售商品。商品信息管理,现有库存、库存警报、商品报表三部分。查询,管理员根据自己的需要进行查询,可按商品代号和商品名称查询。口令更改,用于员工更改自己的口令。员工信息维护,用于管理员修改员工的信息。23系统功能模块设计 根据系统功能要求可以将系统分解成几个子系统模块来分别设计应用程序界面,如图2-1所示:超市销售管理系统入库子系统销售子系统商品信息管理查询子系统口令更改子系统员工信息维护子系统图2-1系统功能图入库子系统模块实现商品的入库,分为两种情况:商品原库存无,商品原库存有。如图2-2所示:入库子系统原库存无原库存有图2-2入库子系统功能图销售销售子系统模块实现商品的销售,包括销售管理员的前台销售和顾客清单的打印。如图2-3所示:销售子系统前台销售界面顾客清单图2-3销售子系统功能图商品信息管理模块实现商品信息的管理,包括三部分:现有库存,商品库存报警和商品信息报表。如图2-4所示:商品信息管理库存警报商品信息报表现有库存图2-4商品信息管理功能图查询子系统实现管理员的查询和顾客查询,如图2-5所示:顾客查询管理员查询查询子系统图2-5查询子系统功能图24数据流程图数据流程图描绘了系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中的流动和处理情况。对数据流的分析,主要是整体数据流、单元模块数据流。整体数据流概括为进入计算机操作员系统的操作过程和用户(各部门或个人)进入系统的数据流向。 整体数据流:用户通过密码进入系统,分别对上述几大功能逐一实现,其中涉及到模块数据流分析。 根据上一节业务流程的分析以及业务流程图我们可以得出系统的数据流程。数据流图图例表示:数据的源点/终点 变换数据的处理数据存储 数据流本超市销售管理系统各功能模块的数据流程图如下图所示。入库模块流程如图2-6:新进商品库存入库记录库存原有库存原无图2-6入库模块流程图销售模块流程如图2-7:库 存库 存销 售销售信息图2-7销售模块流程图商品信息管理模块流程如图2-8:库存现有库存报进货报表库存警报报现有库存库存警报进 货图2-8商品信息管理模块流程图查询模块流程如图2-9:管理员查询库 存管理员查询结果图2-8商品查询模块流程图口令更改模块流程如图2-9:员工口令员工口令口令更改图2-9口令更改模块流程图员工信息维护模块流程如图2-10:员工信息删 除员工信息增加图2-10员工信息维护模块流程图第3章 数据库设计31 数据库需求分析数据库是信息管理的基础。数据库结构直接关系到各种功能的实现和程序运行的效率。进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。根据上一章的流程图,可以列出以下各模块记录信息所需的数据项和数据结构:1入库信息管理入库记录:商品编号(SPNO)、商品名称(SPNAM)、经办人员(JBREN)、进货数量(JHNUM)、进货小计(inprice)、备注(BEIZHU)2.销售信息管理销售记录:商品编号(SPNO)、商品数量(SPNUM)、经办人员(JBREN)、商品名称(SPNAM)、标准价格(BZJG)、销售小计(XSXJ)3.商品信息管理商品信息记录:商品编号(SPNO)、商品名称(SPNAM)、本店库存量(BDKCL)、默认成本(MORCB)、供应商编号(GYSNO)、商品分类(SPKIN)、安全存量(SAFCL)、商品规格(SPGG)、库存单位(KCDW)、商品颜色(SPCOL)、商品尺寸(SPSIZ)、标准价格(BEIZHU BZJG)、会员价格(HYJG)、批发价格(PFJG)、备注(BEIZHU)4.员工信息管理员工信息:用户名(user)、口令(password)32数据库概念结构设计概念模型是对信息世界的建模,所以概念模型应该能够方便、准确的表示出信息世界中的常用概念。实体-关系模型(Entity-Relationship Module,简称E-R图)是数据库结构设计常用的方法。E-R图提供了表示实体、属性和联系的方法。实体型:用矩形表示,矩形框内写明实体名属性:用椭圆型表示,并用无向边与其相应实体连接起来联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接起来,同时在边旁边标上联系的类型(1:1,1:n或m:n)。对象类型的组成成份可以抽象为实体的属性。组成成份与对象之间是“is part of”的关系。实际上实体与属性是相对而言的,很难有截然划分的界限。同一事物,在一种应用环境中作为“属性”,在另一种环境中就必须作为“实体”。一般来说,在给定的应用环境中,属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。属性不能与其它实体具有联系。联系只发生在实体之间。本系统中部分E-R图如图3-1所示:库存安全存量本店库存量包含商品名称商品编号入库信息管理员商品销售信息入库查询销售入库数量入库价格销售价格销售数量供应商编号图3-1超市销售管理系统E-R图33数据库结构实现商品信息表(SPXXB)结构:表3-1商品信息表结构销售信息表(XSB)结构:表3-2销售信息表结构进货信息表(JHZB)结构:表3-3商品信息表结构供应商信息表(GYSB)结构:表3-4商品信息表结构 第4章 详细设计41登录界面为了提高系统的安全性,我们完全有理由相信,设置用户以及密码是必要的。用户登录界面很简单,首先在用户输入框输入用户名,再对应输入密码,程序将与用户数据库连接,确认用户是其中一员,并输入了正确的密码,然后进入主界面,否则警告出错,让用户重新输入。界面设置如下:图4-1登录界面42主界面主窗口界面主要是完成系统功能模块的划分。超市销售系统主窗口包括四个按纽,进货作业按纽、商品信息按纽、供应商信息按纽、销售作业按纽。界面设置如下:图4-2主界面43入库子系统商品入库是将购进的商品进行入库。在入库时由入库员将商品信息输入到入库信息表中,然后系统将入库的商品的代号与库存里的商品信息比较,如果能找到相同的代号,则说明库存里有这种商品,只要相应增加这种商品的库存量。如果找不到,则说明原来库存里没有这种商品,则要增加这种商品的一系列信息,如商品代号、商品名称、进价等,界面设置如下:图4-3进货界面44销售子系统商品销售是将顾客购买的商品销售出去。在销售时,由销售员将顾客购买的商品代号输入到销售窗口中,系统自动根据商品代号把这种商品的相应信息反馈到数据窗口中,每一种商品都有一个小计,最后算出总计。最后点击“打印”便可打印出顾客清单了。销售界面界面设置如下:图4-4销售界面45商品信息管理子系统商品信息管理子系统包括三个小的基本功能,即:1. 现有库存,本功能是统计现在库存中所有的商品的信息,包括商品的代号,商品名,进价,售价,还有库存量等,主要是要库存量,因为后面的库存警报和进货报表都要建立在现在库存量的基础上。同样,点击“打印”按钮便可打印现有商品的库存信息了。2库存警报,本功能是根据现有商品的库存量来判断哪种商品的库存量少于最小库存量,这就能提示管理员哪些商品需要进货。一开始打开窗口时,数据窗口内也是显示所有的库存商品信息,通过点击“安存不足”按钮便可查询库存量过少的商品信息了。3. 进货报表,本功能是显示要进货的商品的信息,它是建立在库存警报窗口中的过少的商品的信息上的。点击“打印安存不足”便可打印出进货报表,供进货员去进货。其功能界面设置如下:图4-5供应商品信息界面46查询子系统查询功能实现管理员查询所需的商品信息。在商品信息界面的快速查询部分,管理员可以根据商品编号、商品名称、供应商编号、商品分类来查询相应的商品信息。界面设置同上。47口令更改子系统口令更改功能实现了员工更改自己的口令,在更改口令时,要求用户输入旧口令、新口令和确认新口令,用户必须输入正确的旧口令和两次相同的新口令,如果输入的旧口令不正确,则系统会弹出错误警告告诉用户旧口令错误,请用户重新输入旧口令。两样,如果两次新口令不一致,也会弹出警告窗口,提醒用户两次新口令不一样,请重新输入两次新口令。最后,点击“确认”就完成口令更改了。48员工信息维护子系统员工信息维护功能实现了管理员修改员工的信息。这也要求先用管理员用户名和口令登录,点击“增加”后,数据窗口会自动插入新的一行,管理员在数据窗口中输入员工的用户名和口令后按“保存”就完成增加员工信息的功能了。同样,要删除一个员工的信息只要先选中这个员工的信息,按“删除”后,这个员工的信息就在数据窗口中删除了,再点击“保存”就可以了。49帮助子系统任何一个系统都会有帮助系统,它用来解决用户的一些疑问,如用户对系统的功能及一些功能的使用方面可能有疑问,这时,可参考帮助系统提供的信息,能有效的给用户提供帮助。本系统的帮助系统对每一个子系统的功能及使用方法都有介绍,如用户有疑问或参考。第5章 各功能模块的部分源代码主界面代码:procedure TFMMAIN.BitBtn1Click(Sender: TObject);beginFMSPXXB.SHOW;end;当点击商品信息按纽时调用show方法打开商品信息管理界面。procedure TFMMAIN.BitBtn2Click(Sender: TObject);beginFMGYSB.Show;end;当点击供应商信息按纽时调用show方法打开供应商信息管理界面。procedure TFMMAIN.BitBtn3Click(Sender: TObject);beginFMJH.Show;end;当点击进货作业按纽时调用show方法打开进货作业界面。procedure TFMMAIN.BitBtn4Click(Sender: TObject);begin FMXSB.SHOW;end;当点击销售作业按纽时调用show方法打开商品销售界面。 1 入库子系统procedure TFMJH.BitBtn2Click(Sender: TObject);VARLOC1:BOOLEAN;LOC2:BOOLEAN;N:REAL;Na:REAL;STR1:STRING;beginIF (EDIT1.Text=) OR (EDIT2.Text=) THEN BEGIN SHOWMESSAGE(请输入商品编号和进货数量!); ABORT; END;LOC1:=FMSPXXBD.TSPXXB.Locate(SPNO,EDIT1.Text,LOCASEINSENSITIVE);IF LOC1=TRUE THEN BEGIN FMSPXXBD.TSPXXB.Edit; FMSPXXBD.TSPXXB.FieldByName(BDKCL).Value:=FMSPXXBD.TSPXXB.FieldByName(BDKCL).Value+STRTOINT(EDIT2.Text); FMSPXXBD.TSPXXB.Post; SHOWMESSAGE(新增商品数量成功!); END;IF LOC1=FALSE THEN BEGIN IF (EDIT1.Text=) OR (EDIT2.Text=) OR (EDIT3.Text=) OR (EDIT4.Text=) OR (EDIT5.Text=) OR (EDIT6.Text=) OR (EDIT7.Text=) OR (EDIT8.Text=) OR (EDIT9.Text=) OR (EDIT10.Text=) OR (EDIT11.Text=) OR (EDIT12.Text=) THEN BEGIN SHOWMESSAGE(新商品!请输入完全信息!); abort; END ELSE BEGIN FMSPXXBD.TSPXXB.InsertRecord(EDIT1.Text,STRTOINT(EDIT2.Text),EDIT3.Text,STRTOFLOAT(EDIT4.Text),Edit6.TEXT,EDIT7.Text,STRTOFLOAT(EDIT8.Text),EDIT9.Text,EDIT10.Text,EDIT11.Text,EDIT12.Text); SHOWMESSAGE(新增商品成功!); END; END;BEGINLOC2:=FMJHD.TJHZB.Locate(SPNO,EDIT1.Text,LOCASEINSENSITIVE);IF LOC2=FALSE THEN BEGIN FMJHD.TJHZB.Active:=TRUE; FMSPXXBD.TSPXXB.Active:=TRUE; FMJHD.TJHZB.InsertRecord(EDIT1.Text,STRTOINT(EDIT2.Text),EDIT3.Text,EDIT5.Text,Memo1.Text); FMSPXXBD.TSPXXB.FindKey(EDIT1.Text); N:=FMSPXXBD.TSPXXB.FieldByName(MORCB).AsFloat; STR1:=FMSPXXBD.TSPXXB.FieldByName(SPNAM).AsString; FMJHD.TJHZB.FindKey(EDIT1.Text); FMJHD.TJHZB.Edit; FMJHD.TJHZB.FieldByName(JHXJ).AsFloat:=STRTOFLOAT(Edit2.Text)*N; FMJHD.TJHZB.FieldByName(SPNAM).Value:=STR1; FMJHD.TJHZB.Post; END;IF LOC2=True THEN BEGIN FMJHD.TJHZB.Active:=TRUE; FMSPXXBD.TSPXXB.Active:=TRUE; FMSPXXBD.TSPXXB.FindKey(EDIT1.Text); Na:=FMSPXXBD.TSPXXB.FieldByName(MORCB).AsFloat; FMJHD.TJHZB.FindKey(EDIT1.Text); FMJHD.TJHZB.Edit; FMJHD.TJHZB.FieldByName(JHNUM).Value:=FMJHD.TJHZB.FieldByName(JHNUM).Value+STRTOINT(EDIT2.Text); FMJHD.TJHZB.FieldByName(JHXJ).AsFloat:=STRTOFLOAT(Edit2.Text)*Na+FMJHD.TJHZB.FieldByName(JHXJ).Value; END;END;当点击存盘按纽时,先检查商品编号和商品数量是否为空,为空就输出消息请输入商品编号和进货数量!,不为空就检查商品信息表中是否有记录用的是Locate(),有就直接存盘增加库存量,没有就要求输入完整的信息再存盘。2 销售子系统 procedure TFMXSB.BitBtn2Click(Sender: TObject);VARLOC3:BOOLEAN;LOC4:BOOLEAN;LOCOP:TLOCATEOPTIONS;Nb:REAL;Nc:REAL;STR2:STRING;beginIF (EDIT1.Text=) OR (EDIT2.Text=) THEN BEGIN SHOWMESSAGE(请输入商品编号和数量!); ABORT; END; LOC3:=FMSPXXBD.TSPXXB.Locate(SPNO,EDIT1.Text,LOCOP);IF LOC3=TRUE THEN BEGIN FMSPXXBD.TSPXXB.Edit; FMSPXXBD.TSPXXB.FieldByName(BDKCL).Value:=FMSPXXBD.TSPXXB.FieldByName(BDKCL).Value-STRTOINT(EDIT2.Text); FMSPXXBD.TSPXXB.Post; END;IF LOC3=FALSE THEN BEGIN SHOWMESSAGE(无此商品!); abort; END;/LOC4:=FMXSBD.TXSB.Locate(SPNO,EDIT1.Text,LOCOP);BEGINIF LOC4=FALSE THEN BEGIN FMXSBD.TXSB.Active:=TRUE; FMSPXXBD.TSPXXB.Active:=TRUE; FMXSBD.TXSB.InsertRecord(EDIT1.Text,STRTOINT(EDIT2.Text),EDIT3.Text); FMSPXXBD.TSPXXB.FindKey(EDIT1.Text); STR2:=FMSPXXBD.TSPXXB.FieldByName(SPNAM).AsString; Nb:=FMSPXXBD.TSPXXB.FieldByName(MORCB).AsFloat; FMXSBD.TXSB.FindKey(EDIT1.Text); FMXSBD.TXSB.Edit; FMXSBD.TXSB.FieldByName(XSXJ).AsFloat:=STRTOFLOAT(Edit2.Text)*Nb; FMXSBD.TXSB.FieldByName(SPNAM).Value:=STR2; FMXSBD.TXSB.FieldByName(BZJG).Value:=Nb; FMXSBD.TXSB.Post; END;IF LOC4=True THEN BEGIN FMXSBD.TXSB.Active:=TRUE; FMSPXXBD.TSPXXB.Active:=TRUE; FMSPXXBD.TSPXXB.FindKey(EDIT1.Text); Nc:=FMSPXXBD.TSPXXB.FieldByName(MORCB).AsFloat; FMXSBD.TXSB.FindKey(EDIT1.Text); FMXSBD.TXSB.Edit; FMXSBD.TXSB.FieldByName(SPNUM).Value:=FMXSBD.TXSB.FieldByName(SPNUM).Value+STRTOINT(EDIT2.Text); FMXSBD.TXSB.FieldByName(XSXJ).AsFloat:=STRTOFLOAT(Edit2.Text)*Nc+FMXSBD.TXSB.FieldByName(XSXJ).Value; END;END;在点击存盘按纽后,将该商品的库存量减少。3查询子系统procedure TFMSPXXB.BitBtn2Click(Sender: TObject);beginWITH FMSPXX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论