第13章使用Delphi开发SQLServer应用程序Delphi的开发环境Delphi应用程序的开发过程Delphi数据库应用程序的实现13.1Delphi概述13.2Delphi应用程序举例分析13.3Delphi应用程序的开发13.4Delphi应用程序的实现13.1Delphi概述13.1.1Delphi的特点Delphi7是一个针对Windows平台上的跨平台(Windows、Linux)快速开发(RAD)环境,完全支持新近出现的Web服务标准,并且整合了模型驱动的开发方式,同时该套件向开发者提供了对Microsoft.NET框架初步支持。Delphi实际上是一个ObjectPascal的编译器,它提供了一个强大的可视化开发环境,并提供了大量的组件,组件是Delphi中开发应用程序的基础,是建立应用程序界面所必须的基本元素。在Delphi中组件分成两个大类:可视组件与非可视组件。Delphi将所有的组件都封装在对应的类中,如Edit和ComboBox组件的对应类名是TEdit和TComboBox。对象是类的实例化,即相当于是某一个类的变量。因此Delphi中的所有组件都具有对象的所有特性:封装、继承性和多态性等。Delphi中的对象由三个部分组成:属性(Property)、方法(Method)和事件(Event)第13章Delphi13.1.2Delphi的开发环境启动Delphi7主程序,进入图13-1所示的可视化开发环境。它有以下五部分组成。第13章Delphi主界面对象管理窗口对象监视器代码编辑器窗口窗体(Form)快捷按钮栏组件面板13.1.2Delphi的开发环境1.Delphi主界面(MainWindows)主界面位于屏幕的上部,包括主菜单(MainMenu)、快捷按钮栏(SpeedBar)和组件面板(ComponentPanel)。2.对象管理窗口(ObjectTreeView)对象管理窗口中显示出当前窗体的一棵对象树,用于描述当前窗体中的各个对象及对象之间的层次关系,第13章Delphi13.1.2Delphi的开发环境3.对象监视器(ObjectInspector)默认情况下,对象监视器位于屏幕左边的下方。它的功能是编辑和管理一个对象的各项属性并为组件设置事件响应处理程序。对象监视器包含两部分。位于顶部的是一个下拉式组合框(简称对象列表框),该组合框中包含当前窗体中的所有对象,用户可以通过组合框右边的下拉按钮,从组合框中选择一个对象作为当前对象。顶部下拉式组合框的下面是一个具有Properties(属性)和Events(事件)两个选项卡的多选项卡,分别显示当前对象的属性和事件设置情况。Properties页列出了当前被选择对象的设计期属性,如图13-1所示。它分成左右两个部分,左边是属性名,右边是该属性对应的当前值。Events页列出了该对象所有可能发生的事件。它也分成左右两个部分,左边是事件名,右边是该事件处理程序的名字,开始时右边都是空的。第13章Delphi13.1.2Delphi的开发环境4.窗体(Form)Form窗体是应用程序开发时使用最多的一个工作区域。程序中的所有用户界面(即人机接口)均是在这里完成的,因此Form是程序开发阶段的主要战场。从开始菜单启动Delphi时,系统将自动生成一个名为ProjectX.dpr的工程项目,并将一个空白窗体Form1作为该项目的主窗口显示在用户的眼前;而从一个项目文件启动Delphi时,则用户看到的是该工程项目中的主窗口(MainForm)。窗体是一个可以放置其它组件的一个容器。设计时用户将组件面板中的若干个组件,按程序设计的要求,将它们放置在窗体的合适位置。也可以使用鼠标将它们拖动到一个合适位置并随心所欲地改变它们的大小。一个应用程序可以拥有一个以上的窗体,但只能有一个主窗体,用户可以根据程序执行的需要按一定的显示方式显示应用程序中的不同窗体,以满足实际的需求。第13章Delphi13.1.2Delphi的开发环境5.代码编辑器(CodeEditor)窗口代码编辑器是编写程序代码的场所,图13-1中在窗口Form1后面标有Unit1.PAS的窗口就是代码编辑器窗口。当用户在窗体中添加组件时,Delphi会自动地生成该组件所需的用户界面代码,用户需做的仅仅是在Delphi生成的代码框架中的适当位置加入完成所需功能的程序代码即可,如程序中所使用到的常量、变量、过程和函数等就在代码编辑窗口中定义和使用。可以通过“ToggleForm/Unit”快捷按钮在Form窗体和该Form所对应的Unit单元代码窗口之间进行切换。代码编辑器窗口中显示的是当前的单元文件,该文件的名字显示在编辑器的标题栏中,如图中的Unit1.pas。当应用程序中含有一个以上的窗体或单元时,可以通过ViewUnit快捷按钮将指定的单元文件显示在代码编辑器窗口中,供用户编辑和修改。第13章Delphi13.2Delphi应用程序举例分析13.2.1功能总体设计为了实现学校教务管理系统,需要实现以下主要功能:l基础信息的数据维护:包括系信息、专业信息、班级信息、学生信息、教师信息、课程类别和课程信息的添加、修改和删除工作。l根据每个专业的教学计划,将每个专业在不同学期的课程计划添加到专业课程设置信息表中。l根据每个专业的教学计划,制定每个学期每个班级的课程表。l根据课程计划,输入学生每个学期每门课程的成绩。l允许根据班级或学生个人查询每个学期的成绩,根据班级统计每个班每学期的成绩排名,并实现以上数据的报表输出。l用户密码的维护。第13章Delphi13.2.2功能模块的设计第13章Delphi学校教务管理系统用户登录模块数据模块学校教务管理系统主模块专业信息维护模块课程信息维护模块专业计划维护模块学生成绩维护模块学生成绩单模块成绩查询统计模块用户密码维护模块系信息维护模块教师信息维护模块学生信息维护模块班级信息维护模块课程类别维护模块13.2.2功能模块的设计第13章Delphi图13-3图13-4图13-513.3Delphi应用程序的开发第13章Delphi13.3.1Delphi应用程序的组成Delphi使用工程来管理应用程序中的各种文件。Delphi的应用程序由工程文件、窗体文件及对应的单元文件、选项配置文件和资源文件等组成。应用程序创建后,这些文件就已经存在指定的目录中。Delphi应用程序中的文件有以下几种:1.工程文件(DelphiProjectFile)工程文件是一个特殊的单元文件,由Delphi统一管理,一般读者不必关心,但对于需要深入学习Delphi的读者,工程文件是相当重要的,工程文件的扩展名为.dpr。工程文件用来初始化系统环境、建立应用程序主窗口和实例化其它窗口。第13章Delphi13.3Delphi应用程序的开发第13章Delphi2.单元文件(UnitFile)工程文件中的代码仅仅是针对应用程序的,因此该文件往往很短,而程序中极大多数的功能均是在其它单元文件中实现的,在工程文件中只要引用这些单元文件即可,这样可以将一个大的应用程序分解成若干个模块(即单元),再由工程文件将这些模块组合在一起而成为一个整体。这种模块化的设计使程序更为清晰且易于今后的维护。单元文件由单元文件首部、接口部分(interface)、实现部分(implementation)、可选的初始化部分(Initialization)、结束部分(finalization)和End.共同组成。13.3Delphi应用程序的开发第13章Delphi3.窗体文件(FormFile)窗体文件存储有关该窗体中对象的信息,它是一个二进制文件,窗体文件的扩展名为“.dfm”。每个窗体文件都有一个与之相对应的单元文件,如有一个UnitStudent.dfm窗体文件,就存在一个名为UnitStudent.pas的单元文件。为方便用户,Delphi中提供了允许以文本格式观察窗体文件的功能。用鼠标右击窗体的空白位置,在弹出的快捷菜单中选择“ViewAsText”命令,系统将显示所在窗体的窗体文件内容,用户可以在该界面上修改窗体上各个对象的有关设置。再用鼠标右击窗体文件的文本区域,在弹出的快捷菜单中选择“ViewAsForm”命令,又切换到Form状态。13.3Delphi应用程序的开发第13章Delphi4.资源文件(ResourceFile)该文件由Delphi在创建应用程序时自动建立,用于存放与应用程序有关的主题(Title)、应用程序图标和版本等信息。资源文件的基本文件名与应用程序的工程相同,扩展名为“.res”,是一个二进制文件。5.工程选项文件(DelphiOptionsFile)该文件由Delphi在创建应用程序时自动建立,用于存放与应用程序有关的工程选项等信息。工程选项文件的基本文件名与应用程序的工程相同,扩展名为“.dof”,是一个文本文件。6.编译指令配置文件该文件由Delphi在创建应用程序时自动建立,用于存放与应用程序有关的编译指令的设置信息。编译指令配置文件的基本文件名与应用程序的工程相同,扩展名为“.cfg”,是一个文本文件。13.3Delphi应用程序的开发第13章Delphi7.备份文件当生成的工程文件、单元文件和窗体文件修改后,系统自动将原文件做一个备份。备份文件的基本文件名与原文件相同,而扩展名改为“.~dpr”、“.~pas”和“.~dfm”。应用程序编译连接后,又会自动生成:⑴程序可执行文件应用程序经过编译连接后最后生成的可执行文件。⑵单元目标文件每个单元文件经过编译后生成一个对应的单元目标文件,该单元目标文件被链接到最后生成的可执行文件中。单元目标文件的扩展名为“.dcu”。⑶动态连接库文件当用户指定要将该应用程序生成动态连接库时,那么就生成该文件。动态连接库文件的扩展名为“.dll”。13.3Delphi应用程序的开发第13章Delphi7.备份文件当生成的工程文件、单元文件和窗体文件修改后,系统自动将原文件做一个备份。备份文件的基本文件名与原文件相同,而扩展名改为“.~dpr”、“.~pas”和“.~dfm”。应用程序编译连接后,又会自动生成:⑴程序可执行文件应用程序经过编译连接后最后生成的可执行文件。⑵单元目标文件每个单元文件经过编译后生成一个对应的单元目标文件,该单元目标文件被链接到最后生成的可执行文件中。单元目标文件的扩展名为“.dcu”。⑶动态连接库文件当用户指定要将该应用程序生成动态连接库时,那么就生成该文件。动态连接库文件的扩展名为“.dll”。13.3.2工程管理第13章Delphi1.使用工程管理器(ProjectManager)一般一个工程中包含若干个窗体及单元文件,为了有效地管理工程中的各种不同文件,可以使用Delphi提供的工程管理器来管理。2.工程选项设置Delphi为每个工程创建了一个工程选项文件,用于保存与该工程相关的参数。工程文件的基本文件名与工程名相同,扩展名为“.dof”。可以利用“ProjectOptions”工程选项对话框修改工程中的选项,以符合应用程序的需要。13.3.3Delphi应用程序的开发过程第13章DelphiDelphi应用程序的开发过程一般分为以下几个步骤:1.创建新的应用程序当用户启动Delphi后,系统就自动创建了一个新的应用程序,它只有一个空白的Form1窗体。用户可以直接在该空白的窗体中开始一个应用程序设计之旅,也可以执行主菜单的“New”→“Application”命令来建立一个新的工程。2.向应用程序添加窗体Windows应用程序是由若干个窗体组成的。一个应用程序可以根据需要拥有多个窗体,当多于1个窗体时,就需为应用程序添加窗体。单击快捷按钮“NewForm”,可以快速地为当前应用程序添加一个新的空白窗体。3.设计窗体窗体创建完成后,就需要根据程序的设计要求向窗体中加入需要的组件。13.3.3Delphi应用程序的开发过程第13章Delphi4.设置对象属性通过对象属性的修