超市进销存管理系统毕业论文.doc_第1页
超市进销存管理系统毕业论文.doc_第2页
超市进销存管理系统毕业论文.doc_第3页
超市进销存管理系统毕业论文.doc_第4页
超市进销存管理系统毕业论文.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

超市进销存管理系统目录第一章 引言11.1问题的提出11. 2课题的研究目的21. 3课题的研究意义2第二章 系统分析32.1 需求分析32.2 可行性分析3第三章 总体设计53.1 项目规划53. 2 数据库设计6第四章 系统设计94.1 设计目标94.2 开发及运行环境94.3 逻辑结构设计9第五章 主要功能模块设计175.1 主窗体设计175.2 基础窗体创建215.3 数据模块设计225.4 库存商品模块设计245.5 商品基本信息模块设计275.6 进货单录入模块设计29总结33致谢36 33第一章 引言超市进销存管理系统是超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求日益提高,企业经营涉及进、销、存多个环节,涉及商品种类繁多,业务量大,库存管理复杂,使用手工管理已无法胜任,因而软件控制销售和管理已经取代了传统全手工方式。如何采用先进的计算机系统管理进货、库存、销售等诸多环节也已成为趋势及必然。超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据较少,对存储和速度要求不高。但正由于员工较少,使用软件控制成为必须。1.1 问题的提出目前,大量的中小超市企业中,存在这样的现象:分散的、不连贯的进销存信息使超市管理者或相关管理人员无法看到进销存的全部资料及相关报表,信息的分散使得产生的结果也无法保持一致和完整性,造成中小超市在进销存管理上存在如下问题:无法统计销售信息?无法准确全面掌握各业务进展状态?对销售人员工作过程掌握不够?业务人员对产品没有一定认识?销售及市场流程不清晰,流程变动较大?对市场信息、竞争的资讯掌握程度较不完善?无结构统一销售及市场情况报表?基本销售及市场费用统计较不完备?销售人员辞职时失单现象严重?等等。加之,现在顾客的期望值越来越高,顾客需要更好的服务(产品及个性化服务)。企业的竞争已逐渐从产品的竞争转变为服务的竞争,因此中小企业要发展就必须需要进一步优化业务流程以提高企业竞争能力。因此,加强超市进销存管理是企业发展的必然,通过计算机来大量完成本来由工作人员手工完成的工作,真正达到合理和充分利用现有资源,减轻工作压力。1.2 课题的研究目的研究该课题是为了通过对“超市进销存管理系统”的设计与实现,熟悉这类的信息管理系统的开发原理及流程。在设计过程,能够深入地理解面向对象设计方法的优越性,获得这些方面的相关经验。对一个即将毕业的计算机专业本科生来说,又想在软件行业领域里有所发展,研究并应用面向对象设计方法是百益无一害的,可以使其走向社会后能够快速地适应行业需求。这正是本次设计的根本目的所在。1.3 课题的研究意义首先,该课题属于管理信息系统范畴。而管理信息系统(management information system,简称mis)在现代社会已深入到各行各业,是一个不断发展的新学科,是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统。再加上行业信息化的热潮才刚刚开始,特别是中小型企业的信息化建设步伐刚刚迈出第一步。管理信息系统的开发的市场将是非常庞大的。这种需求对开发人员在数量上和素质上的要求也是非常迫切的。为了满足市场的需求以及能在竞争中取胜,系统设计人员就不仅仅是单纯地满足用户对功能的要求,还要从设计方法上来加以改进。 其次,面向对象方法是一种非常实用的软件开发方法,它一出现就受到软件技术人员的青睐,现在已经成为计算机科学研究的一个重要领域,并逐渐成为软件开发的一种主要方法。面向对象的程序设计将数据及对数据的操作方法封装在一起,作为一个互相依存、不可分离的整体。采用这种方法来设计系统,可以增加系统的安全性。同时通过继承与多态性,使程序具有很高的可重用性,使软件的开发和维护带来了方便。由于面向对象方法的突出优点,它才被广大用户所爱好。第二章 系统分析2.1 需求分析经过对系统的业务流程和系统数据流程的调查,用户对系统的功能需求如下:要求此管理软件将对库存产品进行资料管理和统计,对产品的进货单和产品的销售单进行录入管理和统计;要求此管理软件将根据用户的需要对进货、销售、库存情况进行查询,并能提供库存短缺预警功能;要求此管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;要求此管理软件提供企业人员管理,能够对企业员工的分类管理,新员工的加入以及员工删除,修改基本信息等功能;要求此管理软件提供数据信息的备份和还原功能。对这些功能需求进行分类,主要包含有以下几种:进货管理模块、库存管理模块、销售管理模块、员工管理模块和系统模块。除上述功能外,系统还需要有以下功能:要有良好的人机界面,并提供换肤功能。支持多人操作,要求有较好的权限分配功能。在进货、退货时存在一对多的关系,要求支持多行录入功能。为了方便用户查询,要求支持多条件查询。对于每种商品要求编号惟一,编号需要自动生成。支持多种报表打印。支持账目的详细内容浏览。2.2 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。本系统数据库采用目前比较流行的microsoft sql server,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用delphi7,delphi7是目前应用最广泛的数据库系统开发工具,可以快速开发windows应用程序。第三章 总体设计3.1 项目规划超市进销存管理系统是一个典型的数据库应用程序,由登录模块、主界面、基本信息模块、进货管理和销售管理模块、库存管理模块、系统维护模块等组成。特规划功能模块如下:q 基本信息模块基本信息模块主要实现库存商品、内部职员、往来单位、费用类型等的管理。q 进货管理模块进货管理模块主要管理超市商品进货及退货信息,支持多行录入。q 销售管理模块销售管理模块主要管理超市商品销售及退货信息,支持多行录入。q 库存管理模块库存管理模块主要实现库存货品浏览、库存盘点、库存报警等功能。q 统计分析模块统计分析模块主要实现进货统计分析、销售统计分析和成本分析等功能。q 系统维护模块系统维护模块的主要实现本单位管理、操作员设置、数据的备份和还原等功能。根据项目规划,可画出超市进销存管理系统的功能框图,如图3-1所示。图3-1 系统功能模块图3.2数据库设计本系统根据上面的设计规划出的主要实体有职员信息、进货、用户、费用、收款、进货退货。各个实体的e-r图分别如图3-2至图3-7所示。 图3-2 职员信息的e-r图 图3-3 进货的e-r图 图3-4用户的e-r图 图3-5费用的e-r图 图3-6 进货退货的e-r图 图3-7收款的e-r图实体与实体之间关系的e-r图,如图3-8所示。 图3-8 实体之间的e-r图第四章 系统设计4.1 设计目标根据超市的需求和进销存管理的特点,该系统实施后,应达到以下目标:q 支持多行输入,自动生成编号。q 界面美观友好、信息查询灵活、方便、快捷、准确。q 强大的库存预警功能,在意外中将损失降到最低。q 提高工作效率,降低成本。q 往来账目详细浏览。q 图形化数据分析。q 对用户输入的数据进行过滤,当输入有误时提示用户。q 数据保密性强,用户对应不同的操作级别。q 系统最大限度地实现了易安装性、易维护性和易操作性。q 直接调用word、excel软件。q 系统运行稳定、安全可靠。4.2 开发及运行环境系统开发平台:microsoft visual studio 2010。数据库管理系统软件:sql server 2005。运行平台:windows xp/ windows 2000。分辨率:最佳效果1024*768。4.3 逻辑结构设计本系统数据库采用sql server 2005数据库,数据库名称为“db_ems”。数据库db_ems中包含18个表。各个数据表的结构如下所示。(1)职员信息表(tb_employ)职员信息表用来保存职员信息。职员信息表的结构如表4-1所示。表4-1 职员信息表结构字段名称字段类型字段大小主键否功能描述employecodevarchar6职员编号fullnamevarchar20是职员全称namevarchar20职员简称sexvarchar2性别departmentvarchar20所在部门telvarchar20联系电话memovarchar40备注shortcodevarchar10拼音简码(2)进货主表(tb_warehouse_main)进货主表用来保存进货中主要和相同的信息。进货主表的结构如表4-2所示。表4-2 进货主表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarchar20供货单位handlevarchar20经手人summaryvarchar100摘要fullpaymentfloat8应付金额paymentfloat8实付金额(3)进货明细表(tb_warehouse_detailed)进货明细表用来保存进货中商品的详细信息。进货明细表结构如表4-3所示。表4-3 进货明细表结构字段名称字段类型字段大小主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitchar4单位producevarchar20产地qtyfloat8数量pricefloat8进价tsumfloat8金额billdatedatetime8录单日期(4)用户权限表(tb_power)用户权限表用来保存用户权限设置信息。用户权限表结构如表4-4所示。表4-4 用户权限表结构字段名称字段类型字段大小主键否功能描述numbervarchar20是用户编号usersvarchar20用户名称passwordvarchar20用户密码stockbit1进货管理venditionbit1销售管理checkedbit1库存管理moneybit1钱流管理systembit1系统维护basebit1基本信息(5)费用表(tb_cf)费用表用于记录费用信息。费用表结构如表4-5所示。表4-5 费用表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20单据编号unitsvarchar20收款单位numbervarchar20费用项目编号namevarchar20费用项目名称handlevarchar20经手人fullpaymentvarchar20应付金额paymentfloat8实付金额(6)往来账明细表(tb_currentaccount)往来账明细表用于记录往来单位的应收、应付账目。往来账明细表结构如表4-6所示。表4-6 往来账明细表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarhcar20往来单位addgatheringfloat8应收增加reducegatheringfloat8应收减少balancefloat8应收余额summaryvarchar100摘要(7)费用类型表(tb_freetype)费用类型表用于存储费用类型信息。费用类型表表结构如表4-7所示。表4-7 费用类型表字段名称字段类型字段大小主键否功能描述subjectcodevarchar3科目编号fullnamevarhcar20是科目全称namevarchar10科目简称memovarhcar40备注shortcodevarchar10拼音简码(8)收款信息表(tb_gathering)收款信息表用于保存收款信息。收款信息表结构如表4-8所示。表4-8 收款信息表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarchar20付款单位gatheringfloat8金额handlevarchar20经手人summaryvarchar40摘要(9)付款信息表(tb_payment)付款信息表用于保存付款信息。付款表结构如表4-9所示。表4-9 付款表结构字段名称字段类型字段大小主键否功能描述billdatedatetime8录单日期billcodevarchar20是单据编号unitsvarchar20收款单位paymentfloat8金额handlevarchar20经手人summaryvarchar100摘要(10)销售退货明细表(tb_resell_detailed)销售退货明细表用于保存销售退货的详细信息。销售退货明细表结构如表4-10所示。表4-10 销售退货明细表结构字段名称字段类型字段大小主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全名standardvarchar10商品规格typevarchar10商品型号unitchar4单位producevarchar20产地qtyfloat8数量pricefloat8单价tsumfloat8金额billdatedatetime8录单日期(11)销售退货表(tb_resell_main)销售退货表用于保存销售退货。销售退货表结构如表4-11所示。表4-11 销售退货表结构字段名数据类型长度主键否功能描述billdatedatetime录单日期billcodevarchar20是单据编号unitsvarchar20退货单位handlevarchar20经手人summaryvarchar100摘要fullpaymentfloat8应付金额paymentfloat8实付金额(12)进货退货明细表(tb_rewarehouse_detailed)进货退货明细表用于保存进货退货详细信息。进货退货明细表结构如表4-12所示。表4-12 进货退货明细表字段名数据类型长度主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8数量pricefloat8进价tsumfloat8金额billdatedatetime8录单日期(13)进货退货表(tb_rewarehouse_main)进货退货表用于存储进货退货中主要的和相同的信息。进货退货表结构如表4-13所示。表4-13 退货表字段名数据类型长度主键否功能描述billdatedatetime录单日期billcodevarchar20是单据编号unitsvarchar20收货单位handlevarchar20经手人summaryvarchar100摘要fullgatheringfloat8应收金额gatheringfloat8实收金额(14)销售明细表(tb_sell_detailed)销售明细表用于保存销售详细信息。销售明细表结构如表4-14所示。表4-14 销售明细表字段名数据类型长度主键否功能描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品型号standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8数量pricefloat8单价tsumfloat8金额billdatedatetime8录单日期(15)销售表(tb_sell_main)销售表用于保存销售信息中主要的和相同的信息。销售表结构如表4-15所示。表4-15 销售表结构字段名数据类型长度主键否功能描述billdatevarchar20录单日期billcodevarchar20是单据编号unitsvarchar20购货单位handlevarchar20经手人summaryvarchar100摘要fullgatheringfloat8应收金额gatheringfloat8实收金额(16)库存商品信息表(tb_stock)库存商品信息表用于保存库存商品信息。库存商品表结构如表4-16所示。表4-16 库存商品表结构 字段名数据类型长度主键否功能描述tradecodevarchar6商品编号fullnamedvarchar20是商品全名namevarchar10商品简称typevarchar10商品类型standardvarchar10商品规格unitvarchar4单位producevarchar20产地qtyfloat8库存数量pricefloat8进货时的最后一次进价averagepricefloat8加权平均价salepricefloat8销售时的最后一次销价checkedfloat8盘点数量upperlimitint4存货报警上限lowerlimitint4存货报警下限provideinfvarchar40商品供货信息memovarchar40备注shortcodevarchar10拼音简码(17)本单位信息表(tb_unit)本单位信息表用于保存本单位的信息。本单位信息表结构如表4-17所示。表4-17 本单位信息表结构字段名数据类型长度主键否功能描述numbervarchar20是单位编号namevarchar50单位全称simplenamevarchar10单位简称taxvarchar30税号telvarchar20单位电话linkmanvarchar10联系人addressvarchar60单位地址accountsvarchar80开户行及帐号(18)往来单位信息表(tb_units)往来单位信息表用于保存往来单位的信息。往来单位信息表结构如表4-18所示。表4-18 往来单位信息表结构字段名数据类型长度主键否功能描述unitcodevarchar5单位编号fullnamevarchar20是单位全名namevarchar10单位简称taxvarchar30税号telvarchar20单位电话linkmanvarchar10联系人addressvarchar60单位地址accountsvarchar80开户行及帐号gatheringfloat8累计应收款paymentfloat8累计应付款shortcodevarchar10拼音简码第五章 主要功能模块设计5.1 主窗体设计主窗体是程序的控制中心,其他模块都是通过主窗体来调用,所以主窗体的界面要设计的美观易操作。超市进销存管理系统主窗体运行结果如图5-1所示。图5-1 主窗体运行界面1.设计步骤(1)运行vs会自动创建一个窗体,设置该窗体为程序主窗体,命名为“f_zct”,设置窗体的caption属性为“超市进销存管理系统”;borderstyle属性为“bsdialog”;keypreview属性为“true”。(2)在“additional”组件页中点选“tactionmanager”组件,添加到窗体上,命名为“actionmanage1”,双击该组件打开“动作编辑器”,选择“toolbars”选项卡,单击【new】按钮添加“tactiontoolbar”对象,命名为“actiontoolbar1”,如图5-2所示。 图5-2 添加tactiontoolbar对象(3)选择“actions”选项卡,单击【new action】按钮,添加“taction”对象,并在“object inspector”窗口中设置caption属性,如图5-3所示。图5-3 添加taction对象(4)在窗体上点选actionmanager1组件,在“object inspector”窗口中,单击actionbars属性右侧的【】按钮,弹出如图5-4所示的对话框。图5-4 菜单栏设置界面1(5)在弹出的对话框中点选“0-actionbar-actiontoobar1”,在“object inspector”窗口中,单击items属性右侧的【】按钮,在弹出的对话框中,单击【add new】按钮添加菜单项,并设置各个菜单项的action属性,如图5-5所示。 图5-5 菜单栏设置界面2(6)点选各菜单项,在“object inspector”窗口中,单击items属性右侧的【】按钮,在弹出的对话框中设置子菜单项。(7)在“win32”组件页中点选“tstatusbar”组件,添加到窗体上,命名为“statusbar1”。tstatusbar组件用于显示状态信息,双击statusbar1组件,在弹出的对话框中单击【add new】按钮添加面板。在“object inspector”窗口中设置面板的width属性和caption属性,如图5-6所示。图5-6 面板编辑器界面(8)在“standard”组件页中点选“tpanel”组件。在窗体上添加3个tpanel组件,分别命名为“panel3”、“panel1”、“panel4”,分别设置其align属性为“altop”、“alleft”、“alclient”。(9)在“additional”组件页中点选“timage”组件,分别添加到panel3组件和panel1组件上,并在“object inspector”窗口中通过picture属性为其加载图片。当用户单击主窗体左侧的按钮时,在右则将弹出相应的功能图片。在右侧的面板中添加多个tpanel组件,并在相应的tpanel组件上添加timage组件,并为timage组件加载图片。(10)在“additional”组件页中点选“tspeedbutton”组件,将tspeedbutton组件添加到图片相应的位置,设置其flat属性为“true”;caption属性为空。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;5.2 基础窗体创建创建基础窗体主要为了提高开发速度和代码的利用率,从基础窗体继承的子窗体具有基础窗体的全部功能。基础窗体如图5-7所示。图5-7 基础窗体1基础窗体设计步骤添加一个新窗体,命名为“f_base”,设置其borderstyle属性为“bsdialog”;keypreview属性为“true”。2程序相关代码在窗体的onkeypress事件处理过程中设置enter键代替tab键。代码如下:procedure tf_base.formkeypress(sender: tobject; var key: char);begin if key=#13 then perform(wm_nextdlgctl,0,0);end;5.3 数据模块设计数据模块窗体主要功能是统一管理数据组件。数据模块如图5-8所示。图5-8 数据模块1数据模块创建(1)在delphi中选择“file”/“new”/“data module”菜单项,新建一个数据模块,命名为“f_dm”。(2)在“ado”组件页中点选“tadoconnection”组件,添加到窗体上,命名为“adoconnection1”。tadoconnection组件用于连接数据库,其他数据库组件通过它连接数据库。(3)点选adoconnection1组件,在“object inspector”窗口中,单击connectionstring属性右侧的【】按钮,弹出对话框,如图5-9所示。图5-9 设置连接字符串界面(4)单击【build】按钮,在弹出的对话框中 “提供程序”选项卡中选择希望连接的数据所需的驱动程序,如图5-10所示。图5-10 驱动程序选择界面(5)选择“连接”选项卡,设置数据库连接相关设置,如图5-11所示。图5-11 数据库连接设置界面(6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。(7)在窗体上添加tadoquery组件和tadocommand组件,设置它们的connection属性为“adoconnection1”。5.4 库存商品模块设计库存商品模块主要实现浏览、添加、修改、删除、查询、打印商品信息等功能。库存商品模块运行结果如图5-12所示。图5-12 库存商品模块运行界面1窗体设计步骤(1)选择“file”/“new”/“other”菜单项,打开“new items”对话框,选择“ima”选项卡,点选“f_base”选项,以继承方式使用该窗体。单击【ok】按钮添加一个新窗体,命名为“f_kcsp”,设置caption属性为“库存商品”。(2)在“win32”组件页中点选“ttoolbar”组件,添加到窗体上。在该组件上添加tspeedbutton组件,在“object inspector”窗口中通过caption属性为其设置相应的文本,通过glyph属性为其指定图标。右键单击ttoolbar组件,在弹出的菜单中选择“new button”菜单项,并设置其style属性为“tbsdivider”。(3)在窗体上添加tpanel组件,命名为“panel1”,设置align属性为“albottom”;visable属性为“false”。在tpanel组件上添加tgroupbox组件,设置其caption属性为“查询条件”。在“standard”组件页中找到tlabel组件、tedit组件和tcombobox组件,添加到tgroupbox组件上。点选tcombobox组件,在“object inspector”窗口中,单击items属性,在弹出的对话框中添加项目,如图5-13所示。图5-13 添加项目界面(4)在“ado”组件页中点选“tadoquery”组件,添加到窗体上,命名为“adoquery1”。在“data access”组件页中点选“tdatasource”组件,添加到窗体上,命名为“datasource1”。设置adoquery1组件的connection属性为“f_dm.adoconnection1”;设置datasource1组件的dataset属性为“adoquery1”。(5)在“data controls”组件页中点选“tdbgrid”组件,添加到窗体上,命名为“dbgrid1”,设置其align属性为“alclient”;datasource属性为“datasource1”,双击dbgrid1组件,在弹出的列编辑器中设置字段标题,如图5-14所示。 图5-14 为tdbgrid组件设置列标题(6)在“rave”组件页中点选“trvdatasetconnection”组件、“trvproject”组件,添加到窗体上,分别命名为“rvdatasetconnection1”、“rvproject1”,设置rvdatasetconnection1组件的dataset属性为“adoquery1”。设置rvproject1组件的projectfile属性为制作的报表文件。2程序相关代码在窗体的onshow事件处理过程中打开库存商品表。代码如下:procedure tf_kcsp.formshow(sender: tobject);begin inherited; /由于窗体是继承自基窗体该代码自动生成。意为调用父类的同名方法。 change:=false; with adoquery1 do begin close; sql.clear; sql.add(select * from tb_stock order by tradecode asc); /排序 open; end;end;在【添加】按钮的单击事件处理过程中动态创建添加库存商品基本信息窗体。代码如下:procedure tf_kcsp.speedbutton4click(sender: tobject);begin inherited; /调用父类的同名方法 application.createform(tf_sbjbcx, f_sbjbcx); /创建窗体 f_sbjbcx.showmodal; /显示窗体 f_sbjbcx.free; /释放窗体end;在【删除】按钮的单击事件处理过程中当用户确认删除后删除数据。代码如下:procedure tf_kcsp.speedbutton2click(sender: tobject);begin inherited; /调用父类的同名方法 try if application.messagebox(是否删除当前记录?,提示,mb_yesno)=id_yes then adoquery1.delete; except application.messagebox(不能删除,提示,mb_yesno); end;end;在【查询】按钮的单击事件处理过程中动态设置查询条件。代码如下:procedure tf_kcsp.speedbutton1click(sender: tobject);var searchwhat:string;begin inherited; /调用父类的同名方法 panel1.visible:=not(panel1.visible); if panel1.visible=false then begin searchwhat:=; case combobox1.itemindex of /设置要查找的字段 0: searchwhat:=tradecode; 1: searchwhat:=fullnamed; 2: searchwhat:=name; 3: searchwhat:=shortcode; end; try with adoquery1 do begin close; sql.clear; sql.add(select * from tb_stock ); /写sql语句 sql.add(where +searchwhat+ like :a order by tradecode); parameters.parambyname(a).value:=%+trim(edit1.text)+%; open; end; if application.messagebox(是否刷新表?,提示,mb_yesno)=id_yes then with adoquery1 do begin close; sql.clear; sql.add(select * from tb_stock order by tradecode); /刷新 open; end; except application.messagebox(请正确输入条件,提示,mb_ok); end; end;end;在【打印】按钮的单击事件处理过程中指定报表文件、预览报表。代码如下:procedure tf_kcsp.speedbutton6click(sender: tobject);begin inherited; /调用父类的同名方法 /指定报表文件 rvproject1.projectfile:=extractfilepath(application.exename)+stockprint.rav; rvproject1.execute; /预览报表end;5.5 商品基本信息模块设计商品基本信息模块主要功能是录入商品基本信息,便于其他窗体使用,在该模块中可以设置商品的报警上下限。商品基本信息模块运行结果如图5-15所示。图5-15 商品基本信息模块运行界面1窗体设计步骤(1)从基础窗体继承一个窗体,命名为“f_sbjbcx”,设置其caption属性为“商品基本信息”。(2)在“additional”组件页中点选“tbevel”组件,为每一类数据添加边框。(3)在“additional”组件页中点选“tgroupbox”组件,添加到窗体上,命名为“groupbox1”,设置其caption属性为“输入报警值-请输入大于0的数 0为不报警”。在groupbox1组件上添加2个tlabel组件和2个tedit组件。分别设置tlabel组件的caption属性为“商品报警上限:”、“商品报警下限:”。(4)在窗体上添加tlabel组件和tedit组件,在“additional”组件页中点选“tbitbtn”组件,添加到窗体上,分别命名为“bitbtn1”

温馨提示

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

评论

0/150

提交评论