delphi的objectPascal语法(部分)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.注释
三种:花括号,圆括号+星号,c++风格的双斜杠注释。不同注释符号可以嵌套,而相同注释符号不可以嵌套。
2.对象命名
大小写不敏感,不同于C/C++/java/C#.
良好命名习惯
1.用意义明确的英文单词和词组命名。
2.单词首字母大写。java:类名首字母大写,对象名小写。
3.若用多个单词命名一个对象,则单词之间不能插入空格,每一个单词的首字母大写(驼峰格式)。
4.名称的第一个字母尽量不要用T,F,I这三个字母。T开头的命名一般代表一个类,F往往用于类中私有成员的命名,I表示此命名为接口。
3.代码组织
代码缩进:通常使代码的每一级向内缩进2格。
4.标识符
可以由任意长的一个不带空格的字符串组成,但是只有前面的255个字符有效。组成规则和C相同。
5.变量
1.变量的声明
var VariableName :type;
2.局部变量和全局变量
全局变量一般在implementation后面声明,它可以在声明时直接被初始化为一个值。而局部变量在声明时不能进行初始化。在没有初始化的情况下,所有的全局变量会自动初始化为0,而局部变量则根据变量类型的不同而不同。变量在声明后系统都会给分配一个内存空间。
5.常量
const variablename=value;
和变量不同的是,常量的类型就是常量说明中其所代表的值的类型。
6.预定义类型
object pascal有多个预定义类型,其中包含整型,实型,布尔型,字符型,指针型,字符串型。
1.整型(integer),2字节。shortint,1字节。longint,4字节。byte,1字节。word,2字节。
2.实型(single),4字节。double,8字节。extended,10字节。comp,8字节。
3.布尔型(boolean)只包含TRUE或FALSE两个值,1字节。
4.字符型(char):一个ASCII字符。字符串类型string最长可达255个ASCII字符。
5.指针型(pointer)可以指向任何特定类型。
6.字符串型(pchar)是一个指向以零结尾的字符串的指针。
7.保留字和指令字
65个保留字,具有特殊含义,不可用作标识符,变量或常量。
39个指令字,具有特殊含义,可以重新定义。
8.数据类型
object pascal的最大特点是,它的数据类型特别严谨,这表示传递给过程或函数的实参必须和定义过程或函数时的形参的类型相同。object pascal语言提供的数据类型非常丰富。简单数据类型,字符串数据类型,结构数据类型,指针数据类型,函数和过程数据类型,变体数据类型。
9.简单数据类型
包括有序数据类型(ordinal)和实数数据类型(real).其中有序数据类型又包括整数类型,字符类型,布尔类型,枚举类型和子界类型等。
10 子界类型
是下列这些类型中某范围内的值:整型,布尔型,字符型或枚举类型。
type
Thours=0..23
11.字符串类型
在object pascal中,通常用一对单引号来把字符串括起来。
几种不同的字符串类型:
1.ansistring:默认的字符串类型,由ansichar字符组成,其长度没有限制,同时与null结束的字
符串兼容。
2.shortstring:为了兼容旧版本delphi,长度限制在255个字符内。
3.widestring:功能上类似于ansistring,但它是由widechar字符组成。
可以用编译开关$H来将string类型定义为shortstring.当$H的值为负时($H-),string变量是 shortstring 类型,当$H的值为正时(默认情况),字符串变量是ansistring类型。
使用编译开关$H规则的一个例外是,如果在定义时特地指定了长度(最大在255个字符内),那么就是 shortstring.
12.结构类型
结构数据类型包括集合,数组,记录,文件,类,类引用,接口等类型。
1.集合类型。
定义方法:type
Tint=0..255;
T1=set of Tint;
2.数组类型
var
Tint:array[1..10] of Integer;
表示Tint指向一个含有10个Integer型元素的数据串列,Tint[1]表示第一个变量。
3.在程序中可以把记录当做单一实体来操作。
4.指针类型
指针类型的变量指向内存空间的地址。定义形式如下:
type pointerName=^type;
将@运算符放在变量的前面,将获取变量的地址,并可以把地址赋值为同样数据类型的指针。把^运算符放在一个数据的前面,可以定义该类型的一个指针类型;如果^运算符放在指针的后面,可以获取该指针指向的地址空间的内容。
5。变体类型
有时候变量的类型在编译期内是不确定的,而variant能够在运行期内动态地改变类型,
这就是引入Variant类型的目的。Variant能支持所有简单的数据类型,但是不能表达
Object Pascal对象。Variant可以表达不均匀的数组。
6.强制类型转换
只有当两个变量的数据长度一样时,才能对变量进行强制类型转换。为了把一个浮点数类型转换为一个整数,要用Trunc()或Round()函数。
2.5过程与函数
函数与过程是Pascal语言的两种子类型,它们可以随时被调用。函数在执行时将返回一个值,而过程执行时不返回任何值。调用函数时得到一个返回值,而调用过程仅仅为了执行某种操作。调用函数时直接通过函数名称就可以返回一个值,而调用过程不能通过过程