毕业设计(论文)仓库管理系统的开发研究

上传人:无*** 文档编号:42569303 上传时间:2021-11-26 格式:DOC 页数:35 大小:688.01KB
收藏 版权申诉 举报 下载
毕业设计(论文)仓库管理系统的开发研究_第1页
第1页 / 共35页
毕业设计(论文)仓库管理系统的开发研究_第2页
第2页 / 共35页
毕业设计(论文)仓库管理系统的开发研究_第3页
第3页 / 共35页
资源描述:

《毕业设计(论文)仓库管理系统的开发研究》由会员分享,可在线阅读,更多相关《毕业设计(论文)仓库管理系统的开发研究(35页珍藏版)》请在装配图网上搜索。

1、 学 士 学 位 论 文仓库管理系统的开发研究姓 名:学 号:指导教师:院系(部所):计算机科学系专 业:计算机科学与技术完成日期:xx学院学士学位论文目 录目 录I仓库管理系统的开发研究IIABSTRACTIII1.绪论11.1 项目的背景及意义11.2 开发工具的选择21.3 项目的主要任务31.4 项目的模块组成32.系统开发环境42.1 数据库的发展42.2 数据库的建立及数据源的配置52.3 使用BDE连接数据库52.4 Delphi的有关知识73. 系统总体设计83.1 系统需求分析83.2 系统数据库设计93.3 系统功能模块设计104. 仓库管理系统应用程序设计114.1 系统

2、窗体结构设计114.2 创建数据控件模块124.3  启动画面的实现144.4 用户登录窗体设计154.4.1 用户登录窗体界面设计154.4.2 用户登录窗体功能的设计154.5 主窗体设计164.5.1主窗体界面设计164.5.2主窗体功能设计174.6 仓库管理窗体设计184.7 出入库管理窗体设计204.7.1 货物入库管理204.7.2 货物出库管理214.7.3 货物信息管理224.8 系统维护窗体设计244.8.1 数据备份244.8.2 数据恢复254.8.3 密码管理26结 束 语28参考文献29答 谢30III仓库管理系统的开发研究专业:计算机科学与技术 姓名:

3、指导教师: 摘 要随着社会的飞速发展,人们对各种器械的要求越来越自动化和智能化,可以节约大量人工的机械操作深受欢迎。在传统的仓库管理系统过程中,货物的出入库管理都非常的耗费人力物力,同时由于采用手工操作,不可避免造成一些的错误。现在许多公司都采用计算机来管理仓库信息,避免了手工操作的不足。本系统就是本着快捷、方便的原则对仓库系统的开发,实现仓库管理的自动化!本软件包括入库、出库、仓库管理,货物信息及系统管理五个方面。系统可以完成对各类信息的浏览、添加、删除、修改等功能。系统的核心是入库、库存和出库三者之间的联系。仓库管理功能也是系统的核心之一,在系统中包括仓库信息管理和仓库总表浏览,方便用户对

4、仓库管理系统的应用。系统有完整密码修改功能!本系统采用Paradox 7来设计数据库,并使用当前优秀的开发工具Delphi 7开发系统,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。论文主要介绍了本课题的开题背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。关键字数据库,Paradox 7, 仓库管理系统,DelphiABSTRACT With society's swift development, a kind of instrument's request become more and more automated a

5、nd intelligent to people,it may save the massive artificial mechanical operation which depth to welcome. In traditional storage management system process, cargo warehousing management unusual consume manpower and resources, because traditional storage management system simultaneously uses the manual

6、 operation, creates some mistakes inevitably. Now many companies use the computer to manage the warehouse information, which has avoided the manual operation insufficiency. This system is in line with quickly, the convenience principle to the warehouse system's development, realizes the storage

7、management automation. This software including five aspects,such as warehousing, storehouse, storage management, cargo information and system administration. The system may complete to each kind of functions and so on information browsing, increase, deletion, revision. System's core is the wareh

8、ousing, the stock and the storehouse three between relations. The storage management function is also one of system's cores, in system including warehouse information management and warehouse master list browsing, convenient user to storage management system's application. The system has the

9、 complete password revision function. This system uses Paradox 7 to design the database, and uses the current outstanding development kit - Delphi 7 development systems, it has the most nimble database structure, has the good support to the database application. The paper mainly introduced this topi

10、c opens the topic background, must complete function and development process. Key explanation system design key point, design concept, difficult technology and solution.key words:Database, Paradox 7, storage management system, Delphixx学院学士学位论文1.绪论1.1 项目的背景及意义随着工业自动化的日益提高,工厂的各种操作控制也已经由人工操作转向了自动控制。而对于

11、自动控制而言,控制对象的参数是否能够准确而高效的获得,是影响整个系统的控制效果的重要因素。随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。如何通过计算机完成为我们文成更多的事情,进而达到办公自动化和优化日常工作的目的,也就成了一个大众化的课题。仓库管理是与我们生活息息相关的问题。大到公司、超市的仓库管理,小到图书馆的藏书管理,都可以认为是各种各样的仓库管理需求。在计算机飞速发展的今天,将计算机这一信息处理利器应用于仓库的日常管理已是势必所然,而且这也将

12、为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为仓库管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要体现在:1.极大提高了仓库工作人员的工作效率,大大减少了以往入、出和存 流程繁琐,杂乱,周期长的弊端。2.基于仓库管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。3.仓库管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是

13、万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统已变得十分心要。入库、库存、出库还是现在企业仓库管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如:基于“零库存”思想的沃尔玛特管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好仓库管理系统,尽可能地减少仓库管理的重复性和低效性就成为当前最为重要的问题。仓库管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。通过对仓库管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,

14、技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今仓库管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。1.2 开发工具的选择自Java诞生以来,随着Internet技术的普及和应用需求的变化,以第四代语言为主的应用开发产品发生了较大的变化,它们不仅已成为人们开发应用的开发工具,而且很多产品已发展成为一种强有力的应用开发环境。这些新型的开发工具通常以一种集成软件包的形式提供给开发人员,被称为Studio(工作室)或Suite(程序组)。例如,微软的Visual Studio,Borland公司的Delphi等数据库辅助开发工具。现在,市场上可以选购的应用开发产品很多,

15、流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual Basic Microsoft公司的Visual C+ Borland公司的Delphi 在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却

16、没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。而Delphi是一个非常理想选择。Delphi是操作系统中快速应用开发环境的最新版本。它也是当前Windows平台上第一个全面支持最新Web服务的快速开发工具。无论是企业级用户,还是个人开发者,都能够利用Delphi 轻松、快捷地构建新一代电子商务应用。Delphi是惟一支持所有新出现的工业标准的RAD环境,包括XML(扩展标记语言)/XSL(可扩展样式语言),SOAP(简单对象存取协议)和WSDL(Web服务器描述语言)等。Delphi是可视化的快速应用程序开发语言,它提供了可视化的集成开发环境,这

17、一环境为应用程序设计人员提供了一系列灵活而先进的工具,可以广泛地用于种类应用程序设计。在Delphi的集成开发环境中,用户可以设计程序代码、运行程序、进行程序错误的调试等,可视化的开发方法降低了应用程序开发的难度。Delphi的基础编程语言是具有面向对象特性的Pascal语言,即Object Pascal 。Object Pascal具有代码稳定、可读性好、编译速度快等优点,并将面向对象的概念移植到了Pascal语言中,使这种基础语言有了新的发展空间。使用Delphi,我们几乎可以作任何事情,还可以撰写种各种类型的应用程序,动态链接库(DLL)、CON、或CORBA对象,CGI/ISAPI程序

18、,Microsoft Back Office应用程序。程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用Delphi进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。尤其是Delphi对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。Delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。1.3 项目的主要任务1. 掌握Delphi语言,SQL Serve

19、r的基本运用;2. 掌握编写系统的基本方法及技巧;3. 了解掌握多层分布式数据库网络的系统结构及特点;4. 掌握客户端与应用程序的数据存取方法;5. 了解仓库管理的流程并根据不同部分的特点编制相应的模块。1.4 项目的模块组成Delphi的开发功能中,最强大的莫过于它的数据库开发功能,它提供了大量的数据库操作组件,本程序采用的数据库由于没有涉及到网络数据库和多用户问题,所以采用Delphi自带paradox格式,由于是Delphi自带格式,BDE中对paradox的驱动非常的高效,数据库表的后缀是.Db。当数据库的容量较小时,采用什么样的数据库,差别并不大;但当容量大时,情况不一样了,本系统的

20、采用Delphi的本地数据库,使数据库操作得到了很好的实现。本系统主要包括仓库管理、出入库管理和系统维护三大部分。其中,仓库管理包括仓库总表浏览和仓库信息管理两个模块;出入库管理包括货物出库管理、货物信息管理和货物入库管理三大模块;系统维护模块包括数据恢复、数据备份和密码管理三部分。2.系统开发环境2.1 数据库的发展数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提

21、供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率

22、直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。数据管理技术的发展,与硬件(主要是外存)、软件、计算机应用的范围有密切的联系。数据管理技术的发展经过三个阶段:人工管理阶段、文件系统阶段和数

23、据库阶段。人工管理阶段和文件系统阶段都有着相当多的缺陷,诸如数据冗余性 ,数据不一致性以及数据联系弱等等。也正是由于这些原因,促使人们研究新的数据管理技术,从而产生了数据库技术。20世纪60年代末发生的三件大事,层次模型IMS系统的推出、关于网状模型DBTG报告的发表以及关于关系模型论文的连续发表标志着数据管理技术进入数据库阶段。进入70年代以后,数据库技术得到迅速发展,开发了许多有效的产品并投入运行。数据库系统克服了文件系统的缺陷,提供了对数据更高级更有效的管理。当进入数据库阶段后,随着数据管理规模一再扩大,数据量急剧增加,为了提高效率,开始时,人们只是对文件系统加以扩充,在应用文件中建立了

24、许多辅助索引,形成倒排文件系统。但这并不能最终解决问题。在20世纪60年代末,磁盘技术取得重要进展,具有数百兆容量和快速存取的磁盘陆续进入市场,成本也不高,为数据库技术的产生提供了良好的物质条件。2.2 数据库的建立及数据源的配置要开发数据库应用程序首先要解决数据源的问题,那么什么是数据源呢?简单来讲数据源就是实实在在的数据,通常是各种数据表。有了数据源我们就有了开发程序的依据,然而一般情况下应用程序并不能直接和数据源打交道,必须通过某些中介,这些中介被称为数据库驱动器,通常每一种数据库都有至少一种数据库驱动器,如:Access, dBase, paradox等数据库都有自己的数据库驱动器,有

25、了这些数据库驱动器,为了编程的方便起见,接着就产生了管理这些数据库驱动器的引擎,有了数据库引擎,程序员在编程时就不要为访问不同的数据库驱动来费脑筋了,只要按照统一的方法访问数据库引擎,而让数据库引擎去完成不同数据库驱动器的转换。数据库引擎就像一个公共接口,为访问数据库提供了统一的方法。BDE是(Borland Database Engine)宝兰数据引擎的缩写,它不仅能访问本地的不同数据库,还可以将应用从本地上传到客户机-服务器系统,而且有很高的效率。BDE能访问的数据分两类:一:本地数据。二:客户机-服务器体系的异地数据。本系统采用本地数据库paradox格式建立后台数据库,用BDE进行后台

26、数据源的连接,通过数据库别名进行数据库的访问。2.3 使用BDE连接数据库使用BDE开发数据库应用程序要遵循通常的数据库体系结构,BDE应用程序除需要数据源和数据集外,还应包括以下两个方面:1. 一个或多哥用语控制时间及管理的数据库组件。2. 一个或多个会话组件,用语隔离数据访问操作,并且可以管理成组的数据库。图2.1是利用BDE组件访问数据库的体系结构。用户1用户n数据源源数据源据源数据集据集数据集据集BDE驱动程序数据库会话图2.1 通过BDE组件访问数据库的体系结构应用程序对数据库的访问是通过数据库别名实现的,数据库别名则需要在 BDE管理器中建立并配置。BDE管理器窗口中,Config

27、uration标签页用于配置与数据库连接时使用的参数;Database标签页用于建立并管理数据库别名。只有配置好数据库后才能建立数据库的别名。Definition子窗口是其左边子窗口选项配置窗口。应用程序只有通过数据库别名才能访问数据库中的数据,因此,正确建立数据库别名是开发数据库应用程序相当重要的一环。下面用图说明通过BDE管理器建立数据库别名的方法。先设置数据库路径,然后新建一个数据库别名为moli,完成配置图2.2 设置数据源的路径图2.3 设置数据库的别名2.4 Delphi的有关知识Delphi类可以粗略地分成两部分:一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从

28、组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在Delphi中,每一个类的祖先都是Tobject类,整个类的层次结构就像一棵倒挂的树,在最顶层的树根即为Tobject类。这样,按照面向对象编程的基本思想,就使得用户可用Tobject类这个类型代替任何其它类的数据类型。实际上在Delphi的类库中,Tobject类派生出了为数相当多的子类,它们形成了一个庞大的体系,通常情况下,如果不是自行开发组件,就不必了解整个类的体系结构,只需用类层次树的叶结点就

29、足够了。凡是做过程序开发的人都知道从来没有单纯的数据应用程序,也就是说,数据库应用程序必须和用户界面(可以是图形界面,也可以是命令接口)元素相结合,只讲界面或只讲数据库本身都构不成数据库应用程序,因而用Delphi开发数据库应用程序就隐含着界面开发。组件在Delphi程序的开发中是最显眼的角色。大家知道,在编写程序时一般都开始于在组件面板上选择组件并定义组件间的相互作用。但也有一些组件不在组件面板上,例如TForm和Application(典型的非可视组件)。组件是Components派生出来的子类,可以流的形式存放在DFM文件中,具有事件和Publish属性。 窗口组件类是窗口化的可视化组件

30、类,在Delphi的类库中占有最大的份额。在实际编程中,窗口组件类的对象都有句柄,可以接受输入焦点和包含其它组件。图形组件与窗口组件并列,是另一大类组件。图形组件不是基于窗口的,因而不能有窗口句柄,不能接受输入焦点和包含其它组件。图形组件在实际编程中,它们必须寄生于它们的宿主窗口组件类的对象,由它们的拥有者负责其显示,而且它们还能触发一些和鼠标活动相关的事件。图形控件最典型的例子是Label和Button。由此可以看出图形组件的功能很弱,有读者会问图形组件的用处何在呢?其实使用图形组件的最大好处在于节省资源,正是因为它们的功能较弱,所以使用的系统资源就要少。在一个应用程序中,如果能在不影响其功

31、能的前提下合理大量地使用图形组件,将会大减少程序对系统资源的消耗。非可视组件是与可视组件相并列的另一类组件,非可视组件在程序运行中是不可见的(除各种对话框组件之外,事实上有人认为对话框组件不能归入非可视组件,应该是另一种介于可视与非可视之间的组件)。3. 系统总体设计软件系统的总体设计大约要经历可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试以及维护等七个阶段。可行性分析和项目开发计划在前面已经叙述,下面所要做的是进行软件需求分析,概要设计和详细设计。3.1 系统需求分析在经过前一阶段的分析之后,我确定了我的开发课题为仓库管理。现在所要做的是要准确定义系统必须做什么以及系统必

32、须具备的功能。 软件需求分析中我采用结构化分析方法(Structured Analysis,简称SA),SA是面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、IDEF方法等等)一样,SA也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。仓库管理的特点是信息处理量比较大。所管理的物资设备种类繁多,而且由于入库,出库和需求流程繁琐,杂乱,周期长,关联信息多,查询和统计的方式各不相同,因此在管理上实现起来有一定的困难。在管理的过程中

33、经常会出现信息的重复传递,单据,报表种类繁多,各个部门管理规格不统一等问题。而由于本人能力有限在此仅以入库、出库和库存三个主要部分进行开发,不涉及各类单据的独立设计,在一定程度上功能不强,但对一般中小型仓库在实用性和可操作性方面功能完备。仓库管理人员通过密码进入系统后,可对仓库数据,包括浏览、修改、插入和删除等的操作,实现对货物的出库和入库管理。同时本系统还有很好的系统维护功能,可以实现数据的备份和恢复。在仔细调查企业仓库物资设备管理过程的基础上,得到仓库管理系统所处理的时间流程如图所示:图3-1 数据流程图3.2 系统数据库设计1. 概念设计在概念设计阶段中,设计人员从用户的角度看待数据及处

34、理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。 2.数据库的实现我选用paradox本地数据库来进行数据库的逻辑设计。首先创建四个基本数据库表,然后根据全局ER图,建立各个表之间的联系。仓库信息表结构:图3-2 仓库信息表E-R图货物入库表结构:图3-3 货物入库表E-R图货物出库表结构:图3-

35、4 货物出库表E-R图货物存储信息表:图3-5 货物存储表E-R图3.3 系统功能模块设计下图为主界面的逻辑分支结构,是程序的功能设计的基准:图3-6 仓库管理系统功能模块图4. 仓库管理系统应用程序设计4.1 系统窗体结构设计 在Delphi中,应用程序通过一个项目Project来实现,而项目通过多个窗体Form来实现应用程序所有具有的功能。与图1.1中仓库管理系统功能模块向对应,项目中窗体的结构如图4-1所示。图4-1 系统窗体结构图运行Borland Delphi 7将新建一个项目,其包含一个空白窗体。在此工程中再新建6个空白窗体Form,将项目中的7个空白窗体分别按表4-1进行设置,其

36、中原组件对象名(即Name属性)是空白窗体的默认名字,将其改为新组件对象名(Name属性)并对其Caption属性的值进行设置。表4-1所有窗体主要属性的设置及其说明原组件对象名新组件对象名Caption属性值说明Form1dlform仓库系统登陆用户登录窗体Form2mainForm仓库管理系统主窗体Form3ckglForm仓库管理仓库管理窗体Form4crkForm出入库管理出入库窗体Form5tjForm系统信息系统信息窗体Form6xtwhForm系统信息维护系统维护窗体Form7splashFormsplashForm封面窗体注:各个窗体的单元名依次保存为:dl.pas,main.

37、pas,ckgl.pas,crk.pas,tj.pas,xtwh.pas,splash.pas按4-1表注释中的单元文件名将各个窗体保存在系统路径“H:仓库管理系统”,项目保存为“ckglxt.dpr”。主窗体是系统的主界面和默认窗体,将来程序运行时首先显示它,这需要在项目中设置。在Delphi 7的Project菜单下单击Option子菜单项,按图4-2的形式将mainForm设置为工程的主窗体。图4-2 设置项目主窗体4.2 创建数据控件模块在仓库管理系统中有四个数据表:货物入库表(hwrk.db)、货物存储表(hwcc.db)、货物出库表(hwck.db)和仓库表(ck.db)。为了使用

38、方便,我们将要用到的数据表组件和数据源组件集中放在一个数据模块上,这样可以通过数据模块来统一管理这些数据组件。使用了数据模块后,访问位于其上的组件的方法是:数据模块名.组件对象名。在Delphi 7的主菜单上选择FileNewData Module来创建一个数据模块,将其Name属性设置为DataContrls。在数据模块中加入四组Ttable组件对象和TdataSource组件对象。这四组组件对象分别对应于货物入库数据表、货物出库数据表、货物存储数据表和仓库数据表。按照图4-3中的各个组件对象的名字来为这些组件对象的Name属性赋值。三个数据源组件对象的主要属性设置见表4-2图4-3 Dat

39、aContrls数据模板表4-2数据库组件对象的主要属性设置组件对象名属性属性值rkDataSourceDataSethwrkccDataSourceDataSetHwcchwckDataSourceDataSetHwckckDataSourceDataSetck四个Ttable组件分别对应于四个数据表,DataContrls数据模块的OnCreate事件的处理过程中初始化这三个Ttable组件的有关属性值。程序代码如下:procedure TDataContrls.DataModuleCreate(Sender: TObject);var success:Boolean;begin succ

40、ess:=True; if fileexists('hwck.db') then begin /hwck.databaseName:=ExtractFilePath(Application.ExeName); hwck.TableName:='hwck.Db' hwck.Close; hwck.Open; end else success:=False; if fileexistS('hwcc.db') then begin / hwcc.databaseName:=extractfilePath(Application.Exename); hw

41、cc.TableName:='hwcc.Db' hwcc.Close; hwcc.Open; end else success:=False; if fileexists('hwrk.db') then begin /hwrk.databaseName:=extractfilePath(Application.Exename); hwrk.TableName:='hwrk.Db' hwrk.Close; hwrk.Open; end else success:=False; if fileexists('ck.db') then

42、begin /ck.databaseName:=extractfilePath(Application.Exename); ck.TableName:='ck.Db' ck.Close; ck.Open; end else success:=False; if not success then /ShowMessage('有数据文件不存在,请进入系统后马上在系统维护中恢复数据.');end;在程序代码中分别判断数据表文件是否存在。如果该文件存在,则设置对应Ttable组件对象的DatabaseName属性和TableName属性,并通过该组件对象的Open方法激

43、活该组件对象。如果四个数据表文件中有一个或多个不存在,则给出提示要求用户在进入系统后在系统维护中恢复数据,不然系统将无法正确运行。目前工程中的7个窗体还是空白窗体,下面分别介绍其内容的设计。4.3  启动画面的实现启动画面是为了给用户一个良好的印象,加深软件的亲和力,没有实际的功能,在splashForm窗体中加入了Image、timer和三个label组件。在启动封面的窗体的Image组件中加载一副自己事先设计好的图片然后在把窗体的边框属性进行适当的设置然后在项目文件中加入代码就可以实现。按照图4-4进行设计图4-4 封面窗体程序代码如下:procedure TsplashForm

44、.Timer1Timer(Sender: TObject);beginmodalresult:=mrok;end;procedure TsplashForm.Image1Click(Sender: TObject);begindlForm.modalresult:=mrok;end;end.4.4 用户登录窗体设计4.4.1 用户登录窗体界面设计用户登录窗体运行时让用户输入密码,以确认用户是否合法,能否进入系统。在项目中选中dlform空白窗体,按照图4-5进行设计图4-5 用户登录窗体4.4.2 用户登录窗体功能的设计1.消隐系统图标将dlform窗体组件的BorderIcons属性的子项b

45、iSystemMenu、biMinimize和biMaximize均设为False是为了该窗体在运行时不显示系统图标,避免用户自行关闭该窗口以跳过用户权限检查。用户登录时最多可输入三次密码,如果密码仍不正确系统将关闭,因而需要定义一个变量记录密码输入次数,在dlform窗体的变量定义部分定义:entertime:integer;并在dlform窗体的OnCreate事件的处理过程中初始化该变量。程序代码如下:procedure Tdlform.FormCreate(Sender: TObject);beginentertime:=0;end;2.“确定”按钮功能实现“确定”按钮的功能是检测用户

46、输入的密码是否正确。其单击事件Onclick的处理过程代码如下:procedure Tdlform.BitBtn1Click(Sender: TObject);varPWFile:textfile;possword:string;begin assignfile(PWFile,'config.sys'); reset(PWFile); readln(PWFile,possword); CloseFile(pwfile); inc(entertime); if edit1.Text=possword then close else begin label1.Caption:=&#

47、39;密码错误,请重新输入:' if entertime>=3 then begin messagebox(Handle,'输入密码超过三次,程序退出!','信息',MB_OK); Close; Application.terminate; end else begin Edit1.Text:='' Edit1.SetFocus; end; end;end;首先从文件config.sys中读取密码。我们将密码存放在文件config.sys中,可通过附件中的记事本程序创建这个文本文件,只是保存是文件的后缀是.sys而不是.txt,初始

48、密码是123456。如果用户输入密码超过三次,应用程序将给以提示并推出应用程序。 3.取消按钮功能实现取消按钮的功能是用户放弃登录并退出应用程序。其单击事件OnClick的处理过程代码如下:procedure Tdlform.BitBtn2Click(Sender: TObject);begin Close; Application.Terminate;end;用户登录窗体定义了用户合法性检查的功能,该窗体将在系统主窗体创建时显示。4.5 主窗体设计4.5.1主窗体界面设计主窗体是系统得控制中心。在项目中选中mainForm空白窗体,按图4-6进行设置。图4-6 主窗体4.5.2主窗体功能设计

49、用户登录窗体显示主窗体是系统得控制中心,应用程序在运行时将首先显示主窗体。用户登陆窗体的功能在前面已经实现,它将在主窗体初次激活之前被显示,这样才能起到合法性检查得的作用。首先在主窗体变量定义部分定义变量HaveLogin,它的作用是判断是否已经登录。var HaveLogin:Boolean;在主窗体得OnCreate事件的处理过程中初始化变量HaveLogin,OnActivate事件的处理过程中显示用户登录窗体,程序代码如下:procedure TmainForm.FormCreate(Sender: TObject);beginHaveLogin:=False; /初始化,说明还没登陆

50、end;procedure TmainForm.FormActivate(Sender: TObject);begin if not HaveLogin then /还没登陆 begin dlform.show; / 显示用户登录窗体 HaveLogin:=True; /以后主窗体在被激活时用户登录窗体不再显示 end;end;用户登录窗体显示后,检查用户合法性由登录窗体来实现。对于三次输入密码不正确或用户取消登录时应用程序将结束,主窗体同时也会关闭。功能模块之间的切换在主窗体中通过单击按钮来选择所需得窗体,每个按钮的功能就是显示对应的窗体。这几个按钮单击事件得程序代码如下:procedure

51、 TmainForm.Button1Click(Sender: TObject);beginckglForm.show; /显示仓库管理窗体end;procedure TmainForm.Button2Click(Sender: TObject);begincrkForm.show; / 显示出入库管理窗体end;procedure TmainForm.Button3Click(Sender: TObject);begintjForm.show; / 显示统计窗体end;procedure TmainForm.Button4Click(Sender: TObject);beginxtwhFor

52、m.show; / 显示系统维护窗体end;退出按钮用于关闭前面数据模块DataContrls初始化中打开得四个数据库表并正常退出应用程序,程序代码如下:procedure TmainForm.Button5Click(Sender: TObject);beginDataContrls.hwck.Close; / 关闭货物出库数据表DataContrls.hwrk.Close; / 关闭货物入库数据表DataContrls.hwcc.Close; / 关闭货物存储数据表DataContrls.ck.Close; / 关闭仓库信息数据表Close; / 关闭主窗体,即关闭应用程序end;4.6

53、仓库管理窗体设计仓库管理窗体用来更新和维护系统中得仓库信息,主要实现对仓库数据,包括浏览、修改、插入和删除等得操作。在项目中选中ckglForm空白窗体,在窗体上添加一个TpageControl组件,选中该组件对象,单击鼠标右键,在弹出得弹出式菜单中单击New Page菜单项以产生一个新得页面。将这两个页面(TabSheet)得Caption属性得值分别设置为“仓库总表浏览”和“仓库新增记录”。分别按照图4-7和图4-8对这两个页面进行设计。图4-7 仓库管理窗体之仓库总表浏览图4-8 仓库管理窗体之仓库信息管理在仓库管理窗体中使用了许多具有数据感知(Data-Aware)功能的数据控制组件,

54、如TDBEdit组件,它们通过数据源组件与数据表相连,能自动显示数据表中当前记录对应字段的数据值。数据导航组件TDBNavigator用于实现数据导航和插入、删除等操作,通过它们不需要编程就可实现对数据库得常规操作,这是Delphi得特点和优势,也正是Delphi能快速开发数据库应用程序的原因。在仓库管理窗体中,BitBtn1用于设置DBGrid得内容可以修改;BitBtn2和BitBtn3用于关闭仓库管理窗体。它们的单击事件处理的程序代码如下:procedure TckglForm.BitBtn1Click(Sender: TObject);begin DBGrid1.ReadOnly:=F

55、alse; /设置DBGrid1得内容可以被修改end;procedure TckglForm.BitBtn2Click(Sender: TObject);begin Close; /关闭仓库管理窗体end;procedure TckglForm.BitBtn3Click(Sender: TObject);begin Close; /关闭仓库管理窗体end;4.7 出入库管理窗体设计出入库管理窗体包括货物入库管理、货物出库管理和货物信息管理三个功能。在项目中选中crkForm空白表单,在窗体上添加一个TpageControl组件对象,产生3个新的页面。将这三个页面得Caption属性得值分别设

56、置为“货物入库管理”、“货物出库管理”和“货物信息管理”。下面分别介绍这三个页面的实现。4.7.1 货物入库管理货物入库管理页面得界面如图4-9所示,按表的内容设计好货物出库管理页面。图4-9 货物入库管理页面在GroupBox2中添加了若干按钮组件来实现对货物入库数据表中货物信息的浏览、增加和删除等功能。程序代码如下:procedure TcrkForm.Button1Click(Sender: TObject);begin DataContrls.hwrk.First;end;procedure TcrkForm.Button2Click(Sender: TObject);begin Da

57、taContrls.hwrk.Prior;end;procedure TcrkForm.Button3Click(Sender: TObject);begin DataContrls.hwrk.Next;end;procedure TcrkForm.Button4Click(Sender: TObject);begin DataContrls.hwrk.Last;end;procedure TcrkForm.Button5Click(Sender: TObject);begin DataContrls.hwrk.insert;end;procedure TcrkForm.Button6Clic

58、k(Sender: TObject);begin DataContrls.hwrk.edit; if new_type then DataContrls.hwcc.append; / Save To hwcc; new_type:=false;end;procedure TcrkForm.Button7Click(Sender: TObject);begin DataContrls.hwrk.Delete;end;procedure TcrkForm.Button8Click(Sender: TObject);begin DataContrls.hwrk.Cancel;end;4.7.2 货物

59、出库管理货物出库管理页面的界面如图4-10所示,按表的内容设计好货物出库管理页面。图4-10 货物出库管理页面其实现过程与货物入库管理模块类同,程序代码如下:procedure TcrkForm.Button9Click(Sender: TObject);begin DataContrls.hwck.First;end;procedure TcrkForm.Button10Click(Sender: TObject);begin DataContrls.hwck.Prior;end;procedure TcrkForm.Button11Click(Sender: TObject);begin

60、DataContrls.hwck.Next;end;procedure TcrkForm.Button12Click(Sender: TObject);begin DataContrls.hwck.Last;end;procedure TcrkForm.Button13Click(Sender: TObject);begin DataContrls.hwck.Insert;end;procedure TcrkForm.Button14Click(Sender: TObject);begin DataContrls.hwck.edit; if new_type then DataContrls.

61、hwcc.append; / Save To hwcc; new_type:=false;end;procedure TcrkForm.Button15Click(Sender: TObject);begin DataContrls.hwck.Delete;end; procedure TcrkForm.Button16Click(Sender: TObject);begin DataContrls.hwck.Cancel;end;4.7.3 货物信息管理 货物信息管理页面的界面如图4-11所示,按表的内容设计好货物信息管理页面。图4-11 货物信息管理页面其实现过程与货物出入库管理模块类同,程序代码如下:procedure TcrkForm.Button17Click(Sender: TObject);begin DataContrls.hwcc.First;end;procedure TcrkForm.Button18Click(Sender: TObject);begin DataContrls.hwcc.Prior;end;procedure TcrkForm.Button19Clic

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!