Name
Record Keyword
Syntax
typeName= recordMembers... end; typeName= packed recordMembers... end; typeName= recordMembers... caseSelectorofCase,...: (Members...;); ... end; typeName= packed recordMembers... caseName:SelectorofCase,...: (Members...;); ... end;
Description
A record in Delphi is the same as a record in
standard Pascal. A record is a structured type that contains zero or
more members. Each member is like a variable,
consisting of a name and a type. A record-type variable has space for
all of the record’s members, and you can refer to individual
members of a record.
By default, record members are aligned so they start on natural
boundaries. A packed record eliminates the padding between members,
which can result in a smaller record size, but at the expense of
increased access time. See the packed keyword for
details.
Variant Records
A record can be a variant record (equivalent to a
union in C or C++), where members can share the
same space within the record. The variant part of a record must
follow all the non-variant members. The
Selector can be just a type name or it can
declare an additional member. The selector member tells you which
variant case to use. Without a selector member, you must use another
technique to know which variant case is
correct.
Each case specifies one or more constants whose type is the selector type. After the colon, the case lists zero or more member declarations inside parentheses.
You cannot have long string, dynamic array, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access