Delphi教程—Delphi语法基础_第1页
Delphi教程—Delphi语法基础_第2页
Delphi教程—Delphi语法基础_第3页
Delphi教程—Delphi语法基础_第4页
Delphi教程—Delphi语法基础_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Delphi教程教程第第2章章 Delphi语法基础语法基础 2.1 保留字与标识符保留字与标识符2.1.1 标识符标识符标识符是Object Pascal语言中各种成分的名称,这些成分包括变量(Var)、常量( C o n s t ) 、 类 型 ( T y p e ) 、 过 程(Procedure)、函数(Function)、方法(Method)、单元(Unit)等。 标识符可以分为三类:标准标识符、自定义标识符和限定标识符。1标准标识符 (1)标准常量,如False、Maxint、True等; (2)标准类型,如Boolean、Char、Real等; (3)标准函数,如Sin、Cos、

2、Abs、Arctan等; (4)标准过程,如Dispose、Get、New、Pack、Put等; (5)标准文件,如Input、Output等。 2自定义标识符程序员根据程序设计的需要,自己定义的常量、变量、类型、函数、过程等所取的名字。自定义标识符可以由任意长的一个不带空格的字符串组成,包括字母AZ 、az 、数字09 和下划线“_”等。定义标识符需要遵循以下规则: (1)标识符不区分大小写; (2)标识符只能以字母或下划线开头,不能以数字开头; (3)标识符可任意长度,但只有前225个字符有效; (4)标识符中间不允许有空格; (5)不允许使用Object Pascal语言的保留字作为标识

3、符。 3限定标识符在Delphi程序中可引用多个单元,而各个单元中全局变量、函数、过程等可能会同名,在引用时需用限定标识符来区分它们: Var Y:real; Y:=System.cos(pi);其中System称为限定符 ,而System.cos称为限定标识符。 2.1.2 保留字保留字保留字由系统规定具有特定意义,不能被重新定义或作他用,定义了65个保留字 。注意: 1单词at和on具有特殊含义,不要与它们同名。 2保留字和Object Pascal一样不区分大小写。 3Delphi集成开发环境的代码编辑器中,黑体显示保留字和指令字,定义时不要与这些黑体字一样。 Object Pascal

4、的保留字 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 inline interface is label library mod nil not object of or out packed procedure program pr

5、operty raise record repeat resourcestring set shl shr string then threadvar to try type unit until uses var while with xor 2.1.3 指令符指令符指令字只在特殊的程序位置、或当上下文关联时有意义的程序区段有自己特殊的意义,而在其他场合,用户可对其重新定义,即可将其定义为标识符,Object Pascal不会指示出错,当用户重新定义这些指令字后,在作用域内它们就失去了原来的意义了。Object Pascal中规定的指令符有39个说明:指令符private、protected

6、、public、published和automated在定义对象类型时也作为保留字,而在其他场合则作为指令符。2.1.4 注释注释注释可增加程序的可读性和可维护性。 Object Pascal语言中注释有三种形式: 1组合符号“”与“”的成对使用表示它们之间的内容为注释部分。 2组合符号“( *”与“* )”的成对使用表示它们之间的内容为注释部分。 3符号“/ ”的单个使用表示所在行的该符号之后的内容为注释。 注意: 1注释符“”与“”、“( *”与“* )”在使用时不支持注释的嵌套,而且必须成对使用。 2对于单行和少量几行注释使用符号“/ ”,对于大块注释使用“”和“”或“( *”和“* )

7、”。 3有时可利用注释在代码中形成一个醒目标志。 4在注释符“”或“( *”后紧接着是一个美元符号“$”时,表示该句是一个编译器指令,它与普通的注释不同,通常用来对编译过程进行设置。2.2 数据类型数据类型描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序加工处理的符号的集合称为数据。 数据类型可以分为标准数据类型及高级数据类型等,还可以通过数据类型声明语句在预定义数据类型的基础上定义新数据类型。说明: 1标准数据类型属于Object Pascal内部约定的数据类型,无需定义就可以直接使用。 2高级数据类型体现了特殊的数据结构,在使用之前必须由用户自己定义。 3数据类型中整型、字符型

8、、布尔型、枚举型和子界型被称为顺序类型,其取值是一个有序集合,每一个可能取值都与顺序有关。2.2.1 数值型数据数值型数据数值型数据可分为整数类型和实数类型。1.整数类型 整数类型是存储整数数据的类型 ,分为基本整形和一般整形。基本整形:短整型 、小整型 、长整型 、64位整型 、字节型 、字型 、长字型 一般整形:整型 、序数型 注意:尽量使用一般整型Integer和Cardinal,可以最大限度发挥CPU和操作系统的性能。 2.实数类型实数类型是存储实数数据的类型 ,分为基本实型和一般实型。基本实型:单精度实型 、扩展型 、双精度实型 、货币型 一般实型:实型 注意:Real 类型与Dou

9、ble 类型完全等价。Currency类型至少有4位有效的小数位。 2.2.2 字符型数据字符型数据 Object Pascal中的字符型数据可以分为字符型和字符串型2类7种。1.字符类型Object Pascal包括3种形式的字符型数据 类型类型 名称名称 字节数字节数 取值范围取值范围 Ansi字符型 AnsiChar 扩展ANSI字符集 宽字符型 WideChar UniCode字符集 字符型 Char ()扩展ANSI字符集 说明:(1)前2种为基本字符类型后一种为一般类型。(2)Char与AnsiChar完全等价,但Char常用。 2.字符串类型字符串类型是存储字符串数据的类型 ,O

10、bject Pascal包括了4种形式的字符串型数据 类型类型 名称名称 最大长度最大长度 所需内存空间所需内存空间 短字符串型 ShortString 255个字符 2256B 长字符串型 AnsiString 231个字符 42GB 宽字符串型 WideString 230个字符 42GB 字符串型 String 231个字符 42GB 说明:()AnsiString类型的定义是动态分配的,内容由AnsiChar类型的字符组成,长度仅受可用内存空间的限制,以空字符Nul作为结尾。()String字符串类型,既可以是ShortString类型也可以是AnsiString类型,默认定义是Ans

11、iString类型。2.2.3 布尔型数据布尔型数据布尔型数据用于关系运算和条件语句的逻辑运算,包括4种形式的布尔型数据。 说明:(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) 2.3 常量与变量常量与变量

12、2.3.1 常量常量常量即在程序的执行过程中其值不能改变的量。 常量有两种,一种是常量值本身,也称为直接常量;另一种是要用声明定义的标识符表示的常量,也称为声明常量。声明常量又可以分为符号常量和类型常量。1.直接常量直接常量是指在程序中直接引用的常数,如整型常数、实型常数、字符型常数、字符串型常数和布尔型常数。 2.声明常量(1)符号常量 在程序中,某一个常数反复多次出现,可以定义一个标识符来代表该常数,这个标识符就是符号常量,其值在定义后不会改变。也称纯常量。定义符号常量使用常量说明语句,其语法格式为:Const =; =;其中Const是保留字,表示常量定义段开始 。注意:保留字Const

13、可单独一行也可与常量一行。不能在程序中给常量另行赋值,否则将导致语法错误。Delphi由常量值判断常量名属于哪种类型。(2)类型常量类型常量用于保存数组、记录、过程以及指针等类型的值,不能出现在常量表达式中。在默认的编译器状态下,类型常量的值可改变,但当在程序中加入编译命令$j-时,则类型常量的值在运行期就无法改变。 声明类型常量的语法规则为:Const :=;其中类型是除文件型和可变型的所有类型,常量值可以是和类型相应的常量表达式。 2.3.2 变量变量1.变量的声明变量在单元、函数或过程的声明部分进行声明,声明的位置决定了变量的作用域。声明包括两部分:变量名和它所属的类型,变量声明的语法格

14、式为:Var :;:;当多个变量具有相同数据类型时,格式如下:Var ,:;其中,Var是保留字,表示变量声明段的开始;同类型的可超过一个,间用“,”分隔;可以是基本数据类型或是由用户定义的高级数据类型; 2.变量的使用一旦声明了一个变量应及时对它进行初始化,最简单方法就是给变量赋值,在表达式中使用变量。 2.4 运算符与表达式运算符与表达式按照操作数数目的多少来分,运算符分为下面两类:单目运算符和双目运算符。单目运算符一般放在操作对象的前面,双目运算符都放在两个操作数之间。表达式是表示某个求值规则的运算公式,由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。 2.4

15、.1 算术运算符与算术表达式算术运算符与算术表达式1.算术运算符算术运算符对浮点数和整数进行加、减、乘、除和取模运算,取正“+”和取负“-”是单目运算符,其他均为双目运算符。 说明:(1)+、-、*运算中,参加运算的数可以是整型和实型,结果自动向精度高的类型转化。(2)参加除法运算“/”,结果都是实型的商。(3)参加整数除法“Div”和求余运算“Mod”的数必须是整型,结果也是整型数,符号与被除数的符号相同,小数部分被舍去。(4)在表达式a/b、a Div b和a Mod b中,如果b的值为0,将会触发一个错误。 2.算术运算符的优先级 同级运算自左至右,如果含有括号,则先计算括号内表达式的值

16、。3.算术表达式 将数学式改写为算术表达式,考虑三个问题:一是语法,二是优先级,三是类型。 优先顺序优先顺序 运算符运算符 +、-(取正、取负) *、/(法、除法) Div、Mod(整除、求余) +、(加法、减法) 说明:(1)数学式中省略的运算符和表示函数参数的括号必须添加上去 (2)必须注意优先级的处理 ,恰当利用标准函数 ,注意数据类型。 2.4.2 逻辑运算符与布尔表达式逻辑运算符与布尔表达式逻辑运算符可分为布尔运算符、位运算符和关系运算符。1.布尔运算符只能对两个布尔型操作数进行运算,结果仍为布尔型,True或False。其中,NOT是求“非”,为一元运算符 ; AND是求“与”,O

17、R是求“或”,XOR是求“异或”,均为二元运算符 。 2.位运算符运算符运算符 操作举例操作举例操作数类型操作数类型 结果类型结果类型 功能说明功能说明 NOT NOT x 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位,左移一位相

18、当于乘2 SHR a SHR b integer integer 将a的二进制向右移动b位,右移一位相当于除2 注意:右移操作时原值的低位丢失,高位补0;左移操作时原值的高位丢失,低位补0。 3.关系运算符关系符关系符 操作操作 操作数类型操作数类型 结果类型结果类型 = 等于 简单类型,字符串或可变类型,类,类引用,指针,集合类型 Boolean 不等于 简单类型,字符串或可变类型,类,类引用,指针,集合类型Boolean 大于 简单类型,字符串或可变类型 Boolean = 大于等于 简单类型,字符串或可变类型 Boolean 4.布尔表达式布尔表达式由布尔运算符和布尔类型的操作数所组成,

19、包括关系运算表达式和运算结果为布尔类型的函数,如Odd(x)、FileExists(x)、等。但位运算符的结果是整数类型,不能直接作为布尔操作数。2.4.3 字符串运算符 连接运算符“+”主要用于连接两个或更多的字符串。最简单的字符串表达式是字符常量、字符串常量、字符变量、字符串变量或字符函数的引用。字符串表达式格式为: +| 当两个字符串用连接运算符连接起来后,第二个字符串直接添加到第一个字符串的尾部,结果是包含两个源字符串全部内容的新字符串。如果要把多个字符串连接起来,每两个字符串之间都要用“+”号分隔。 2.4.4 运算符的优先级优先顺序优先顺序 运算符运算符 分类描述分类描述 1(取地

20、址),NOT,- 一元运算符 2*,/,DIV,MOD,AND,SHL,SHR 乘除及类型强制转换运算符 3+,OR,XOR 加减运算符 4=, =,in,is 关系、集合成员及类型比较运算符 2.5常用系统函数与过程常用系统函数与过程2.5.1 数值运算函数 Delphi的数值运算函数包含了常用的数学函数(如三角函数、对数函数等)和适合计算机数据处理的其他函数(如求数组中的最大值、求三角形的斜边长等)。2.5.2 字符处理函数 对字符的处理主要包括:大小写转换、比较先后顺序、合并、查找、截取、插入、求长度以及类型转换等。 2.5.3 日期时间函数 调用日期时间函数可对日期和时间进行处理 2.

21、5.4 顺序类型函数1.顺序类型 顺序类型指整型、字符型、布尔型、枚举型、子界型5种数据类型,如下所述: (1)整数的的序数是其自身; (2)字符的序数是其ASCII 码; (3)布尔型数据:False序数为0,True为1; (4)枚举型第一个数据序数为0,其余类推; (5)子界型第一个数据序数为1,其余类推。 除第一个序数,每一个都有一个前趋值;除最后一个序数,每一个都有一个后继值。2.顺序函数 2.6语句语句2.6.1 语句的基本概念语句的基本概念按执行时间可分为:声明语句和可执行语句。顺序函数顺序函数 引用形式引用形式 函数功能描述函数功能描述 序数函数 Ord(x); 返回数据x的序

22、数 前趋函数 Pred(x); 返回数据x的前趋值。如果将Pred函数用于第一个数据,就可能产生一个编译时的错误 后继函数 Succ(x); 返回数据x的后继值。如果将Succ函数用于最后一个数据,就可能产生一个编译时的错误 首序数函数 Low(x); 返回顺序型数据x取值集合中的第一个值(序数最小)。它还可以返回数组的第一个元素 末序数函数 High(x); 返回顺序型数据x取值集合中的最末一个值(序数最大),它还可以返回数组的最末一个元素 声明语句包括单元说明语句、类型说明语句、变量说明语句、过程说明语句、函数说明语句和程序区段标识语句等。 可执行语句包括赋值语句、运行控制语句和结构控制语

23、句等。 按语句的描述形式,可分为简单语句、结构语句和复合语句等。 简单语句只含有一个语句定义符或特殊标志;结构语句往往含有多于一个的语句动词;复合语句则是由begin和end括起来的若干个简单语句、结构语句和复合语句,允许复合语句多层嵌套,或为空,也就是在begin和end之间没有其他语句。 2.6.2 常见声明语句常见声明语句1.标号声明语句 标号声明语句即用一个整型数来表示程序的某个执行语句,一行标号声明语句可以同时声明几个标号,其用法如下所示: label Aa,Ab; var I:integer; begin /语句 if(I=0) then goto Aa; /语句 Aa:begin

24、 /语句 end; end;2.类型声明语句在Object Pascal中,所有的变量必须是某种特定的数据类型,类型决定了它所能包含的数值和可进行的操作,用类型声明语句可以定义新的数据类型。例如:TypeTmyDim:Array1.10,1.5 of Double;3.过程声明语句过程可以被看成一段小程序,用来实现某种特定的目标,在完整的程序中它被当作一个语句来执行。在建立过程之前应先声明。procedure NumString(N:Integr;Var S:string);4.函数声明语句函数与过程相似,主要区别在于函数必须有返回值,函数的声明参见下面的语句,其中,最后的Real表示函数的返

25、回数据类型。Function Power(X:Real;Y:Integer):Real;2.6.3 赋值语句和程序的顺序结构赋值语句和程序的顺序结构1.赋值语句赋值语句的语法格式为::=;2.类型兼容类型兼容是指数据类型不完全相同的量之间能进行的运算和赋值操作。 3.利用赋值语句给对象属性赋值由于属性总是归属于对象才有实际意义,所以引用属性时用符号“.”来连接表示其隶属关系。如组件Editl的字体的颜色属性表示为:Editl.Font.Color。 4.顺序结构顺序结构是最简单、最常用的结构。在该结构中,各操作块按照出现的先后顺序依次执行,不产生程序流程的其他转移。它是任何程序的主体结构,即使

26、在选择结构或循环结构中,也常以顺序结构作为其子结构。通常由若干个赋值语句或其他简单语句构成 。2.6.4 条件语句和程序的选择结构条件语句和程序的选择结构实现选择结构的是IF语句和Case语句,这两种语句又称条件语句,条件语句的功能就是根据表达式的值有选择地执行一组语句。 1.if语句通过条件的布尔表达式值选择执行路径。if then else ;if语句分为简单条件语句和复合条件语句。简单条件语句的中不包含其他的条件语句 。如果在If语句格式中的或本身又是一个If语句,则称为If语句的嵌套,嵌套的If语句又被称为复合条件语句。 2.Case语句Case语句用来实现多分支选择结构。Case语句描述了多路择一的功能,它根据“选择器表达式”的值决定执行相应的语句。Case语句的语法格式为: case of:;:;else ;end;说明:的值必须是顺序类型 。2.6.5 循环语句和程序的循环结构循环语句和程序的循环结构从某处开始有规律地反复执行某一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论