Lazarus复合数据类型

1. 枚举类型
性别、月份、星期几、颜色、单位名、学历、职业等,都不是数值数据。 在程序设计语言中,一般用一个数值来代表某一状态,可以使用枚举类型,语法:
type
数据类型标识符 = 枚举数据;
例如:
type
MonthType = (January, February, March, April,
May, June, July, August, September,
October, November, December);
使用时,可以声明一个变量:
var
Month : MonthType;
可以赋值枚举数据给变量:
Month := January;
使用函数可以获取枚举数据的序号,如下:
ord(January)=0,ord(December)=1
注意:
虽然,枚举类型在程序内部可以使用,但它们不能被读取或写入文本文件里。
在使用时,需要先读取转换为枚举类型后再使用。

2. 子界类型
如果定义一个变量i为integer类型,那么i的值在微型机系统的pascal中,使用2字节的定义表示法,取值范围为-32768~32767;而事实上,每个程序中所用的变量的值都有一个确定的范围;例如:人的年龄一般不超过150;一个班级的学生不超过100人;一年中的月数不超过12;一月中的天数不超过31,等等。
如果能在程序中对所用的变量的值域作具体规定的话,就便于检查出那些不合法的数据,这就能更好地保证程序运行的正确性;而且在一定程度上还会节省内存空间。
语法:
最低值 .. 最高值
例子:
type
DaysOfWeek = (Sunday, Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday);
DaysOfWorkWeek = Monday..Friday;
也可以使用字符或整数在子界类型中

3. 记录类型
记录类型允许你将多个数据类型组成一个数据类型。假设你想存储一个人的信息,它会包含姓名、年龄、城市、区域、国家、邮编等信息。类似于类
语法:
TYPE
记录类型名 = record
标识符1 : 类型1;
...
标识符n : 类型n;
end;
例子:
type
InfoType = record
Name : string;
Age : integer;
City, State : String;
Zip : integer;
end;
其中Name、Age、City、State和Zip这些标识符,被称为字段。通过变量名来使用这些字段:
变量标识符.字段标识符(使用点(.)来分隔变量名和字段名)
使用时,先用类型声明一个变量
VAR
记录变量名:记录类型名;
如果一个记录字段很多,得一个一个输入变量名,也可以使用字段标识符,如:
WITH 记录变量名 DO
BEGIN
...
END;
例子:
with Info do
begin
Age := 18;
ZIP := 90210;
end;

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注