版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Delphi教程教程 Delphi教程(完整版) 课程介绍课程介绍 Delphi是著名的Borland公司开发的可 视化软件开发环境,自1995年问世以 来,带来了程序设计中的一场重大变 化。Delphi作为第四代编程语言,具 有简单、高效和功能强大等特点,这 些特点使得它为广大程序开发者所青 睐。 Delphi教程(完整版) 第1章 Delphi基础知识 1.1 Delphi简介简介 Delphi作为一种可视化的编程环境,经 历了7代产品的发展历程: Borland公司在1995年推出了基于 Windows平台的Delphi 1。 Delphi 2新增加的主要功能是对32位编 程的支持。还增
2、加了如数据模块等多种高 效的数据重用功能。 Delphi教程(完整版) Delphi 3对其组件库进行增强 ,完全支持 ActiveX组件及其创建 。 Delphi 4提供了Object Pascal语言的扩展 ,但 系统稳定性较差 。 1999年推出Delphi 5增强了数据库的功能 2001年6月推出Delphi 6 ,增加了大量的新 组件,使组件数目达350多个,以满足网络开 发的需要。 2002年8月推出 Delphi 7 ,在集成开发环境 IDE、Web、数据库、编译器、模型生成支持 及组件库等很多方面进行了改进 Delphi教程(完整版) 1.2 Delphi7 IDE 1.2.1
3、 认识集成开发环境认识集成开发环境 Delphi 7的IDE主要包括7个部分:主窗口、 组件面板、工具栏、窗体设计器、代码编辑 器、对象观察器和代码浏览器。 图1-1 Delphi 7的 IDE Delphi教程(完整版) 1.主窗口主窗口 主要包括:菜单栏、工具栏、标题栏和组件 面板 Delphi7的主菜单包括11个下拉菜单 注意:工具栏上的按钮都提供了描述该按 钮功能的tooltip,除了组件面板IDE有6个独 立的工具栏 IDE工具栏的定制功能并不仅限于配置需 要显示的按钮,还可以调整工具栏、组件面 板和菜单栏在主窗口中的位置。 图1-2 Delphi 7的主窗图口 Delphi教程(完
4、整版) Delphi7组件板包含了350多个组件,是 Delphi可视化编程的核心部件,它由27个选 项卡组成 组件面板如图1-4所示 包含了IDE中安装的所有的VCL组件和 ActiveX组件 将组件板上的组件添加到窗体上的三种方法: 单击组件板上的所需组件的按钮,然后在窗 体适当位置拖动鼠标画出组件,即可将组件 添加到窗体的指定位置上 图1-4 Delphi 7的组件面板 Delphi教程(完整版) 双击组件板上的所需组件的按钮,即可将组 件添加到窗体的中心位置 按下键不放,单击组件板上的所需组 件的按钮,所选组件出现蓝色边框,同时对 象选择按钮将弹起 组件板中的组件分为可视组件与非可视组
5、件 2.窗体设计器窗体设计器 在创建新的项目时,窗体设计器是一个空 白的窗口。可以用鼠标调整组件在窗体设计 器上的位置和大小,还可以用对象观察器和 代码编辑器来控制组件的外观和行为 。 Delphi教程(完整版) 3.对象观察器对象观察器 利用对象观察器,可以修改窗体或组件的 属性,或者使它们能够响应不同的事件 。 属性(Property)是一些数据,如高度、颜色、 字体等,它们决定了组件在屏幕上的外观。 事件(Event)则是一种消息处理机制,它能够 捕捉某种情况的发生并做出反应,像鼠标单 击和窗口打开就是两种典型的事件。 对象观察器类包括Properties选项卡和 Events选项卡 D
6、elphi教程(完整版) 下图两个对象观察器,左边一个按种类排序, 右边一个按名字排序。 注意:帮助系统是和对象观察器紧密结合在一 起的,想了解某个属性或事件的帮助信息, 只要在该属性或事件上按下F1 键 图1-5 按种类或名称查看Object Inspector Delphi教程(完整版) 4.代码编辑器代码编辑器 代码编辑器是输入代码来指定应用程序行 为的地方,也是Delphi根据应用程序中的组 件自动生成代码的地方。当向应用程序中加 入一个窗体时,Delphi会自动创建一个新的 单元,并添加到代码编辑器顶部的标签中。 5.代码浏览器代码浏览器 以一种树状视图方式显示列在代码编辑器 中的单
7、元文件。通过它,可以方便地在单元 文件中漫游或在单元文件中加入新的元素或 者把已有的文件改名。要记住代码浏览器和 代码编辑器有一对一的关系。 Delphi教程(完整版) 6.源代码生成器源代码生成器 当对窗体设计器中可视化组件进行操作时 Delphi IDE自动生成Object Pascal源代码。 当用【File】|【New】|【Application】菜单 命令创建一个新的项目时,将看到屏幕上出 现一个空白的窗体设计器,同时,代码编辑 器中会自动出现一些代码,如下所示: unit Unit1; interface uses Windows, Messages, SysUtils, Vari
8、ants, Classes, Graphics, Controls, Forms,Dialogs; Delphi教程(完整版) type TForm1 = class(TForm) private Private declarations public Public declarations end; var Form1: TForm1; implementation $R *.dfm end. Delphi教程(完整版) 从上述源代码清单中可以看出,窗体对象 是从TForm继承下来的。 下面这一行非常重要: $R*.dfm Pascal语言中的$R指令用于加载一个外部 资源文件。*.dfm文
9、件中包含在窗体设计器中 创建的表单的二进制代码。其中的“*” 表示 与当前单元文件同名的文件。 项目文件的扩展名是.dpr 可以选择主菜单下的【Project】|【View Source】命令把项目源文件调入代码编辑器。 Delphi教程(完整版) 如下用程序示例的项目文件: program Project1; uses Forms, Unit1 in Unit1.pas Form1; $R *.res begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. 当添加表单
10、和单元时将出现在uses子句中 Delphi教程(完整版) 1.2.2 基于组件的编程思想基于组件的编程思想 .早期DOS操作系统和C语言主导的时代, “数据结构+算法”成为构建软件惟一方式 .C+语言和面向对象技术 . 20世纪90年代中期流行一种崭新的程 序设计概念 :软件可以由可互换的组件构成 组件是一种通过公开的属性、方法、事 件,是可以重复使用的一种经过编译的二进制 文件,其文件名可以是.OCX或者是.dll,如命 令按钮、复选框、单选框、滚动条等都是常见 的组件。 Delphi教程(完整版) 1.2.3 Delphi 7的特点的特点 Delphi最显著的特点就是高效性和稳定性, 主
11、要体现在以下4个方面: 可视化开发环境的性能。 编译器的速度和已编译代码的效率。 编程语言的功能及其复杂性。 丰富的VCL 1.可视化开发环境可视化开发环境 可视化开发环境通常可分为3个部分:编辑 器、调试窗口和窗体设计器。 Delphi教程(完整版) 2.编译器的速度和已编译代码的效率编译器的速度和已编译代码的效率 Pascal编译器最著名特点就是速度快,而 Delphi正是建立在这种编译器基础之上的。 增加了链接和各种缓存策略,尤其是在 Visual C+和C+ Builder中。 3.编程语言的功能及其复杂性编程语言的功能及其复杂性 汇编是一种最有力的语言,即便是用汇编 开发最简单的应用
12、程序,难度也非常大,还 可能一无所获。 4.丰富的丰富的VCL VCL是Delphi7最重要的组成部分,包含不 同种类的组件 。 Delphi教程(完整版) 1.2.4 帮助的使用帮助的使用 (1)当遇到问题时,可以尝试按下【F1】键, 一般情况下Delphi都会准确地定位。 (2)如果需要浏览系统的一些帮助内容,比 如说对象Pascal语言,可以通过菜单【Help】 |【Delphi Help】命令打开【帮助主题: Delphi Help】对话框,在目录标签中展开相 关条目,进行系统学习。 3)当使用Windows API函数时,通过【Help】 |【Delphi Help】打开的【帮助主题
13、:Delphi Help】对话框中,在【索引】选项卡中可能 查不到有关的帮助信息,有两种解决办法: Delphi教程(完整版) 一种办法是在代码编辑器中输入Windows API函数的名称,然后将光标定位到该名称中, 接着按下【F1】键。 另一种办法是通过【Help】|【Windows SDK】打开帮助文件Win32.hlp,在【索引】 选项卡中查找。 (4)帮助文件打开时,要浏览相关内容,可以 按下工具栏中的【】或【】按钮,通常 这样是在同一个主题中浏览。通过一些See Also热链接,也可以查看相关的帮助内容。 (5)在组件栏上右击,通过快捷菜单的Help命 令,可以查看有关组件的帮助内容
14、。 Delphi教程(完整版) (6)在Delphi集成开发环境中,通过【Help】 |【Customize】命令可以打开【Open Help】 窗口,在该窗口中可以对帮助文件进行管理, 其中包括帮助内容、帮助索引、链接位置和 帮助工程文件等的管理。 1.3 简单简单Delphi程序设计程序设计 Delphi 7编写应用程序包括新建应用程序、 设置窗体属性、添加组件、设置组件属性、 添加事件、编写事件响应代码、编译运行等 1.新建应用程序新建应用程序 Delphi教程(完整版) 启动Delphi 7,选择【File】|【New】| 【Application】菜单,新建一个应用程序。 2.设置窗
15、体属性设置窗体属性 单击【Object Inspector】,在对象观察器中 打开【Properties】选项卡,单击Caption属 性右侧,输入窗体的新标题“窗口”。 3.向窗体中添加组件向窗体中添加组件 单击Standard选项卡上的Button组件,将鼠 标指向窗体中的任意位置(标题栏除外), 单击鼠标,即可把Button1组件放入窗体中。 或者直接双击组件面板上的Button组件,也 可以在窗体中添加一个Button1组件。 Delphi教程(完整版) 4.设置组件属性设置组件属性 选中组件,单击Object Inspector的标题栏以 激活对象观察器,并选择Properties选
16、项卡。 在对象观察器中单击要设置的属性,进行属 性设置。 5.添加事件添加事件 选中要添加事件的组件,激活对象观察器, 并选择Event选项卡,在对象观察器中单击要 添加的事件,在其右侧输入事件的响应函数 名称,然后回车即可。 6.编写事件响应代码编写事件响应代码 Delphi教程(完整版) 选定要编写事件响应代码的组件 ,打开 Event选项卡,双击要编写响应代码的事件右 侧的空白部分,进入代码编辑窗口。 procedure TForm1.Button1Click(Sender: TObject); /单击放大按钮,窗口将放大 begin form1.Height:=form1.Height
17、+10; /窗口高度10 form1.Width:=form1.Width+10; /窗口宽度10 end; procedure TForm1.Button2Click(Sender: TObject); /单击缩小按钮,窗口将缩小单击缩小按钮,窗口将缩小 Begin form1.Height:=form1.Height-10; /窗口高度减窗口高度减10 Delphi教程(完整版) form1.Width:=form1.Width-10; /窗口宽度减10 end; procedure TForm1.Button3Click(Sender: TObject); /关闭窗口 begin clo
18、se; /退出 end; 7.编译运行程序编译运行程序 图1-6 例程运行界面 Delphi教程(完整版) 1.4 Delphi上机步骤上机步骤 1.启动程序启动程序 2.添加组件添加组件 在窗体设计器中添加如图1-7所示的各组件。 3.设置组件属性设置组件属性 4.编写代码编写代码 组件属性设置完成后,编写如下代码: 图1-7 窗体布局图 Delphi教程(完整版) procedure TForm1.Edit1Change(Sender: TObject); /编辑 框1中的内容改变时的事件 var stringlength:integer; /定义整型变量,记录编辑框1中字符 的个数 be
19、gin stringlength:=edit1.GetTextLen; /得到编辑框1中字符个数 edit2.Text:=inttostr(stringlength); /编辑框2显示编辑框1中 字符个数 end; procedure TForm1.Button1Click(Sender: TObject); / 关闭窗口 begin close; end; Delphi教程(完整版) 5.保存工程保存工程 保存工程分为保存单元文件和保存项目文件 两步。 第一步是保存单元文件,单击工具栏上的 Save按钮,将打开Save Unit1 As窗口,默认 的单元文件名是“Unit1.pas”,以“.
20、pas”为 扩展名,单元文件名根据需要可以另取 。 第二步是保存项目文件,单击工具栏上Save Project1 As按钮,默认的项目文件名是 “Project1.dpr”,工程文件名根据需要可以 另取以“.dpr”为扩展名 Delphi教程(完整版) 6.运行工程运行工程 保存工程结束后即可运行工程 小结小结 在本章中,主要介绍了Delphi的产生和发 展,Delphi的特点,使用Delphi进行程序设计 的一些基础知识。本章的重点是Delphi的开 发环境和开发方法,通过实例介绍了Delphi 的程序设计和上机操作的一般步骤。 图1-10 工程运行界面图 Delphi教程(完整版) 第第2
21、章章 Delphi语法基础语法基础 2.1 保留字与标识符保留字与标识符 2.1.1 标识符标识符 标识符是Object Pascal语言中各种成分 的名称,这些成分包括变量(Var)、常量 ( C o n s t ) 、 类 型 ( T y p e ) 、 过 程 (Procedure)、函数(Function)、方法 (Method)、单元(Unit)等。 Delphi教程(完整版) 标识符可以分为三类:标准标识符、自定 义标识符和限定标识符。 1标准标识符 (1)标准常量,如False、Maxint、True等; (2)标准类型,如Boolean、Char、Real等; (3)标准函数,
22、如Sin、Cos、Abs、Arctan 等; (4)标准过程,如Dispose、Get、New、Pack、 Put等; (5)标准文件,如Input、Output等。 Delphi教程(完整版) 2自定义标识符 程序员根据程序设计的需要,自己定义的 常量、变量、类型、函数、过程等所取的名 字。自定义标识符可以由任意长的一个不带 空格的字符串组成,包括字母AZ 、az 、 数字09 和下划线“_”等。 定义标识符需要遵循以下规则: (1)标识符不区分大小写; (2)标识符只能以字母或下划线开头,不能以 数字开头; (3)标识符可任意长度,但只有前225个字符 有效; (4)标识符中间不允许有空格
23、; Delphi教程(完整版) (5)不允许使用Object Pascal语言的保留字作 为标识符。 3限定标识符 在Delphi程序中可引用多个单元,而各个 单元中全局变量、函数、过程等可能会同名, 在引用时需用限定标识符来区分它们: Var Y:real; Y:=System.cos(pi); 其中System称为限定符 ,而System.cos 称为限定标识符。 Delphi教程(完整版) 2.1.2 保留字保留字 保留字由系统规定具有特定意义,不能 被重新定义或作他用,定义了65个保留字 。 注意: 1单词at和on具有特殊含义,不要与它们同 名。 2保留字和Object Pascal
24、一样不区分大小 写。 3Delphi集成开发环境的代码编辑器中,黑 体显示保留字和指令字,定义时不要与这些 黑体字一样。 Delphi教程(完整版) Object Pascal的保留字 and array as asm begin case class const constructor destructor dispinterface div do downto else end except exports file finalization finally for function goto if implementation in inherited initialization in
25、line interface is label library mod nil not object of or out packed procedure program property raise record repeat resourcestring set shl shr string then threadvar to try type unit until uses var while with xor Delphi教程(完整版) 2.1.3 指令符指令符 指令字只在特殊的程序位置、或当上下 文关联时有意义的程序区段有自己特殊的意 义,而在其他场合,用户可对其重新定义, 即可将其
26、定义为标识符,Object Pascal不会 指示出错,当用户重新定义这些指令字后, 在作用域内它们就失去了原来的意义了。 Object Pascal中规定的指令符有39个 说明:指令符private、protected、public、 published和automated在定义对象类型时也 作为保留字,而在其他场合则作为指令符。 Delphi教程(完整版) 2.1.4 注释注释 注释可增加程序的可读性和可维护性。 Object Pascal语言中注释有三种形式: 1组合符号“”与“”的成对使用表示它们 之间的内容为注释部分。 2组合符号“( *”与“* )”的成对使用表示它 们之间的内容为
27、注释部分。 3符号“/ ”的单个使用表示所在行的该符 号之后的内容为注释。 Delphi教程(完整版) 注意: 1注释符“”与“”、“( *”与“* )”在使用时 不支持注释的嵌套,而且必须成对使用。 2对于单行和少量几行注释使用符号“/ ”, 对于大块注释使用“”和“”或“( *”和“* )”。 3有时可利用注释在代码中形成一个醒目标 志。 4在注释符“”或“( *”后紧接着是一个美元 符号“$”时,表示该句是一个编译器指令, 它与普通的注释不同,通常用来对编译过程 进行设置。 Delphi教程(完整版) 2.2 数据类型数据类型 描述客观事物的数、字符以及所有能输入 到计算机中并被计算机程
28、序加工处理的符号 的集合称为数据。 数据类型可以分为标准数据类型及高级数 据类型等,还可以通过数据类型声明语句在 预定义数据类型的基础上定义新数据类型。 说明: 1标准数据类型属于Object Pascal内部约 定的数据类型,无需定义就可以直接使用。 Delphi教程(完整版) 2高级数据类型体现了特殊的数据结构,在 使用之前必须由用户自己定义。 3数据类型中整型、字符型、布尔型、枚举 型和子界型被称为顺序类型,其取值是一个 有序集合,每一个可能取值都与顺序有关。 2.2.1 数值型数据数值型数据 数值型数据可分为整数类型和实数类型。 1.整数类型 整数类型是存储整数数据的类型 ,分为基本
29、整形和一般整形。 Delphi教程(完整版) 基本整形:短整型 、小整型 、长整型 、64位 整型 、字节型 、字型 、长字型 一般整形:整型 、序数型 注意:尽量使用一般整型Integer和Cardinal, 可以最大限度发挥CPU和操作系统的性能。 2.实数类型 实数类型是存储实数数据的类型 ,分为基 本实型和一般实型。 基本实型:单精度实型 、扩展型 、双精度实 型 、货币型 一般实型:实型 Delphi教程(完整版) 注意:Real 类型与Double 类型完全等价。 Currency类型至少有4位有效的小数位。 2.2.2 字符型数据字符型数据 Object Pascal中的字符型数
30、据可以分为字 符型和字符串型2类7种。 1.字符类型 Object Pascal包括3种形式的字符型数据 类型类型 名称名称 字节数字节数 取值范围取值范围 Ansi字符型 AnsiChar 扩展ANSI字符集 宽字符型 WideChar UniCode字符集 字符型 Char () 扩展ANSI字符集 Delphi教程(完整版) 说明: (1)前2种为基本字符类型后一种为一般类型。 (2)Char与AnsiChar完全等价,但Char常用。 2.字符串类型 字符串类型是存储字符串数据的类型 , Object Pascal包括了4种形式的字符串型数 据 类型类型 名称名称 最大长度最大长度 所
31、需内存空间所需内存空间 短字符串型 ShortString 255个字符 2256B 长字符串型 AnsiString 231个字符 42GB 宽字符串型 WideString 230个字符 42GB 字符串型 String 231个字符 42GB Delphi教程(完整版) 说明: ()AnsiString类型的定义是动态分配的,内容 由AnsiChar类型的字符组成,长度仅受可用 内存空间的限制,以空字符Nul作为结尾。 ()String字符串类型,既可以是ShortString类 型也可以是AnsiString类型,默认定义是 AnsiString类型。 2.2.3 布尔型数据布尔型数据
32、 布尔型数据用于关系运算和条件语句的 逻辑运算,包括4种形式的布尔型数据。 Delphi教程(完整版) 说明: (1)后3种类型是为了兼容其他语言而设置的, 编程时应尽量使用Boolean类型。 (2)Boolean取值为False和True两个符号常量。 类型类型 名称名称 字节数字节数 取值取值 布尔型 Boolean 只能为0(False)或1(True) 字节布尔型 ByteBool 0(False)或非0(True) 宽布尔型 WordBool 0(False)或非0(True) 长布尔型 LongBool 0(False)或非0(True) Delphi教程(完整版) 2.3 常量
33、与变量常量与变量 2.3.1 常量常量 常量即在程序的执行过程中其值不能改变 的量。 常量有两种,一种是常量值本身,也称为 直接常量;另一种是要用声明定义的标识符 表示的常量,也称为声明常量。声明常量又 可以分为符号常量和类型常量。 1.直接常量 直接常量是指在程序中直接引用的常数, 如整型常数、实型常数、字符型常数、字符 串型常数和布尔型常数。 2.声明常量 Delphi教程(完整版) (1)符号常量 在程序中,某一个常数反复多次出现,可 以定义一个标识符来代表该常数,这个标识 符就是符号常量,其值在定义后不会改变。 也称纯常量。定义符号常量使用常量说明语 句,其语法格式为: Const =
34、; =; 其中Const是保留字,表示常量定义段开始 。 Delphi教程(完整版) 注意: 保留字Const可单独一行也可与常量一行。 不能在程序中给常量另行赋值,否则将导致 语法错误。 Delphi由常量值判断常量名属于哪种类型。 (2)类型常量 类型常量用于保存数组、记录、过程以及 指针等类型的值,不能出现在常量表达式中。 在默认的编译器状态下,类型常量的值可改 变,但当在程序中加入编译命令$j-时,则 类型常量的值在运行期就无法改变。 Delphi教程(完整版) 声明类型常量的语法规则为: Const :=; 其中类型是除文件型和可变型的所有类型, 常量值可以是和类型相应的常量表达式。
35、 2.3.2 变量变量 1.变量的声明 变量在单元、函数或过程的声明部分进行 声明,声明的位置决定了变量的作用域。声 明包括两部分:变量名和它所属的类型,变 量声明的语法格式为: Delphi教程(完整版) Var :; :; 当多个变量具有相同数据类型时,格式如下: Var ,:; 其中,Var是保留字,表示变量声明段的开始; 同类型的可超过一个,间 用“,”分隔;可以是基本数据类型 或是由用户定义的高级数据类型; Delphi教程(完整版) 2.变量的使用 一旦声明了一个变量应及时对它进行初始化, 最简单方法就是给变量赋值,在表达式中使 用变量。 2.4 运算符与表达式运算符与表达式 按照
36、操作数数目的多少来分,运算符分为 下面两类:单目运算符和双目运算符。单目 运算符一般放在操作对象的前面,双目运算 符都放在两个操作数之间。 表达式是表示某个求值规则的运算公式, 由运算符和配对的圆括号将常量、变量、函 数、对象等操作数以合理的形式组合而成。 Delphi教程(完整版) 2.4.1 算术运算符与算术表达式算术运算符与算术表达式 1.算术运算符 算术运算符对浮点数和整数进行加、减、 乘、除和取模运算,取正“+”和取负“-”是单 目运算符,其他均为双目运算符。 说明: (1)+、-、*运算中,参加运算的数可以是整型和 实型,结果自动向精度高的类型转化。 (2)参加除法运算“/”,结果
37、都是实型的商。 (3)参加整数除法“Div”和求余运算“Mod”的数 必须是整型,结果也是整型数,符号与被除 数的符号相同,小数部分被舍去。 (4)在表达式a/b、a Div b和a Mod b中,如果b 的值为0,将会触发一个错误。 Delphi教程(完整版) 2.算术运算符的优先级 同级运算自左至右,如果含有括号,则先 计算括号内表达式的值。 3.算术表达式 将数学式改写为算术表达式,考虑三个问 题:一是语法,二是优先级,三是类型。 优先顺序优先顺序 运算符运算符 +、-(取正、取负) *、/(法、除法) Div、Mod(整除、求余) +、(加法、减法) Delphi教程(完整版) 说明:
38、 (1)数学式中省略的运算符和表示函数参数的括 号必须添加上去 (2)必须注意优先级的处理 ,恰当利用标准函 数 ,注意数据类型。 2.4.2 逻辑运算符与布尔表达式逻辑运算符与布尔表达式 逻辑运算符可分为布尔运算符、位运算符 和关系运算符。 1.布尔运算符 只能对两个布尔型操作数进行运算,结果 仍为布尔型,True或False。 Delphi教程(完整版) 其中,NOT是求“非”,为一元运算符 ; AND是求“与”,OR是求“或”,XOR是求 “异或”,均为二元运算符 。 2.位运算符 运算符运算符 操作举例操作举例操作数类型操作数类型 结果类型结果类型 功能说明功能说明 NOT NOT x
39、 integer integer 即按二进制形式将每位求反 AND a AND b integer integer 将两者相对应的位进行AND运算 OR a OR b integer integer 将两者相对应的位进行OR运算 XOR a XOR b integer integer 将两者相对应的位进行取XOR运 算,两者不同时结果为1 SHL a SHL b integer integer 将a的二进制值向左移动b位,左 移一位相当于乘2 SHR a SHR b integer integer 将a的二进制向右移动b位,右移 一位相当于除2 Delphi教程(完整版) 注意:右移操作时原值
40、的低位丢失,高位补0; 左移操作时原值的高位丢失,低位补0。 3.关系运算符 关系符关系符 操作操作 操作数类型操作数类型 结果类型结果类型 = 等于 简单类型,字符串或可变类型,类,类引用, 指针,集合类型 Boolean 不等于 简单类型,字符串或可变类型,类,类引用, 指针,集合类型 Boolean 大于 简单类型,字符串或可变类型 Boolean = 大于等于 简单类型,字符串或可变类型 Boolean Delphi教程(完整版) 4.布尔表达式 布尔表达式由布尔运算符和布尔类型的操 作数所组成,包括关系运算表达式和运算结 果为布尔类型的函数,如Odd(x)、(x)、等。 但位运算符的
41、结果是整数类型,不能直接作 为布尔操作数。 2.4.3 字符串运算符 连接运算符“+”主要用于连接两个或更多 的字符串。最简单的字符串表达式是字符常 量、字符串常量、字符变量、字符串变量或 字符函数的引用。字符串表达式格式为: Delphi教程(完整版) +| 当两个字符串用连接运算符连接起来后, 第二个字符串直接添加到第一个字符串的尾 部,结果是包含两个源字符串全部内容的新 字符串。如果要把多个字符串连接起来,每 两个字符串之间都要用“+”号分隔。 2.4.4 运算符的优先级 优先顺序优先顺序 运算符运算符 分类描述分类描述 1(取地址),NOT,- 一元运算符 2*,/,DIV,MOD,A
42、ND,SHL,SHR 乘除及类型强制转换运算符 3+,OR,XOR 加减运算符 4=, =,in,is 关系、集合成员及类型比较运算符 Delphi教程(完整版) 2.5常用系统函数与过程常用系统函数与过程 2.5.1 数值运算函数 Delphi的数值运算函数包含了常用的数学 函数(如三角函数、对数函数等)和适合计 算机数据处理的其他函数(如求数组中的最 大值、求三角形的斜边长等)。 2.5.2 字符处理函数 对字符的处理主要包括:大小写转换、比 较先后顺序、合并、查找、截取、插入、求 长度以及类型转换等。 2.5.3 日期时间函数 调用日期时间函数可对日期和时间进行处理 Delphi教程(完
43、整版) 2.5.4 顺序类型函数 1.顺序类型 顺序类型指整型、字符型、布尔型、枚举型、 子界型5种数据类型,如下所述: (1)整数的的序数是其自身; (2)字符的序数是其ASCII 码; (3)布尔型数据:False序数为0,True为1; (4)枚举型第一个数据序数为0,其余类推; (5)子界型第一个数据序数为1,其余类推。 除第一个序数,每一个都有一个前趋值; 除最后一个序数,每一个都有一个后继值。 Delphi教程(完整版) 2.顺序函数 2.6语句语句 2.6.1 语句的基本概念语句的基本概念 按执行时间可分为:声明语句和可执行语句。 顺序函数顺序函数 引用形式引用形式 函数功能描述
44、函数功能描述 序数函数 Ord(x); 返回数据x的序数 前趋函数 Pred(x); 返回数据x的前趋值。如果将Pred函数用于第一个数 据,就可能产生一个编译时的错误 后继函数 Succ(x); 返回数据x的后继值。如果将Succ函数用于最后一个 数据,就可能产生一个编译时的错误 首序数函数 Low(x); 返回顺序型数据x取值集合中的第一个值(序数最 小)。它还可以返回数组的第一个元素 末序数函数 High(x); 返回顺序型数据x取值集合中的最末一个值(序数最 大),它还可以返回数组的最末一个元素 Delphi教程(完整版) 声明语句包括单元说明语句、类型说明语 句、变量说明语句、过程说
45、明语句、函数说 明语句和程序区段标识语句等。 可执行语句包括赋值语句、运行控制语句 和结构控制语句等。 按语句的描述形式,可分为简单语句、结 构语句和复合语句等。 简单语句只含有一个语句定义符或特殊 标志;结构语句往往含有多于一个的语句动 词;复合语句则是由begin和end括起来的若 干个简单语句、结构语句和复合语句,允许 复合语句多层嵌套,或为空,也就是在begin 和end之间没有其他语句。 Delphi教程(完整版) 2.6.2 常见声明语句常见声明语句 1.标号声明语句 标号声明语句即用一个整型数来表示程序的 某个执行语句,一行标号声明语句可以同时 声明几个标号,其用法如下所示: l
46、abel Aa,Ab; var I:integer; begin /语句 if(I=0) then goto Aa; /语句 Aa:begin /语句 end; end; Delphi教程(完整版) 2.类型声明语句 在Object Pascal中,所有的变量必须是某种 特定的数据类型,类型决定了它所能包含的 数值和可进行的操作,用类型声明语句可以 定义新的数据类型。例如: Type TmyDim:Array1.10,1.5 of Double; 3.过程声明语句 过程可以被看成一段小程序,用来实现某种 特定的目标,在完整的程序中它被当作一个 语句来执行。在建立过程之前应先声明。 proced
47、ure NumString(N:Integr;Var S:string); Delphi教程(完整版) 4.函数声明语句 函数与过程相似,主要区别在于函数必须有 返回值,函数的声明参见下面的语句,其中, 最后的Real表示函数的返回数据类型。 Function Power(X:Real;Y:Integer):Real; 2.6.3 赋值语句和程序的顺序结构赋值语句和程序的顺序结构 1.赋值语句 赋值语句的语法格式为: :=; 2.类型兼容 类型兼容是指数据类型不完全相同的量之间 能进行的运算和赋值操作。 Delphi教程(完整版) 3.利用赋值语句给对象属性赋值 由于属性总是归属于对象才有实际
48、意义, 所以引用属性时用符号“.”来连接表示其隶属 关系。如组件Editl的字体的颜色属性表示为: Editl.Font.Color。 4.顺序结构 顺序结构是最简单、最常用的结构。在该 结构中,各操作块按照出现的先后顺序依次 执行,不产生程序流程的其他转移。它是任 何程序的主体结构,即使在选择结构或循环 结构中,也常以顺序结构作为其子结构。通 常由若干个赋值语句或其他简单语句构成 。 Delphi教程(完整版) 2.6.4 条件语句和程序的选择结构条件语句和程序的选择结构 实现选择结构的是IF语句和Case语句,这 两种语句又称条件语句,条件语句的功能就 是根据表达式的值有选择地执行一组语句
49、。 1.if语句 通过条件的布尔表达式值选择执行路径。 if then else ; if语句分为简单条件语句和复合条件语句。简 单条件语句的中不包含其他的条件语 句 。如果在If语句格式中的或本身又是一个If语句,则称为If语句的嵌套, 嵌套的If语句又被称为复合条件语句。 Delphi教程(完整版) 2.Case语句 Case语句用来实现多分支选择结构。 Case语句描述了多路择一的功能,它根据 “选择器表达式”的值决定执行相应的语句。 Case语句的语法格式为: case of :; :; else ; end; 说明:的值必须是顺序类型 。 Delphi教程(完整版) 2.6.5 循环
50、语句和程序的循环结构循环语句和程序的循环结构 从某处开始有规律地反复执行某一程序块 的现象称为“循环”,完成这一功能的程序 结构为“循环结构,”而其中重复执行的程 序块称为“循环体”。循环结构语句有3种, 它们分别是:While 语句、Repeat语句以及 For语句。 1.While语句 While语句属于前测型循环结构。首先判断 条件,根据条件决定是否执行循环,执行循 环的最少次数为0。其语法格式为: while do ; Delphi教程(完整版) 说明:可在(循环体)中任何位置Break语句 来终止While 循环,Break 语句通常位于IF语 句后。可在循环体中任何位置放置Cont
51、inue 语句,以便在整个循环体没有执行完就重新 判断(条件),以决定是否开始新的循环。 Continue语句通常位于IF 语句之后。 2.Repeat语句 Repeat语句属于后测型循环结构,首先执 行循环体,然后判断条件,根据条件决定是 否继续执行循环,执行循环的最少次数为1。 repeat until ; Delphi教程(完整版) 3.For语句 若知道要执行多少次循环时,则使用For循 环结构。For循环使用一个循环变量,每重复 一次循环之后,循环变量的值就会自动增加 或者减少。For语句的语法格式为: for =to|downto do ; 说明:只能是顺序类型,TO表 示计数器递
52、增,DownTo表示计数器递减。 4.循环的嵌套 循环语句的循环体中仅包含了简单语句, 称为单重循环。 Delphi教程(完整版) 如果在循环体中又包含了另一个循环结构, 则称为多重循环,又称为循环的嵌套。 在循环体中的嵌套称为内循环,外部的循 环称为外循环。多重循环嵌套根据循环结构 嵌套层数可以分为二重循环、三重循环等。 5.循环的中断 特殊情况下,需要中断正在执行的循环, 可以使用break语句或Continue语句。可以放 在循环体的任意位置,通常放在If语句之后。 执行Break语句的结果是:跳出整个循环, 执行之后的语句。 Delphi教程(完整版) 执行Continue语句的结果是
53、:跳出本轮循 环,然后判断循环条件是否成立,再决定是 否开始新一轮的循环。 小结小结 本章主要介绍了Object Pascal的最基本的 语法,主要包括基本词法、基本数据类型、 常量与变量、运算符与表达式、常用函数与 过程、语句等。 Delphi教程(完整版) 第3章 常用组件 Delphi 7.0的组件板上含有27个选项卡, 总共包括350多个组件,如图所示 : 3.1 窗体窗体 3.1.1 Form组件组件 窗体是应用程序的操作界面,是放置组件 的基础。窗体由标题栏、工作区和边界组成。 图3-1 组件板和选项卡 运行界面图 Delphi教程(完整版) Form的主要属性 窗体组件(TFor
54、m)在运行时表现为一 个窗体,窗体是一个容器构件,它可以包含 其他种类的构件,并协同完成应用程序的整 体功能。窗体由属性、事件和方法组成。 (1)BorderIcons属性 用来制定窗体标题栏上的图标 (2)BorderStyle属性 Borderstyle属性用来设置窗体的外观和边框 (3)Name属性 Name属性唯一地标识对象,取值不能为空, 若工程中有多个窗体,名称不能相同。 Delphi教程(完整版) (4)Caption属性 用来指定窗体标题栏中说明文字,可以为空。 (5)Font属性 Font属性用来设置窗体中文字的字体、颜色 和字号等等,其中Font.style属性为集合型。
55、(6)FormStyle属性 FormStyle属性用来指定窗体的类型。 从窗体类型的角度来看,Windows环境中的 应用程序可以分为以下三类。 第一类:多文档界面(MDI)应用程序一般这 种应用程序具有一个父级窗口和多个子窗口, 可以同时打开多个文档,分别在多个子窗口 中显示。 Delphi教程(完整版) 第二类:单文档界面(SDI)应用程序这种 应用程序同时只能打开一个文档。 第三类:对话框应用程序这种应用程序的 主界面基于一个对话框类型的窗体。 (7)Icon属性 Icon属性用来指定标题栏中显示的图标。 (8)Position属性 Position属性用来描述窗体大小和显示位置。 (
56、9)WindowsState属性 WindowsState属性来描述窗体显示状态 。 2.TForm 的事件 窗体是一个可视化的组件,包括外部事件和 内部事件。 Delphi教程(完整版) 3.窗体的方法 一些常用方法(过程或函数) 有:Create 、 Close 、CloseQuery 、release 、Show 、 ShowModal 、Print 。 4窗体的创建 创建窗体的方法分为两种:静态创建和动 态创建。所谓静态创建窗体是指再工程的编 辑、设计时创建新窗体;而动态创建窗体是 指在工程的运行时通过代码生成窗体。 (1)静态创建新窗体 通过集成开发环境中的【File】|【New】|
57、 【Application】菜单,创建一个应用程序, Delphi教程(完整版) 此时自动生成一个窗体Form1,再打开【File】 |【New】|【Form】菜单生成一个窗体 Form2。在Form1中添加两个Button、1个 Label组件,Form2中添加1个Label组件,即 可完成界面设计。 添加代码: procedure TForm1.Button1Click(Sender: TObject); /创建按 钮事件 begin /关键分析 form2.show; /调用Show方法显示Form2窗体 end; procedure TForm1.Button2Click(Sender
58、: TObject); begin form1.Close; end; Delphi教程(完整版) 程序分析:编译上述工程时,系统会弹出出错 提示信息,单击“Yes”按钮,Delphi将自动 在Unit1单元中添加对Unit2单元的引用。 (2)动态态创建新窗体 在需要某个窗体时,临时创建它,使用后 将其立即释放,这种称为窗体的动态创建。 3.1.2弹出对话框窗体弹出对话框窗体 Delphi提供内部对话框有两种。 第一种:信息输出对话框Showmessage过 程、ShowMessageFmt过程、MessageDlg 函数、MessageDlgPos函数、 CreateMessageDial
59、og函数。 Delphi教程(完整版) 第二种:信息输入对话框InputBox函数、 InputQuery函数。 1ShowMessage过程 其语法格式为:ShowMessage(); 2ShowMessageFmt过程的语法格式为: ShowMessageFmt(,); 3MessageDlg函数函数 其语法格式为:其语法格式为: =MessageDlg(,HelpCtx); 4MessageDlgPos函数 Delphi教程(完整版) 其语法格式为: =MessageDlgPos(,HelpCtx,X,Y); 可以指定对话框的显示位置坐标:X,Y。 5CreatMessageDialog
60、函数 其语法格式为: =CreatMessageDialog (,); 6InputBox函数函数 其语法格为:其语法格为: =InputBox (,); Delphi教程(完整版) 7InputQuery函数 其语法格式为: =InputQuery (,); 3.2 输入显示类组件输入显示类组件 3.2.1 Edit组件 编辑框(Edit)是一种通用组件,既可以 输入文本,又可以显示文本,编辑框组件位 于Standard组件板中。 图3-7编辑框Edit 运行界面图Delphi教程(完整版) 1Edit的主要属性 (1)AutoSelect属性:设置编辑框得到焦点时, 文本是否自动被选中。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际商务英语 课件
- 《理性预期学派》课件
- 《目的基因的表达》课件
- 《声音与生活+》课件
- 外保内贷业务担保合同(2篇)
- 2021年河北省廊坊市公开招聘警务辅助人员(辅警)笔试高频必刷题试卷含答案
- 2022年广西壮族自治区百色市公开招聘警务辅助人员(辅警)笔试经典自测卷(1)含答案
- 2024-2025学年福建省泉州市南安市北师大版三年级上册期中考试数学试卷(原卷版)-A4
- 2023年黑龙江省双鸭山市公开招聘警务辅助人员(辅警)笔试模拟自测题(C)卷含答案
- 2022年吉林省四平市公开招聘警务辅助人员(辅警)笔试经典自测卷(2)含答案
- 社会主义发展简史智慧树知到课后章节答案2023年下北方工业大学
- 2022年考研数学(二)真题(含答案及解析)【可编辑】
- 学生填涂答题卡注意事项详解(中小学生考试专题讲解培训课件)
- 三相桥式全控整流及有源逆变电路仿真
- 法学院学生职业生涯规划书模板
- 评审卫生高级专业技术资格医学卫生刊物名录(2012版)
- 沟槽式连接管道工程技术规程
- 新教科版五年级上册科学全册问答题总结(超全)
- 六年级上册科学活动手册参考答案(2023年新改版教科版)
- 托育机构质量评价标准
- 与世界地图每个省份可单独改色
评论
0/150
提交评论