Quick start manual
Syntactic elements
4-17
Declarations and statements
In this example, TByteRec is used to access the low- and high-order bytes of a word,
and TWordRec to access the low- and high-order words of a long integer. You could
call the predefined functions Lo and Hi for the same purpose, but a variable typecast
has the advantage that it can be used on the left side of an assignment statement.
For information about typecasting pointers, see “Pointers and pointer types” on
page 5-27. For information about casting class and interface types, see “The as
operator” on page 7-26 and “Interface typecasts” on page 10-10.
Declarations and statements
Aside from the uses clause (and reserved words like implementation that demarcate
parts of a unit), a program consists entirely of declarations and statements, which are
organized into blocks.
Declarations
The names of variables, constants, types, fields, properties, procedures, functions,
programs, units, libraries, and packages are called identifiers. (Numeric constants like
26057 are not identifiers.) Identifiers must be declared before you can use them; the
only exceptions are a few predefined types, routines, and constants that the compiler
understands automatically, the variable Result when it occurs inside a function block,
and the variable Self when it occurs inside a method implementation.
A declaration defines an identifier and, where appropriate, allocates memory for it.
For example,
var Size: Extended;
declares a variable called Size that holds an Extended (real) value, while
function DoThis(X, Y: string): Integer;
declares a function called DoThis that takes two strings as arguments and returns an
integer. Each declaration ends with a semicolon. When you declare several variables,
constants, types, or labels at the same time, you need only write the appropriate
reserved word once:
var
Size: Extended;
Quantity: Integer;
Description: string;
The syntax and placement of a declaration depend on the kind of identifier you are
defining. In general, declarations can occur only at the beginning of a block or at the
beginning of the interface or implementation section of a unit (after the uses clause).
Specific conventions for declaring variables, constants, types, functions, and so forth
are explained in the chapters on those topics.