一、数据类型: (1) 基本数据类型: a、 整数类型: (通用类型<32位>:Integer-有符号;Cardinal-无符号) 具体: 有符号:Shortint<8位>,Smallint<16位>,Longint<32位 > 无符号:Byte<8位>,Word<16位>,LongiWord<32位 > b、字符类型: (通用类型<8位>:Char -与AnsiChar等同) 具体: AnsiChar<8位> :主要存放Ansi字符 WideChar<16位>:主要存放Unicode字符 c、布尔类型: (通用类型<8位>:Boolean-与ByteBool等同) 具体: ByteBool<8位>,WordBool<16位>,LongBool<32位> 不同的布尔类型主要用于鱼其它编程语言及不同windows系统兼容。 d、枚举类型: 定义:type 枚举类型标识符=(key1[=val1],.。。。,keyn[=valn]) :n<=255 如果给某些key指定了值,则未指定值的key是前一个key值加1; 如果全部默认不指定值,则key1值为0,往后逐个加1。 e、子界类型: 定义:type 子界类型标识符=下界 ..下界 如:type SubInt=1..3 0;表示 1~30的整数 type SubChar='a'..'z';表示字符 ※注:1、以上四种类型称为有序类型,即除第一个数为都有先行数、除最后一个数外都有后继数。在这里 (计算机里),整数是有限的。有序类型的数都有一个序号,称为序数。整数的序数为其本身,其他类型第一 个数序数为0,依次递增。 2、子界类型上、下界必须是有同一有序类型,且上界序数大于下界序数。 f、浮点类型: (通用类型<8字节>:Real-与Double等同) 具体: Double<8字节>,Real48<6字节>Single<4字节>, Extended<10字节>,Comp<8字节>,Currency<8字节> g、字符串类型: (通用类型:String-与AnsiString等同) 具体: ShortString :最多存放255个字符,第一个自己存放字符个数,不以NULL结尾 AnsiString :存放Ansi字符,以NULL结尾 WideString:存放Unicode字符,以NULL结尾 h、时间、日期类型:TDateTime -实际是浮点类型的别称 (2)复杂数据类型: a、指针类型: 定义:type 指针类型标识符=^基本类型; 内在分配:New() 内存释放:Destroy() 对于Pointer 和PChar 用GetMem()或AllocMem()分配内存,用FreeMem()释放内存 分配内存后,就可以当成基本类型一样使用:指针类型标识符^ 实际上常如下运用指针: var 变量标识符:^基本类型; 为变量分配内存后就可以将(变量标识符^)当成普通变量使用。 b、记录类型: 定义:type 记录类型标识符=Record 字段1:类型; ... 字段n:类型; end; c、集合类型: 定义: type 集合类型标识符=Set of 基本类型的子集或子界类型;(<=255个元素) d、变体(通用)类型: Variant; (3)数组类型: a、一维数组: 定义:type 数组标识符=Array[下标下限..下标上限] of 基本类型; b、多位数组: 定义: type 数组标识符=Array[下限1..上限1,...,下限n..上限n] of 基本类型; c、动态数组(变量): var 标识符:array of 基本类型; SetLength(标识符,个数);//分配空间 标识符:=nil;//释放 二、语句 首先要说一下begin ... end; 相当于c或者c++中的{ ... }。 (1)声明语句 常量:const 常量标识符[:类型]=常值; 变量:var 变量标识符:数据类型;
(2)表达式语句 由运算符组成的合法语句 运算符优先级: 运算符 优先级 @ not 1 (最高) *,/,div,mod,and,shl,shr,as, 2 +,-,or,xor 3 >,<,>=,<=,<>,=,in,is, 4 (最低)
(3) with ... do ... end 语句 主要在操作记录类型或组件时使用。 示例:type people=Record //定义记录people name:string; addr:string; age:integer; sex:string; end; var Me:People; //定义people型的变量 with Me do begin name:='Paul'; addr:='Guangzhou'; age:=23; sex:='male'; end; (4)goto 语句 现在所有声音都是说要减少goto语句是使用,所以尽量少用为是。 示例: Label MyLabel; //用Label保留字声明MyLabel MyLabel: //标记 、、、 //其它语句 goto MyLabel; //跳转到MyLabel 处
(5)条件语句 a、if ... then ... 语句 if 布尔表达式 then ..; 或 if 布尔表达式 then begin ... end; 其它格式: if ... then... else ...; if ... then .. else if ... then ... else ...;
b、case ... of 语句 case 表达式 of 值1:... 值2:... ... 值n:... end;
6)循环语句 a、for ... to ... do 语句 for 循环变量:=初值 to 终值 do ...; 或 for 循环变量:=初值 to 终值 do begin 。。。 end;
b、while ... do 语句 while 布尔表达式 do ...; 或 while 布尔表达式 do begin ... end;
c、repeat ... until 语句 repeat ... until 布尔表达式;
(7)循环的中断 break: 循环结束 continue:结束本次循环 goto:(略) exit:退出当前函数或过程 halt():终止整个程序,参数为整数 RunError():(略)
三、过程与函数 (1) 过程(无返回值) 声明: procedure <过程名> (<参数列表>);
(2)函数(有返回值) 声明: function <函数名> (<参数列表>):返回值类型; 用Result 或 <函数名>返回函数值; 即在函数中用 Result:=函数值;或 <函数名>:=函数值;返回; 
|