Delphi进销存管理系统论文.doc_第1页
Delphi进销存管理系统论文.doc_第2页
Delphi进销存管理系统论文.doc_第3页
Delphi进销存管理系统论文.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文) 毕 业 设 计(论文)题 目: 面向中小企业的进销存管理系统 学 院: 专业名称: 计算机科学与技术 学 号: 学生姓名: 指导教师: 2009 年5 月14 日49面向中小企业的进销存管理系统的实现摘 要我国中小企业有70%是零售企业,企业经营涉及进、销、存多个环节,涉及商品种类繁多,业务量大,库存管理复杂,使用人工管理已无法胜任。如何采用先进的计算机系统管理进货、库存、销售等诸多环节也已成为趋势及必然22。delphi 在开发数据库及设计应用程序界面方面有着不同寻常的优势:开发简单,设计方便,容易上手,帮助完善。只要对编程略有基础,则使用delphi 开发一般的应用程序界面及数据库应用程序都易如反掌,所以它越来越受到程序员的青睐。业界人员都认为:执着的程序员使用c+语言,聪明的程序员使用delphi ,其往往可以使程序员的工作事半功倍。关键词delphi;sql2000;数据库;管理系统abstractthe our country small and medium-sized enterprise has 70% is zero letter enterprise, the enterprise manages involves, sells, saves many links, involves the line of goods to be many, the business volume is big, the stock management is complex, the use labor management has been unable to be competent. how to use the advanced computer system management inventory, the stock, the sale and so on many links also to become the tendency and inevitably22. delphi has the unusual superiority in the development database and the design application procedure contact surface aspect: develops simply, the design is convenient, the easy seat of honor, to help to consummate. so long as to programs slightly has the foundation, then uses delphi to develop the general application procedure contact surface and the database application procedure is easy as pie, therefore it receives programmers favor more and more. the field personnel thought: the rigid programmer uses the c+ language, the intelligent programmer uses the delphi programming often to be possible to cause programmers work to be twice the result with half the effort. keywordsdelphi;sql2000;database; management system目 录1、前 言11.1课题研究的背景11.2 研究课题的目的和意义11.3 国内外研究现状和发展趋势22、开发工具的选择32.1 市场背景32.2 delphi的优势32.3 delphi对数据库的访问42.4 delphi的访问方式43、总体设计73.1 系统功能分析73.2系统功能结构框图73.3 系统组成84、详细设计164.1 主窗体设计164.2基础窗体设计194.3数据模块设计194.4库存商品模块设计204.5商品基本信息模块设计244.6进货单录入模块设计275、主要窗体模块运行结果335.1登陆界面335.2基本信息模块345.3进货管理355.4销售管理365.5库存管理375.6 钱流管理405.7统计分析416、总结与展望447、致 谢458、参考文献461、前 言1.1课题研究的背景随着经济的全球化以及中国经济改革的逐渐深化,制造业面临着越来越激烈的竞争,改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,是中国企业赢得竞争胜利的决定性因素。现今的企业并不只是人力资源、资金和产品的组合,它还应该包括供应、销售、市场营销、客户服务、需求预测,以及其他更多的东西。越来越多的企业经营者都认识到:单纯靠对商品的占有,靠个人经验,已经很难把握市场,很难在激烈的竞争中取胜。如何借肋it手段、如何通过信息化,加强核心竞争力,实现持续发展已经成为中小企业亟侍解决的关键问题。零售企业在我国的中小企业中占了很大的比重,企业经营涉及进、销、存多个环节,涉及商品种类繁多,库存管理复杂,使用笔工管理已无法胜任。如何采用先进的计算机系统管理进货、库存、销售等诸多环节,来提高企业的管理效率。1.2 研究课题的目的和意义研究目的:随着我国经济的高速发展,中小企业的发展也越来越快,然而如何管理中小企业的进货、库存、销售的复杂环节,已成为限制中小企业发展的主要瓶颈,所以次系统就是对于目前中小企业的目前现状而开发出的。此系统主要使中小企业的进货、库存、销售的复杂环节变的简单易行,使其更便于管理者的管理和操作,从而来提高中小企业的管理效率,使其更加快速的发展。所以此系统以此为目的而开发出的。研究意义:当前越来越多的商业、企事业单位已经将计算机技术应用于日常的管理工作。科学的运用计算机技术进行管理工作不仅可以使管理工作规范化、系统化、自动化而且可以节省相当的人力、物力。它能够使用户的管理工作走上良性运转轨道,从而为其快速发展奠定基础。因此各单位对与本行业相关管理软件的需求也十分迫切。在市场经济中,销售是企业运行的重要环节。为了更好地推动销售,不少企业建立了分公司和代理制,通过分公司或代理把产品推向最终用户。在这种形式下,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的业务需求了。1.3 国内外研究现状和发展趋势在国外,计算机很早就应用于企业的管理中了。大约开始于1954年,当时美国首先用计算机处理工资单。40多年来,计算机在处理管理信息方面发展迅速。例如,60年代美国计算机在管理中应用项目不到300项,到了1975年达到2670项。而现在,美国在财务会计上90%的工作由计算机完成;物资管理中80100%的信息处理由计算机完成;计划管理中是8090%。据计算机应用方面发展较快的国家统计,计算机用于经济管理的约占80%;用于科技运算的占8%;用于生产过程控制的占12%。因此,经济管理是计算机应用的主要领域。当然,由于进销存管理在经济管理中占重要地位,其计算机化在发达国家中也已经达到了相当高的水平。我国在全国范围内推广计算机在管理中的应用,是在70年代末开始的,虽然起步较晚,近几年发展却较快,特别是微型计算机的出现和普及为信息处理提供了物美价廉的手段,对于推动我国管理信息处理的现代化起了重要的作用。在国内,随着我国经济的高速发展,中小企业在经济的发展中起着重要作用,但是中小企业也面临着许多的问题,如:客户的增多,企业账目混乱,库存不准,信息反馈不及时等。这些问题已经成为制约中小企业发展的瓶颈,严重制约了中小企业的发展壮大。越来越多的企业经营者都认识到:单纯靠对商品的占有,靠个人经验,已经很难把握市场,很难在激烈的竞争中取胜。如何通过信息话的手段提高中小企业的发展,已成为管理者所考虑的主要问题,如何高效的提高企业的管理效率也成为中小企业关注的主要对象。由于我国零售企业在中小企业中占有很大的比重,企业经营涉及进、销、存多个环节,涉及商品种类繁多,业务量在,库存管理复杂,使用笔工管理已无法胜任。如何采用先进的计算机系统管理进货、库存、销售等诸多环节也已成为趋势及必然。针对国内外的现状,中小企业的进销存管理系统也就自然的成为中小企业关注的对象,此系统就是针对目前中小企业的现状而开发的。2、开发工具的选择2.1 市场背景现在,市场上可以选购的应用开发产品很多,在目前市场上这些众多的程序开发工具中,有些强调程序语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程序语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间15。作为数据库系统的开发,delphi是一个非常理想选择。delphi因简单易学、功能强大、编译速度快而从众多的软件开发工具中脱颖而出。它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,并封装了windows编程的复杂性。程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用delphi进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。尤其是delphi对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。 delphi提供了用于数据访问和控制的可视控件,用这些控件可以构造数据库应用。data access控件主要用于访问数据记录,如查询、插入、删除等操作,data controls控件则主要用于表格的显示,当然也可进行一些编辑。delphi的数据库应用通过data access控件与bde连接,从而访问数据源。data controls控件是给所谓的data access控件提供用户接口。由于bde(borland database engineer)支持odbc标准,所以可以访问多种数据源表格。2.2 delphi的优势1. delphi7.0是由borland公司推出的,是一个具有强大功能的可视化编程环境,它为我们提供一种方便、快捷的windows应用程序开发工具。2. delphi7.0采用弹性的可重用的面向对象 pascal程序语言,简单要稍有语言基础就能很快掌握并进而精通。3. delphi7.0提供了新颖的可视化设计工具,采用面向对象的方法将windows编程的复杂性封装起来,实现了将可视化设计与object pascal语言的有机集成。并且可通过sql links、odbc访问多种数据库。4. 使用了microsoft windows图形用户界面的许多先进特性和设计思想。可视化的用户界面设计功能,把程序设计人员从烦琐复杂的界面设计中解脱出来。可视化编程环境的“所见即所得(wysiwyg)”功能,使界面设计如积木游戏一般简单轻松。5. 开发出来的应用程序与windows 95, windows 98,或 windows nt 的操作环境无关,可以直接在windows下运行。2.3 delphi对数据库的访问delphi的可视化功能相当强大,制作一个简单的仅对数据库进行察看和维护的程序十分容易,可以不写任何代码就能实现。作为数据库系统的开发,delphi是一个非常理想的选择。它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,并封装了windows编程的复杂性。其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用,支持高效的程序开发和程序运行,备受广大程序开发人员的好评。尤其是delphi对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期。delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。 2.4 delphi的访问方式delphi中访问数据库的方式有三种:直接访问,如访问paradox和dbase数据库;通过odbc访问,如访问access、foxpro等数据库;通过内嵌入方式访问数据库,如访问sql server、oracle、db2等。在delphi中,可以使用table控件和query控件来访问数据库,二者的设置和用法都差不多,因此下面仅以table控件为例说明这两种方式的特点和用法15。(1)直接访问delphi可以直接访问paradox和dbase这两个桌面型的数据库系统。访问这两种类型的数据库时不需要特别的设置,只需要把文件路径赋给table控件的属性databasename就可以访问该路径下的数据库了。当然,也可以实现建立映射数据库别名,然后把table控件的databasename属性设置为相应的数据库别名。(2)通过odbc访问访问paradox和dbase以外的数据库,通常是通过odbc来实现的。delphi可以访问支持odbc的数据库系统,如access、sql server和oracle等。当然,通过odbc访问数据库时,首先要使用windows的控制面板或delphi的数据库引擎(bde)建立odbc数据源。 delphi提供了tdatabase控件,该控件可以在应用程序的控制下和数据库系统建立连接,进行事务处理。在数据库应用程序中,可以使用database控件也可以不使用。如果不使用database控件,可以直接把odbc数据源的名称赋给table控件的属性databasename而达到访问该数据库的目的。这种方式的弊端是在程序运行时由delphi系统自动弹出登录到数据库的英文界面的窗口,既不美观又不便于控制。因此,我们建议在数据库应用程序中使用database控件来登录到数据库系统。把table控件与database控件关联的方法是把其databasename属性值指定为database控件的databasename属性值。一个database控件可以管理若干个table控件。和database控件建立关联以后,只要该database控件已经和数据库建立了连接,table控件就可以直接访问数据库而无需再次登录。(3)通过内嵌方式访问delphi中可以不通过odbc而以内嵌方式访问sql server、oracle、db2等数据库系统。这需要使用数据库别名来指定数据库。数据库别名可以事先建立,也可以在程序运行时动态创建。前者称为静态别名,后者称为动态别名。使用数据库别名来访问数据库的方法和使用odbc数据源的情形相同,这里不再赘述。通过内嵌方式访问时数据库的静态别名必须在bde中建立。以访问sql server数据库为例,在建立别名时必须指定数据库服务器的名称、主机名以及要访问的数据库名称,可以指定登录用户名和口令等。通过动态创建的别名来访问数据库必须使用database控件。如何设置database控件中访问数据库的参数:用鼠标双击database控件,出现参数设置窗口。在“driver name”一栏选择要访问的数据库系统,如“sql server”,然后选择按钮“defaults”,就会把bde中该数据库系统所需的参数名称和缺省值加入到“parameter overrides”列表中。根据实际情况更改参数中的“server name”、“datebasename”等项,然后选择按钮“ok”就可以了。需要说明的两点是:(1)以内嵌方式访问数据库需要在安装delphi 7.0时指定安装sql link;(2)query控件的sql语句不能以分号结尾。 通过以上的论述,我们可以得出下述结论: 通过内嵌方式访问数据库与通过odbc访问数据库相比,前者的速度要快一些。而且,内嵌方式可以在程序中动态的设置连接数据库所需的参数,用户不必设置odbc数据源,这就降低了对用户技术水平的要求,并减少了用户的工作量。从系统配置的难易和复杂程度来看,使用内嵌方式开发出的数据库更便于普通用户使用。因此,我们在开发较大型的应用系统时,最好使用内嵌方式来访问数据库。 在我国,管理信息系统是计算机应用最广泛的领域之一。随着我国经济建设突飞猛进,管理科学化与管理手段的现代化已经提到非常重要的地位。企、事业单位为了提高自身的管理水平和竞争能力,纷纷投入人力物力,开发适合本单位需求的管理信息系统。中小企业与行政事业单位建立的管理信息系统尤如雨后春笋,一个新的开发和管理信息系统的热潮正在掀起,公司工资管理系统。它可以大大减少人力,使人们摆脱了原有系统的局限性,只要在电脑上轻轻地点几下就可以完成查询、输入、修改、输出等功能。非计算机专业的人员也可以熟练地进行操作。由于以前学过delphi 7.0,自己对delphi也比较的感兴趣,所以本次毕业设计我选择了基于delphi的进销存管理系统,来对以前所学的知识做一个全面的总结。数据库我采用目前比较流行的microsoft sql server,来开发此进销存管理系统。3、总体设计3.1 系统功能分析本系统用于对企事业单位的进销存信息的管理,其需要完成的主要功能包括:(1)进货管理模块:主要管理企业商品进货及退货单的录入。(2)销售管理模块:主要管理企业商品销售信息和退货单录入。(3)库存管理模块:主要实现库存状况、库存盘点、进销存变动和库存报警功能。(4)钱流管理模块:主要实现本单位的流动资金的去与入,包括收款,付款,一般费用和现金费用四个项目。(5)基本信息模块:主要实现库存商品、往来单位信息、内部职员信息和费用类型管理。(6)查账功能模块:主要实现目前为止本企业与代理商、供销商的费用的情况,目前为止支出的账目和具体的应收应付账目。(7)系统分析模块:主要实现进货分析,月销售状况和产品销售成本表。(8)系统维护模块。系统维护模块的主要实现本企业管理、操作员设置等功能。3.2系统功能结构框图图3-1系统结构框图3.3 系统组成整个系统功能通过菜单实现,包括数据库、表单、菜单、报表和主程序等几个部分,具体为:3.3.1 后台数据库(1)职员信息表(tb_employ)职员信息表用来保存职员信息。职员信息表的结构如表3-1所示。表3-1职员信息表结构字段名称字段类型字段大小主键否功能描述employecodevarchar6职员编号fullnamevarchar20是职员全称namevarchar20职员简称sexvarchar2性别departmentvarchar20所在部门telvarchar20联系电话memovarchar40备注shortcodevarchar10拼音简码(2)进货主表(tb_warehouse_main)进货主表用来保存进货中主要和相同的信息。进货主表的结构如表3-2所示。表3-2 进货主表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarchar20供货单位handlevarchar20经手人summaryvarchar100摘要fullpaymentfloat8应付金额paymentfloat8实付金额(3)进货明细表(tb_warehouse_detailed)进货明细表用来保存进货中商品的详细信息。进货明细表结构如表3-3所示。表3-3 进货明细表结构字段名称字段类型字段大小主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitchar4单位producevarchar20产地qtyfloat8数量pricefloat8进价tsumfloat8金额billdatedatetime8录单日期(4)用户权限表(tb_power)用户权限表用来保存用户权限设置信息。用户权限表结构如表3-4所示。表3-4用户权限表结构字段名称字段类型字段大小主键否功能描述numbervarchar20是用户编号usersvarchar20用户名称passwordvarchar20用户密码stockbit1进货管理venditionbit1销售管理checkedbit1库存管理moneybit1钱流管理systembit1系统维护basebit1基本信息(5)费用表(tb_cf)费用表用于记录费用信息。费用表结构如表3-5所示。表3-5费用表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20单据编号unitsvarchar20收款单位numbervarchar20费用项目编号namevarchar20费用项目名称handlevarchar20经手人fullpaymentvarchar20应付金额paymentfloat8实付金额summaryvarchar20摘要(6)往来账目明细表(tb_currentaccount)往来账目明细表用于记录往来单位的应收、应付账目。往来账明细表结构如表3-6所示。表3-6往来账目明细表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarhcar20往来单位addgatheringfloat8应收增加reducegatheringfloat8应收减少balancefloat8应收余额summaryvarchar100摘要(7)费用类型表(tb_freetype)费用类型表用于存储费用类型信息。费用类型表表结构如表3-7所示。表3-7费用类型表字段名称字段类型字段大小主键否功能描述subjectcodevarchar3科目编号fullnamevarhcar20是科目全称namevarchar10科目简称memovarhcar40备注shortcodevarchar10拼音简码(8)收款信息表(tb_gathering)收款信息表用于保存收款信息。收款信息表结构如表3-8所示。表3-8收款信息表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarchar20付款单位gatheringfloat8金额handlevarchar20经手人summaryvarchar40摘要(9)付款信息表(tb_payment)付款信息表用于保存付款信息。付款表结构如表3-9所示。表3-9 付款表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarchar20收款单位paymentfloat8金额handlevarchar20经手人summaryvarchar100摘要(10)销售退货明细表(tb_resell_detailed)销售退货明细表用于保存销售退货的详细信息。销售退货明细表结构如表3-10所示。表3-10 销售退货明细表结构字段名称字段类型字段大小主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全名standardvarchar10商品规格typevarchar10商品型号unitchar4单位producevarchar20产地qtyfloat8数量pricefloat8单价tsumfloat8金额billdatedatetime8录单日期(11)销售退货表(tb_resell_main)销售退货表用于保存销售退货。销售退货表结构如表3-11所示。表3-11销售退货表结构字段名数据类型长度主键否功能描述billdatedatetime录单日期billcodevarchar20是单据编号unitsvarchar20退货单位handlevarchar20经手人summaryvarchar100摘要fullpaymentfloat8应付金额paymentfloat8实付金额(12)进货退货明细表(tb_rewarehouse_detailed)进货退货明细表用于保存进货退货详细信息,主要是单位退货的表。进货退货明细表结构如表3-12所示。表3-12 进货退货明细表字段名数据类型长度主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8数量pricefloat8进价tsumfloat8金额billdatedatetime8录单日期(13)进货退货表(tb_rewarehouse_main)进货退货表用于存储进货退货中主要的和相同的信息。进货退货表结构如表3-13所示。表3-13进货退货表字段名数据类型长度主键否功能描述billdatedatetime录单日期billcodevarchar20是单据编号unitsvarchar20收货单位handlevarchar20经手人summaryvarchar100摘要fullgatheringfloat8应收金额gatheringfloat8实收金额(14)销售明细表(tb_sell_detailed)销售明细表用于保存销售详细信息。销售明细表结构如表3-14所示。表3-14销售明细表字段名数据类型长度主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8数量pricefloat8单价tsumfloat8金额billdatedatetime8录单日期(15)销售表(tb_sell_main)销售表用于保存销售信息中主要的和相同的信息。销售表结构如表3-15所示。表3-15销售表结构字段名数据类型长度主键否功能描述billdatevarchar20录单日期billcodevarchar20是单据编号unitsvarchar20购货单位handlevarchar20经手人summaryvarchar100摘要fullgatheringfloat8应收金额gatheringfloat8实收金额(16)库存商品信息表(tb_stock)库存商品信息表用于保存库存商品信息。库存商品表结构如表3-16所示。表3-16库存商品表结构字段名数据类型长度主键否功能描述tradecodevarchar6商品编号fullnamedvarchar20是商品全名namevarchar10商品简称typevarchar10商品类型standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8库存数量pricefloat8进货时的最后一次进价averagepricefloat8加权平均价salepricefloat8销售时的最后一次销价checkedfloat8盘点数量upperlimitint4存货报警上限lowerlimitint4存货报警下限provideinfvarchar40商品供货信息memovarchar40备注shortcodevarchar10拼音简码(17)本单位信息表(tb_unit)本单位信息表用于保存本单位的信息。本单位信息表结构如表3-17所示。表3-17本单位信息表结构字段名数据类型长度主键否功能描述numbervarchar20是单位编号namevarchar50单位全称simplenamevarchar10单位简称taxvarchar30税号telvarchar20单位电话linkmanvarchar10联系人addressvarchar60单位地址accountsvarchar80开户行及帐号(18)往来单位信息表(tb_units)往来单位信息表用于保存往来单位的信息。往来单位信息表结构如表3-18所示。表3-18往来单位信息表结构字段名数据类型长度主键否功能描述unitcodevarchar5单位编号fullnamevarchar20是单位全名namevarchar10单位简称taxvarchar30税号telvarchar20单位电话linkmanvarchar10联系人addressvarchar60单位地址accountsvarchar80开户行及帐号gatheringfloat8累计应收款paymentfloat8累计应付款shortcodevarchar10拼音简码4、详细设计4.1 主窗体设计主窗体是程序的控制中心,其他模块都是通过主窗体来调用,所以主窗体的界面要设计的美观易操作。我设计的进销存管理系统的主窗体界面如图4-1所示。图4-1 主窗体界面4.1.1 设计步骤(1)运行delphi会自动创建一个窗体,设置该窗体为程序主窗体,命名为“f_zct”,设置窗体的caption属性为“进销存管理系统”;borderstyle属性为“bsdialog”;keypreview属性为“true”。(2)在“additional”组件页中点选“tactionmanager”组件,添加到窗体上,命名为“actionmanage1”,双击该组件打开“动作编辑器”,选择“toolbars”选项卡,单击”new”按钮添加“tactiontoolbar”对象,命名为“actiontoolbar1”。(3)选择“actions”选项卡,单击”new action”按钮,添加“taction”对象,并在“object inspector”窗口中设置caption属性。(4)在窗体上点选actionmanager1组件,在“object inspector”窗口中,单击actionbars属性右侧的”按钮,弹出对话框。(5)点选各菜单项,在“object inspector”窗口中,单击items属性右侧的“”按钮,在弹出的对话框中设置子菜单项。(6)在“win32”组件页中点选“tstatusbar”组件,添加到窗体上,命名为“statusbar1”。tstatusbar组件用于显示状态信息,双击statusbar1组件,在弹出的对话框中单击“add new”按钮添加面板。在“object inspector”窗口中设置面板的width属性和caption属性。(7)在“standard”组件页中点选“tpanel”组件。在窗体上添加3个tpanel组件,分别命名为“panel3”、“panel1”、“panel4”,分别设置其align属性为“altop”、“alleft”、“alclient”。(8)在“additional”组件页中点选“timage”组件,分别添加到panel3组件和panel1组件上,并在“object inspector”窗口中通过picture属性为其加载图片。当用户单击主窗体左侧的按钮时,在右则将弹出相应的功能图片。在右侧的面板中添加多个tpanel组件,并在相应的tpanel组件上添加timage组件,并为timage组件加载图片。(9)在“additional”组件页中点选“tspeedbutton”组件,将tspeedbutton组件添加到图片相应的位置,设置其flat属性为“true”;caption属性为空。4.1.2 程序相关代码在窗体的onkeydown事件处理过程中设置用户按下f5键时关闭窗体。代码如下:procedure tf_zct.formkeydown(sender: tobject; var key: word; shift: tshiftstate);begin f_zct.keypreview:=true; /设置窗体先接受键盘按下事件 if key=vk_f5 then close;end;在窗体的onclosequery事件处理过程中让用户确认是否关闭窗体。代码如下:procedure tf_zct.formclosequery(sender: tobject; var canclose: boolean);begin if application.messagebox(是否退出系统?,提示,mb_yesno)=id_no then canclose:=false;end;在窗体右侧按钮的单击事件处理过程中,设置相应的面板在其他面板前面。代码如下:procedure tf_zct.speedbutton1click(sender: tobject);begin kumanage.bringtofront; /设置面板在最前面end;在窗体右侧的功能按钮单击事件处理过程中,动态创建相应的功能窗体。动态创建“库存状况窗体”代码如下:procedure tf_zct.speedbutton9click(sender: tobject);begin application.createform(tf_kczk, f_kczk); /创建窗体 f_kczk.showmodal; /显示窗体 f_kczk.free; /释放窗体end;在窗体的onshow事件处理过程中,添加tcheckbox组件到面板中。指定tcheckbox组件的父对象并设置该组件的大小和位置。代码如下:with statusbar1 do begin checkbox1.parent:=statusbar1; checkbox1.top:=4; checkbox1.height:=height-4; checkbox1.width:=75; checkbox1.left:=panels0.width+panels1.width+panels2.width+10; checkbox1.visible:=true; end;4.2基础窗体设计创建基础窗体主要为了提高开发速度和代码的利用率,从基础窗体继承的子窗体具有基础窗体的全部功能。基础窗体如图4-2所示。 图4-2 基础窗体4.2.1基础窗体设计添加一个新窗体,命名为“f_base”,设置其borderstyle属性为“bsdialog”;keypreview属性为“true”。4.2.2相关代码在窗体的onkeypress事件处理过程中设置enter键代替tab键。代码如下:procedure tf_base.formkeypress(sender: tobject; var key: char);begin if key=#13 then perform(wm_nextdlgctl,0,0);end;4.3数据模块设计数据模块窗体主要功能是统一管理数据组件。数据模块如图4-3所示。图4-3 数据模块4.3.1数据模块创建(1)在delphi中选择“file”/“new”/“data module”菜单项,新建一个数据模块,命名为“f_dm”。(2)在“ado”组件页中点选“tadoconnection”组件,添加到窗体上,命名为“adoconnection1”。tadoconnection组件用于连接数据库,其他数据库组件通过它连接数据库。(3)点选adoconnection1组件,在“object inspector”窗口中,单击connectionstring属性右侧的“”按钮,在弹出对话框设置连接字符串。(4)单击“build”按钮,在弹出的对话框中 “提供程序”选项卡中选择希望连接的数据所需的驱动程序,选中“microsoft ole db proxider for sql server”点击下一步。(5)选择“连接”选项卡,设置数据库连接相关设置,在“输入登录服务器的信息”下的单选框中选择实验指定的用户名和密码,用户名称

温馨提示

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

评论

0/150

提交评论