引 言 1 1 Delphi语言概述 2 内容来自www.paper51.com
1.1 Delphi简介 2 http://www.paper51.com 1.2 数据库系统简介 5 copyright paper51.com 1.3 本应用软件的基本介绍 7 内容来自www.paper51.com 2 本应用程序的构成和开发步骤 9 copyright paper51.com
2.1可行性研究 10 http://www.paper51.com 2.1.1 经济可行性 11 copyright paper51.com
2.1.2 时间可行性 12 paper51.com
2.1.3 技术可行性 13 http://www.paper51.com 2.1.4 社会可行性 14 paper51.com
2.2 数据库的建立和连接 15 copyright paper51.com 2.3 系统的总体设计 17 内容来自www.paper51.com
3 本程序的技术实现及具体功能 21 内容来自www.paper51.com 3.1 登录的界面与程序设计实现 24 http://www.paper51.com 3.2 成本界面与代码设计实现30 paper51.com 3.3 气球服务知界面与代码设计实现现45 http://www.paper51.com 3.4 气象信息界面与代码设计47 http://www.paper51.com 3.5 主界面设计与代码设计 55 http://www.paper51.com 结 论 60 http://www.paper51.com
致 谢 61 内容来自www.paper51.com 参 考 文 献 62 内容来自www.paper51.com 引 言 copyright paper51.com
随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。以前开发Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。现在不同了,即使你没有接受过严格的程序设计训练,使用Delphi编程语言也一样能够开发出功能强大、适合自己特殊需求的应用程序了。Delphi编程语言继承了其他语言易学易用的特点,特别适合于初学者学习Windows系统编程。 气象服务业务系统是气象事业相关管理人员日常工作的调度、安排、计划。气象预报、气象信息咨询等提供充足的信息和快捷的查询手段.其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。货运管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 Delphi编程语言开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 paper51.com 因为本人能力有限,加上时间紧迫,所以设计出来的本系统可能功能比较简单,另外本系统是单机版,不能实现网络互联操作,这些都有待于我在以后的工作学习中进一步改进。 copyright paper51.com 1.1 Delphi简介 http://www.paper51.com 1.1 Delphi简介 paper51.com Delphi是Inprise公司出品的一个优秀的可视化程序开发工具软件,它短小精悍,但功能却可以与庞大的visual c++媲美。它易学易用,如同VB,因而被称为“第四代编程语言”。 内容来自www.paper51.com 从1995年推出Delphi1.0至今已经经历了7个版本,Delphi7.0运行在win9x或winme,win2000,winxp,windowsNT等操作系统下,是一个32位的应用程序开发工具。这里把“VB”比作是傻瓜相机,Delphi是带有自动功能的专业相机。前些年,软件界流行一句话叫“真正的程序员用VC,聪明的程序员用Delphi”。也有的把Delphi称作VB杀手。 paper51.com 1.2 数据库系统简介 copyright paper51.com
数据库系统是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。 内容来自论文无忧网 www.paper51.com 数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。 数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。数据库系统的出现是计算机应用的一个里程碑,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现对任意部分数据的快速访问,就要研究许多优化技术。这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使的计算机走出科研机构进入各行各业、进入家庭。 copyright paper51.com
1.3 本应用软件的基本介绍 copyright paper51.com 本应用软件先是打开一个启动窗口,就可以进入应用程序的主窗口了。主界面是一个图型界面窗口,整个平台显示采用人性化方式,可以非常方便的系统管理、字典维护、抄表,报表管理等基本信息,管理日常经营的基本情况,通过各种条件查询出水电管理的基本信息,以及打印出查询出的基本信息,总之一切水电管理基本信息都会显示在系统平台上,大大提高了管理人员的工作效率。 内容来自www.paper51.com 2 本应用程序的构成和开发步骤 内容来自论文无忧网 www.paper51.com
下面从软件工程的角度介绍本程序的基本开发步骤。Delphi 应用程序一般包含以下三个基本部分: 应用程序运行的接口:负责系统整体环境的设置,运行状态的监视,应用程序的启动等。 应用程序的主体:主要完成用户的业务逻辑功能,如系统参数配置,字典维护,抄表,报表生成.等信息. 内容来自www.paper51.com 应用程序的辅助部分:协助程序主体完成的一些工作。下面从软件工程的角度描述本程序的开发生命周期,开发过程和组织过程。 copyright paper51.com 2.1 可行性研究 内容来自论文无忧网 www.paper51.com 任何一个系统或一项工程,在建立之前,必须首选进行可行性分析,可行性分析包括两层含义,一是可能性,二是必要性。可能性指开发信息系统的条件是否具备,必要性是指客观上是否真正需要,通过可行性研究,可避免盲目投资,减少政治性要的损失。下面从四方面来讨论: 内容来自论文无忧网 www.paper51.com 2.1.1 经济可行性 内容来自论文无忧网 www.paper51.com
主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利。本系统所需的软硬件成本比较低,投资小,具有一定的通过性,因此 ,在经济上是可行的。 http://www.paper51.com 2.1.2 时间可行性 内容来自www.paper51.com
主要包括系统在目前环境下能否正常运行,运行后所引起的各方面,以及这些变化对社会或人的因素所产生的影响。本系统对人事的管理比较全面,可长期使用。 copyright paper51.com 2.1.3 技术可行性 paper51.com 利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中需要考虑的一个问题。关系型数据库的高速发展使管理信息系统具备了良好的开发环境。本系统使用的Delphi 普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的。 http://www.paper51.com
2.1.4 社会可行性 内容来自www.paper51.com 人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要。开发本系统的目标不仅是提高工作效率,减轻劳动强度,而且减少出错率,具有很好的社会意义。 内容来自www.paper51.com
2.2 数据库的建立和连接 copyright paper51.com
这个程序采用的数据库是SQL,Delphi作为数据库的前台开发工具,必须与后台数据库进行连接,这样才能控制和进行操作数据库,数据库的连接方式有两种,ODBC和ADO。 paper51.com ODBC是数据库的通用接口,其缺点是效率低;专用接口调用直接速度快,但是通用性差,如果用ODBC连接数据库一般要两个步骤:1.要创建数据源;2.创建描述文件。数据库的建立则时在SQL中建立的,在这里你可以设置数据库的密码,对数据库进行保护。在创建数据源时可以通过BDE administrator进行创建,也可以通过系统控制面板中的ODBC数据源进行建立。而描述文件则可以在Delphi的主程序中用Database Profile中进行建立,之后进行数据库的连接。接下来的工作是建表。同样建表的过程也不是唯一的,但是最终实现的结果是唯一的。你可以通过Access进行建表,也可以通过在 delphi 主程序中建表,也可以通过powerdesigner进行可视化的建立,不过用这种方法,在导入的时候要把数据库要先断开,否则数据库的数据容易丢失。建表的过程注意规范化命名规则,如表的字段名等等。同时也要注意表的字段长度和可否为空。因为以后要设计到主键,外键的问题。如果字段名不同,同一字段长度不同则主键和外键将会连接不上。可见建表时应做好全局的打算。我在程序开发的初期,同样犯了这个错误,导致数据库出错,有时还要向表中新加入字段。导致数据窗口不好用的连锁反映。 paper51.com 2.3 系统的总体设计 内容来自论文无忧网 www.paper51.com 这个管理系统从4月1日开始着手设计开发,经过一段时间的分析,并根据对水电管理的具体要求及需要本软件实现的功能,将本软件分为5个大的模块,分别是:第一部分:系统管理;第二部分:服务业务信息;第三部分:条件查询; 第四部分:财务业务管理; 内容来自www.paper51.com
程序流程图如下: http://www.paper51.com
copyright paper51.com
3 本程序的技术实现及具体功能 copyright paper51.com
3.1 登录的界面与程序设计实现 内容来自www.paper51.com
copyright paper51.com unit UlogIn; http://www.paper51.com interface http://www.paper51.com uses http://www.paper51.com Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms, http://www.paper51.com Dialogs, StdCtrls, jpeg, ExtCtrls, Buttons; 内容来自论文无忧网 www.paper51.com type 内容来自www.paper51.com TfrmLogIn = class(TForm) 内容来自www.paper51.com Image1: TImage; paper51.com
Bevel1: TBevel; http://www.paper51.com Label1: TLabel; http://www.paper51.com ComboBox1: TComboBox; copyright paper51.com Label2: TLabel; 内容来自论文无忧网 www.paper51.com Label3: TLabel; 内容来自论文无忧网 www.paper51.com
Edit2: TEdit; paper51.com
Bevel2: TBevel; copyright paper51.com Bevel3: TBevel; http://www.paper51.com bbtnOK:TBitBtn; 内容来自www.paper51.com bbtnCancel:TBitBtn; 内容来自论文无忧网 www.paper51.com ComboBox2: TComboBox; http://www.paper51.com
procedurebbtnCancelClick(Sender: TObject); 内容来自www.paper51.com
procedureComboBox1DropDown(Sender: TObject); http://www.paper51.com procedurebbtnOKClick(Sender: TObject); paper51.com
procedureComboBox2DropDown(Sender: TObject); copyright paper51.com private copyright paper51.com { Privatedeclarations } paper51.com public 内容来自www.paper51.com { Publicdeclarations } paper51.com
end; copyright paper51.com var 内容来自www.paper51.com frmLogIn: TfrmLogIn; paper51.com LogTimes:Integer=0; paper51.com DeptName:string; paper51.com
LogInTime:TDateTime; 内容来自www.paper51.com UserName:string; paper51.com implementation paper51.com uses Umain, MyData, UtodayWork; 内容来自论文无忧网 www.paper51.com
{$R *.dfm} copyright paper51.com
procedure TfrmLogIn.bbtnCancelClick(Sender: TObject); http://www.paper51.com
begin http://www.paper51.com Application.Terminate; paper51.com end; http://www.paper51.com procedure TfrmLogIn.ComboBox1DropDown(Sender: TObject); 内容来自论文无忧网 www.paper51.com
begin paper51.com
ComboBox1.Items.Clear; http://www.paper51.com with dm.AQDept do 内容来自www.paper51.com begin http://www.paper51.com
close; paper51.com sql.Clear; paper51.com
sql.Add('select distinct department from Users'); 内容来自www.paper51.com open; copyright paper51.com first; 内容来自论文无忧网 www.paper51.com while not dm.AQDept.Eof do paper51.com begin 内容来自论文无忧网 www.paper51.com
ComboBox1.Items.Add(dm.AQDept.FieldValues['department']); http://www.paper51.com dm.AQDept.Next; paper51.com end; paper51.com end; copyright paper51.com end; 内容来自论文无忧网 www.paper51.com procedure TfrmLogIn.bbtnOKClick(Sender: TObject); 内容来自www.paper51.com begin paper51.com
if Edit2.Text='' then copyright paper51.com begin http://www.paper51.com
ShowMessage('用户密码不能为空!'); http://www.paper51.com Exit; 内容来自论文无忧网 www.paper51.com end; 内容来自www.paper51.com with dm.AQDept do 内容来自www.paper51.com begin 内容来自www.paper51.com close; paper51.com sql.Clear; 内容来自www.paper51.com sql.Add('select* from Users where Department='''+Trim(ComboBox1.Text)+'''andUserName='''+Trim(ComboBox2.Text)+''' andPWD='''+frmMain.Encrypt(Trim(Edit2.Text))+''''); http://www.paper51.com open; copyright paper51.com end; paper51.com if dm.AQDept.Eof then 内容来自论文无忧网 www.paper51.com
begin 内容来自www.paper51.com LogTimes:=LogTimes+1; 内容来自www.paper51.com if LogTimes<3 then paper51.com begin 内容来自论文无忧网 www.paper51.com
MessageBox(handle,pchar('密码第'+IntToStr(LogTimes)+'次错误,请重新输入!'),'密码错误',MB_OK OR MB_ICONERROR); paper51.com
Edit2.Text:=''; paper51.com Edit2.SetFocus; 内容来自www.paper51.com
end 内容来自论文无忧网 www.paper51.com else paper51.com begin http://www.paper51.com MessageBox(handle,'密码错误三次程序将关闭!','密码错误',MB_ICONERROR); 内容来自www.paper51.com
Application.Terminate; 内容来自论文无忧网 www.paper51.com end; http://www.paper51.com end http://www.paper51.com
else if dm.AQDept.RecordCount<>0 then 内容来自www.paper51.com begin copyright paper51.com DeptName:=Trim(ComboBox1.Text); 内容来自www.paper51.com UserName:=Trim(ComboBox2.Text); copyright paper51.com LogInTime:=Now; 内容来自论文无忧网 www.paper51.com self.Close; paper51.com end; http://www.paper51.com
end; paper51.com |