网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

delphi图书仓库管理系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
sp;  系统详细设计在前面的概要设计中,已将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口。现在所要做的就是确定每个模块具体执行过程,也可以说是“过程设计”。在处理过程设计时我采用的是结构化程序设计(简称sp)方法。需要指出的是系统的详细设计并不是指具体的编程序,而是将概要设计阶段产生的系统功能模块图细化成很容易产生程序的图纸。因此详细设计的结果基本决定了最终程序的质量。为软件的质量,延长软件的生存期,软件的可测试性、可维护性提供重要的保障。详细设计的目标不仅

  是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易读。由前一阶段产生的系统功能模块图,我为系统的主要部分设计了如下程序流程图:

  通过以上步骤,基本上完成了对整个系统的总体设计,接下来所要做的就是软件的编码工作。系统总体设计的好坏直接影响着下一步工作,只有在这一阶段设计出好的模块图和程序流程图,才能更有利于编码,产生好的软件系统。 第五章   系统应用程序设计§5.1  系统窗体模块组成

  §5.2  数据模块窗体的设置在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证这些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?数据模块(datamodule)是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。图5.2给出了本程序的数据模块(datamoduleform)窗体图,除报表窗体外所有的数据存取组件和数据源组件都在此数据模块中进行了定义。值得一提的是,设置了数据库database组件,该组件引入了系统所需的唯一的数据库tsxs,database组件的databasename属性设置为tsckgl。tsxs数据库已在odbc配置程序中进行了设置。其他的数据存取组件都是基于此数据库组件创建的,这样做的好处是,当数据库的别名或者其他信息改变之后,只需修改tdatabase组件的aliasname属性即可。

  另外,在本系统的数据模块窗体图中,我大多采用的aodquery组件而没有采用bde组,这主要是基于对ado组件的了解。在delphi的学习中我对ado组件了解的更加清楚,使用也较bde更为熟练,而且,ado组件的功能也较bde更为强大,所以在这里大多采用ado组件来进行数据库联接。同时我也使用了bde组件中的table,因为在某些时候bde有着其自身特有的优越性。      §5.3  主窗体功能模块的实现                            file://主窗体程序代码public      file://在程序的起始部分,定义快捷按钮点击事件procedure popup1handler(sender:tobject);procedure popup2handler(sender:tobject);**********************************************************************procedure tmainform.popup1handler(sender: tobject);begin       file://快捷按钮1(点“按出版社分类”按钮产生)的点击事件with datamoduleform.mainquery do     begin     file://打开数据模块窗体的mainquery,对bookrecord表进行操作close;     file://关闭mainquerysql.clear;      file://清除sql属性中的sql命令语句sql.add(''select * from bookrecord where publisher=:pub''); file://添加新的sql语句parameters.parambyname(''pub'').value:=(sender as tmenuitem).caption;open;      file://重新打开mainqueryend;end;**********************************************************************

  procedure tmainform.speedbutton1click(sender: tobject);var s1,s2,s3,s4,s5 :string;     file://设立5个变量以方便实现模糊查询begin      file://主窗口库存查询按钮事件with datamoduleform.mainquery dobeginclose;sql.clear;sql.add(''select * from bookrecord'');sql.add(''where bookid like :bookid and bookname like :name and author like :author and publisher like :pub and booktype like :booktype'');           file://使用like语句来实现模糊查询if edit1.text<>''''  then  s1:=''%''+edit1.text+''%''   else  s1:=''%'';p

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师