集合类(set), 数组类型(array), 记录类型(record), 文件类型(file), 类类型(class), 类引用类型(class reference ), 接口类型(interface)


注: 任何类型在添加packed关键字时,构造类型数据会压缩存储,节省空间,但是会降低访问速度以及产生类型兼容问题。 注2:类型声明在type下, type 声明1;//声明时用等于号 例如 setName = set of 0..9 声明2; 。。。 成员类型声明在begin之前 var进行定义,类型用冒号声明 例如 setName : set of 0..9;

集合类型(set)

setName = set of <基类型>; //char 0..9 ‘A’..’Z’

基类型可以是任意顺序类型,不能是实型或其他构造类型。最大序号不超过255.

集合类型运算:

  1. Include(CharSet, 'a'); //在集合中增加元素'a' 推荐使用
  2. CharSet := CharSet+['b']; //在集合中增加元素'b'
  3. Exclude(CharSet, 'x'); //在集合中删除元素'x' 推荐使用
  4. CharSet := CharSet-['y', 'z']; //在集合中删除元素'y', 'z'

数组类型(array)

ArrayName = array[1..8] of integer;
多维数组
ArrayName = array[1..8,1..8] of integer;
动态数组
ArrayName = array of integer;
动态数组可以使用 SetLength(array,length); 来进行分配大小,length为0时,就是释放空间。

记录类型(record)

recordName = record
regionName1:integer;
regionName2:double;

end;
记录类型包含多个域,每个域都可以有自己的数据类型。
调用: recordName.regionName