《第1章Delphi基础知识ppt课件全》由会员分享,可在线阅读,更多相关《第1章Delphi基础知识ppt课件全(72页珍藏版)》请在金锄头文库上搜索。
1、第1章 Delphi 基础知识Delphi 是快速应用软件开发工具RAD(Rapid Application Development)。Delphi使用了当今世界上最为先进的很多程序开发思想,使用Delphi开发软件无疑会大大提高软件开发的效率。Delphi 2005是针对微软公司Framework技术而开发的,其目的是为了使Delphi开发者能够轻松使用多种语言(如C#语言和Pascal语言)开发.NET应用。从1995年到现在,Delphi经历了多代发展历程,本书采用较新版本Delphi 2005作为开发平台。1.1 Delphi 2005简介Delphi 2005是Windows系统下的
2、可视化集成开发工具,它提供了强大的可视化组件VCL(Visual Component Library)功能,使程序员可以快速、高效地开发出Windows系统下的应用程序。和其它软件开发工具相比Delphi在网络编程、数据库编程、程序界面方面更胜一筹,而且增加了对Linux平台下应用程序开发的更强大的支持。Delphi 2005使用的语言是Object Pascal语言,但是它已经支持win 32和.NET框架了。 1.1.1 Delphi的特点和优点1可视化的集成开发环境Delphi提供了可视化的集成开发环境IDE(Integrated Development Environment)。可视化
3、环境是指用户在设计程序界面的时候,无需为程序界面编写代码,只需要将相应的组件添加到窗体上,调节其大小和位置即可,Delphi会自动生成相应的代码。Delphi的集成开发环境不仅可以非常方便地设计出用户的程序界面,而且程序的界面设计、属性设置、代码编写、程序调试、运行、生成可执行文件等等操作都可以在这个集成开发环境中进行,使得软件设计变得一种非常快捷、高效。2真正的面向对象面向对象的程序设计OOP(Object Oriented Programming)是Delphi诞生的基础。像Visual Basic这样的语言是伪面向对象的,它不支持封装、继承性和多态性等面向对象的技术。相对于Visual
4、Basic等语言而言Delphi是完全的面向对象的程序设计。它以Pascal语言为基础,通过将常用功能封装为组件或者类,获得了极高的程序开发效率。3可扩充的VCL库VCL(Visual Component Library)组件库是Delphi的重要的组成部分。Delphi提供了丰富的组件库,这些组件是程序开发强有力的工具。Delphi的VCL组件库具有良好的可扩充性,它允许程序使用第三方组件,用户将第三方组件添加到Delphi中,然后就可以像使用自带的VCL组件一样方便地使用这些组件了。4高效的、完全的编译器许多Windows应用开发工具采用不完全编译或者生成伪代码。伪代码是机器不可执行代码,
5、它必须在运行时翻译成可执行代码,这就大大降低了系统的性能。Pascal编译器以编译速度快而著名,Delphi正是建立在此基础之上的,Delphi的编译速度是其它开发工具无法比拟的。Delphi使用的是完全编译器和连接器,产生100%的本地可执行代码。 5强大的数据库开发功能Delphi提供了DataBase Desktop和BDE Administrator等工具,使得利用Delphi开发数据库应用程序变得非常容易。提供访问Inter Base、Oracle、SQL Server、Sybase、Infomix和DB2数据库服务器的SQL Links BDE驱动器,并且允许无限制地分发这些驱动程
6、序。SQL数据库浏览器可以浏览和编辑特定服务器的数据。图形化查询建立工具SQL Builder具有较强的数据处理和转换输出能力。SQL监视器可以监视与SQL服务器的通信,从而可以调整SQL应用程序的性能。6支持分布式数据库开发Delphi支持多种分布式模式的开发,从简单的消息通信程序到庞大的多层次应用。在Delphi中可以方便地建立客户机服务器结构的二层分布式应用,还可以方便地建立客户机应用服务器数据库服务器结构的多层分布式应用程序。7Web技术扩展Delphi 从AtoZed软件公司引入了IntraWeb技术,IntraWeb类组件可以使用户以窗体工具的形式使用IntraWeb技术来设计We
7、b Broker,Web Snap以及Web服务器应用程序。Delphi还支持Apache 2 Web服务器作为Web Broker、Web Snap和SOAP的目标环境。8.对开发Linux平台应用程序更强大的支持Inprise 公司最新的Linux 平台上的RAD工具Kylix是Delphi的Linux版。从集成开发环境上比较,Kylix与Delphi最大的区别在于Kylix采用的是支持跨平台的CLX组件库,而Delphi采用的是VCL类库,CLX与VCL有很多相似之处,但CLX不仅是一个可视化组件库,更是一个跨平台的组件库。Kylix上所使用的支持跨平台的CLX组件库是基于Qt的,而De
8、lphi采用的VCL类库是基于Win 32 API的。Borland公司称,在下一个Delphi版本中,将会同时支持CLX和VCL,就是说Delphi开发的应用程序只需要进行必要的修改就可以移植到Linux平台上。9支持.NET技术Delphi 2005支持ASP.NET技术和ADO.NET技术。用户使用Delphi 2005可以非常方便地开发出Web Application和Web Services程序,还可以开发出ADO.NET数据库应用程序。1.1.2 对象的一些基本概念在面向对象的编程(OOP)中对象是一个比较时髦的词汇,使用非常频繁。和Visual Basic等语言相比,Delphi
9、是真正的面向对象的程序设计语言。那么什么是对象呢?我们可以把对象理解成为一种编程结构,这种编程结构将数据和函数封装成一个单元,而外界可以通过对象的接口(对象的属性、方法和事件)来访问对象。在本节,将主要讲述对象、属性、方法和事件。1类和对象对象(Object)和类(Class)是在面向对象的编程中经常使用到的概念。类是对象的抽象和概括,而对象则是类的一个实例。比如说人类就是一个类,而张三则是一个具体的实例,张三就是一个对象。人类就是对很多人的一个抽象。如果把类细分还可以分为基类、派生类等等。比如人类可以分为黄色人种、黑色人种、白色人种和棕色人种等等。那么各个人种又可以看成是不同的几个类。这些类
10、是人类的派生类,它们具有人类这个类的一些特性(属性),也就是说这些类继承了人类这个类的属性、方法和事件。张三是黄色人种这个类的一个实例,张三是一个具体的对象。Tom是白色人种的一个实例,Tom也是一个对象。每个类都有自己的属性、方法和事件。Delphi中的对象有标签、按钮、列表框、图像框等等。2对象的属性属性(Property)是用来描述对象的。比如对象的高度、宽度、颜色、位置等等。属性的表现形式为数据。比如说张三的高度为172厘米,张三的体重为65千克,张三的皮肤颜色为黄色等等。我们可以这样来表示:张三.高度:=172;张三.体重:=65;张三.皮肤颜色:=黄色;一般来说给一个对象的属性赋值
11、的格式为:对象.属性:=属性值(或者是表达式);我们以Delphi中的对象为例来说说如何为对象的属性赋值。例如,设置标签Label1的显示内容为属性举例。标签Label1是对象,标签有一个属性是Caption,表示在标签上要显示的内容。因此,我们可以这样设置属性:Label1.Caption:=属性举例;在Delphi集成环境中,当用户输入对象的名称Label1后,打一个点号,则系统马上弹出一个下拉列表框,在这个下拉列表框中显示了Label这个类的所有属性和方法等内容。用户只需要在里面选择即可,非常方便。Delphi中常见的属性有Caption(标题)、Name(名称)、Font(字体)等等。
12、请看下例:Label1.Caption:= 聪明的程序员使用Delphi。;Label1.Font.Size:=10;Label1.Font.Name:= 隶书;3对象的方法方法(Method)是封装在对象中的一段代码,用来实现预先规定好了的功能。方法是对象能够执行的动作,它由Delphi内部定义,用户不用编写代码即可实现某种功能,如Show(显示)、Move(移动)、Line(划线)。不同的对象有自己的方法集合。在程序中调用方法的语法为:对象.方法(方法需要的参数);例如我们以一个Delphi对象为例,调用编辑框的方法SetFocus让编辑框得到焦点。代码为:Edit1.SetFocus;4
13、对象的事件事件(Event)是作用在对象上,并且能够被对象识别的动作。用户不能建立新的事件,为此Delphi提供了大量的事件,以满足程序员的需要。比如,用鼠标点击命令按钮,命令按钮能够识别这个动作,并且,程序会立即去执行存放在命令按钮的单击事件过程里面的代码,这样就完成了用户和程序之间的交互。在面向过程的程序设计中,程序是按照预先设置好的顺序执行的。这就意味着程序与用户之间的交互相当有限。在面向对象的程序设计中引入了一个新的概念,也就是事件驱动机制。程序的执行不再按照某个固定不变的顺序进行。程序代码放在事件过程(Event Procedure)中。一个事件发生后,程序会自动执行对应的事件过程。
14、 事件的触发就是事件是怎样发生的。事件的触发有以下4种方式:(1)用户通过交互方式触发事件。比如,用户单击命令按钮就触发了命令按钮的单击事件。(2)时间触发。在Delphi中有一个组件Timer,它有一个属性Interval,这个组件能够每隔Interval毫秒自动触发OnTimer事件。(3)系统触发。例如,OnCreate事件在窗体加载到内存的时候自动发生。OnClose事件在窗体从内存中卸载的时候自动触发。(4)可以用代码调用使事件发生。例如执行form1.Close;语句后程序自动触发Onclose事件关闭窗体。1.2 Delphi 2005集成开发环境Delphi的集成开发环境IDE
15、(Integrated Development Environment)是设计程序界面、编写程序代码、调试程序、生成可执行文件的软件环境。Delphi 2005的集成开发环境使得开发Delphi应用程序变得非常方便。1.2.1 Delphi集成开发环境组成Delphi集成开发环境由多个部分构成:主窗口、窗体设计器、对象查看器、结构浏览器、组件栏、代码编辑器等构成,如图11所示。代码编辑器没有显示出来,双击窗体设计器可以进入代码编辑器。集成开发环境的各个部分是一个有机体,它们协同工作。图11 Delphi 2005集成开发环境1Delphi主窗口Delphi 主窗口是Delphi集成开发环境的控
16、制中心,它具有Windows应用程序的风格,Delphi主窗口包括3个部分:标题栏、主菜单和工具栏。(1)主菜单主菜单提供了所有进行程序开发所需要的命令和功能,包括创建、打开、保存各种类型的文件、编辑程序、视图查看、修改选项等功能。Delphi共有11个主菜单项,参见表11所示。2Delphi窗体设计器Delphi窗体设计器是设计应用程序界面的工作区域,运行时程序界面完全与设计时的界面一样。系统自动产生用户界面代码,用户只需要完成相应功能的程序段。窗体在运行时称之为窗口,一般来说一个应用程序不止一个窗口。窗口是由标题栏、工作区构成。标题栏给出窗体的标题,右边还有控制按钮,用于在运行期间关闭、最
17、大化、最小化窗口。工作区是添加组件的位置,工作区上有栅格(Grids),用于组件对齐使用,栅格的密度可以调节,在运行期间栅格式不可见的。3对象查看器(Object Inspector)利用对象查看器可以设置窗体中各个组件以及窗体的属性,或者使各个组件或窗体响应不同的事件。选择菜单“View | Object Inspector”命令可以显示对象查看器。属性(Property)是对象的一些数据,用于描述对象的颜色、大小、字体等等。事件(Event)是一种消息处理机制,它能够捕捉某种动作并做出一些响应。例如鼠标单击事件、鼠标移动事件、窗体改变大小事件等等。(1)Properties页(属性页)Pr
18、operties页用于在设计时查看或者修改对象的相关属性。对象的属性可以在程序运行时通过代码改变,也可以在Properties页中改变,也就是程序运行前设置初始值。根据属性类型的不同,可以采用不同的属性设置方法,如下给出了属性设置的不同方法。属性为数值类型或者字符串类型。只需要直接输入属性值即可,例如Name、Caption属性就可以直接在属性右边的编辑框中直接输入属性值。属性为布尔型或者枚举型。选择该属性,在该属性右边的组合框中选择适当的属性值即可,例如Label的Visible属性,BitBtn的Kind属性就属于这种类型。通过对话框设置属性。有些属性的右边有按钮,单击该按钮出现对话框,在
19、对话框中可以设置该对象的属性值,例如Font、Picture、Items、Glyph等属性就是通过这种方法设置的。直接调节对象的大小和位置也可以设置对象的部分属性,例如Left、Top、Width和Height等等。子属性设置。有的属性还有子属性。例如Font,它的左边有一个符号,单击该符号则变成号,同时Font的子属性被展开,此时用户可以设置其子属性Color、Name、Size等等。 属性为集合类型。单击该属性左边的符号,该号变成号,然后再设置该属性的集合元素。例如Anchors就属于这种类型。(2)Events页(事件页)在Events页面中可以设置对象或者窗体的响应事件。不同对象预置了
20、不同的一些事件,例如OnClick、OnActivate、OnKeyPress等等。在编写程序的时候要为某些预置的事件编写响应的代码程序。4结构浏览器(Structrue)结构浏览器以树状结构的形式显示窗体中各个组件之间的逻辑关系。结构浏览器和对象查看器是同步协调工作的。在设置属性或者编写事件过程的时候,可以在结构浏览器选择好某个对象,然后再在对象查看器中设置属性或者编写事件过程,这样远比直接在对象查看器的对象组合框中选择对象方便。结构浏览器如图14所示。如果结构浏览器树被关闭,选择菜单“View | Structure”可以显示结构浏览器。5代码编辑器代码编辑器是程序代码输入和编辑的工具,尽
21、管可视化编程技术自动生成了一些代码,但是用户仍然有很多代码需要手工完成,因此代码编写仍然是程序设计的核心工作。Delphi的代码编辑器是一个功能强大、使用方便的代码编写工具。(1)代码编辑器的组成代码编辑器是一个多页的文本编辑器。有时候应用程序由几个窗体构成,此时单元就不止一个。通过选项卡可以选择不同的页面,每个页面就是一个单元文件。代码编辑器的标题显示单元文件名。如图15所示为代码编辑器。代码模板功能:代码模板用于提供语句模板以帮助代码编写。例如用户输入“for”,然后按“CtrlJ”,系统自动显示for循环语句的语法供用户参考防止代码出错。如图18所示为代码模板功能。左图列表框给出for语
22、句的两种格式,第一种是带begin和end的格式,第二种是不带begin和end的格式,右图是选择第一种for循环格式,并按回车键后显示的for语句格式。图18代码模板功能6组件栏组件栏是建立Delphi应用程序的要素,Delphi 2005提供了丰富的组件库,并将这些组件按照功能分类并显示在不同的选项卡中。常见的选项卡如图110所示。单击每个组件选项卡左边的“”号就可以展开该组件选项卡,并显示该组件选项卡中的所有组件供用户选用。如图111为展开后的Standard组件选项卡。使用组件栏右上角的两个图标可以在多个组件中进行切换。【例11】编制一个简单的Win32应用程序。通过本程序读者可以初步
23、了解Delphi集成环境的使用方法。说明:本程序保存在“d:delphi2005ch1eg11”文件夹中,以后的程序也保存在相应的文件夹中。请读者在编写Delphi程序的时候养成新建文件夹的习惯,本书中,编写程序前新建文件夹这一步骤一律省略。 步骤如下:(1)选择菜单“File”“New”“VCL Forms ApplicationDelphi for Win32”。在窗体上添加按钮Button1和标签Label1,调节好窗体Form1、Button1和Label1的大小和位置。(2)设置Button1的Caption属性为“确定”。界面如图112所示。(3)编写代码,选中Button1,此时
24、在Events中显示的是Button1对象,在对象查看器中选中Events页,并找到OnClick事件,用鼠标双击右边空白栏,如图113所示。此时打开代码编辑器,系统自动在窗体Form1的单元Unit1的Interface(接口)部分插入该过程的声明,同时在Implementation(实现)部分插入该过程的框架。如图113所示。图113 在代码编辑器中输入事件过程(4)在事件过程框架中也就是在Begin和End之间(光标所在处)输入代码:procedure TForm1.Button1Click(Sender: TObject);begin label1.Caption:=聪明的程序员使用D
25、elphi!; /本行为输入的代码end;1.2.2 Delphi应用程序所包含的文件我们以【例11】为例来看看Delphi中的一些主要文件。由于上次编写【例11】程序保存文件时,系统只会自动保存项目文件和单元文件,而其它一些文件是在编译、运行、生成exe文件过程中形成的。先打开【例11】中的项目文件和单元文件,并编译该项目和生成project1.exe文件。此时系统形成如下几个文件:Project1.bdsproj、project1.cfg、project1.dof、project1.dpr、project1.exe、project1.res、unit1.dcu、unit1.dfm和unit
26、1.pas。如果读者对这些文件不是特别熟悉,建议不要删除其中任何文件,另外养成每个应用程序占用一个文件夹的习惯。这样应用程序的文件就不会张冠李戴了。1单元文件单元是扩展名为pas的源程序代码,单元中可以定义或者声明常量、变量、函数、过程、对象、组件等等。设计单元的好处是,单元可供其它应用程序共享。单元还可以独立编译为扩展名为dcu的文件,编译后的dcu文件可以连接到可执行文件中。单元文件不能够独立运行。单元文件分为如下几种。(1)与窗体相关的单元文件,这种单元文件与窗体一一对应。(2)用于存储公用函数、过程、常量、变量的单元文件,例如math。(3)组件文件,该单元提供组件开发接口。单元文件是
27、有一定结构的,一般一个单元文件由名称、接口、实现和初始化4个部分组成,各个部分说明如下:unit子句:标识单元名,单元名与单元文件的文件名相匹配。interface接口部分:说明本单元哪些部分可以供其它单元或者程序访问,在此声明的函数、过程、类型、常量、变量可供其它单元或者程序共享。接口部分只有声明,不能有定义,定义在实现部分完成。implementation实现部分:接口部分声明的函数、过程、类型、常量、变量等的具体实现在此完成,实现部分也可以说明函数、过程、类型、常量、变量等,但是它们仅供本单元使用。initialization初始化部分:可选部分,用于初始化程序所需数据。请看【例11】中
28、的单元文件project1.pas。说明:在接口部分的uses短语后有一些单元名称,例如Windows, Messages, SysUtils等等,这些单元是系统的标准单元或者是其它程序的单元,本单元要使用它们,因此需要在接口部分的uses短语后指明这些单元。2窗体描述文件每个窗体都包含一个扩展名为dfm的窗体描述文件,该窗体描述文件用于描述窗体及窗体内组件的属性。鼠标右键单击窗体选择“View as Text”菜单可以显示窗体描述文件。请看【例11】中的窗体描述文件Unit1.dfm。object Form1: TForm1 Left = 192 Top = 107 Width = 205
29、Height = 104 Caption = Form1 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = 11 Font.Name = MS Sans Serif Font.Style = OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 16 Top = 8 Width = 153 Height = 25 AutoSize = False C
30、aption = Label1 end object Button1: TButton Left = 120 Top = 48 Width = 65 Height = 25 Caption = 确定 TabOrder = 0 OnClick = Button1Click endend细心的读者一定可以从窗体文件中看到窗体及窗体内组件的一些属性。窗体描述文件就是在设计应用程序界面时系统自动生成的一些代码。鼠标右键单击窗体描述文件选择“View as form”可以重新以界面的形式显示窗体。3项目文件项目文件的扩展名为dpr。项目文件是应用程序的宏观框架,它管理着应用程序的多个单元。以【例11】为
31、例,请看项目文件project1.dpr。选择菜单“View | Units”出现View Unit对话框,在对话框中选择项目文件“project1”按“OK”按钮。View Unit对话框如图115所示。project1.dpr文件如下:program Project1;uses Forms, Unit1 in Unit1.pas Form1;$R *.resbegin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;end.1.2.3 组件的画法为了创建Delphi应用程序需要在窗
32、体上添加各种组件,并且调整这些组件的位置和大小。在窗体上画组件包括:组件的添加、改变组件的大小、组件的复制和删除、组件的对齐等等。1添加组件将组件添加到窗体上,有如下几种方法:单击所需组件,然后在窗体适当位置上拖动鼠标画出组件,即可完成组件的添加。双击所需组件,即可添加该组件到窗体的中心位置,然后用鼠标调整该组件的大小和位置。按住键不放,鼠标单击所需组件,此时该组件出现蓝色边框,同时对象选择按钮弹起,用鼠标在窗体适当位置拖动即可连续添加该组件。用鼠标单击组件选择按钮可以取消该组件的连续添加操作。2选定组件为了操作组件必须首先选定组件,被选定的组件边框四周有8个黑色的小方块,表明该组件是活动组件
33、,也称之为当前“组件”。鼠标单击组件可以选定该组件。还可以同时选定多个组件,方法有三种。按住“Shift”键不放,再用鼠标单击所要选定的各个组件,则鼠标单击的各个组件都被选中。按住鼠标左键在窗体上画一个矩形区域,与这个矩形区域相交的组件都被选中。利用鼠标、“Shift”健、“Ctrl”健在对象监视器中也可以选定多个组件。选中的多个组件四角有灰色小方块。多个组件的选中如图116所示。 3组件大小和位置的改变首先选定组件(一个或者多个),再按住“Shift”键,最后通过按方向键可以改变组件的大小。选定组件(一个或者多个),再按住“Ctrl”键,最后通过按方向键可以改变组件位置。这些操作也可以在对象
34、监视器中通过设置属性Left、Top、Width和Heigth来实现。4组件的复制和删除在组件的操作中,为了更加快速操作组件,经常要复制或者删除组件。先将所要操作的组件选定,然后按“CtrlC”可以将选定的组件复制到剪切板,而按“CtrlV”键可以将此前剪切的组件粘贴到窗体。对于活动组件只需要按“Del”键就可以删除该组件。上面这些操作也可以通过“Edit”菜单来实现。5组件的对齐当窗体上有多个组件的时候,如果对齐这些组件,界面会显得更加美观、整洁。Delphi提供两种对齐工具用于水平方向或者垂直方向的对齐。这两种工具是对齐对画框和对齐面板。选择菜单“Edit | Align”可以打开对齐对话
35、框。选择菜单“View | Alignment Palette”则可以打开组件对齐面板。如图117所示,左边为对齐对话框,右边为对齐面板。图117 对齐对画框和对齐面板 1.3 小结本章介绍了Delphi 2005的特点和优点,对象的一些基本概念,介绍了类和组件的基本概念;本章还介绍了Delphi 2005集成开发环境,并举例说明Delphi 2005集成环境的使用方法。读者应该熟练掌握Delphi 2005集成开发环境。 习题1Delphi有哪些特点和优点?2什么是对象的属性、方法和事件?3是什么是事件驱动、什么是事件过程?4Delphi集成开发环境是有哪几部分构成的?5怎样修改对象的属性?