1. Free Pascal支持固定记录和带变体部分的记录。
2. Free Pascal还支持“打包记录”,即所有元素均按字节对齐的记录。
3. 示例
program projectRecordType;
type
Point = Record
X,Y,Z:Real;
end;
RPoint = Record
Case Boolean of
False:(X,Y,Z:Real);
True:(R,theta,phi:Real);
end;
BetterRPoint = Record
Case UsePolar:Boolean of
False : (X,Y,Z :Real);
True : (R,theta,phi : Real);
end;
//嵌套变体部分
MyRec = Record
X : Longint;
case byte of
2 :(Y : longint;
Case byte of
3 : (Z: longint);
);
end;
//打包记录类型
{$PackRecords 1}
Trec1 = Record
A:Byte;
B:Word;
end;
{$PackRecords default}//恢复默认
Trec2 = Packed Record
A:Byte;
B:Word;
end;
begin
end.