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.










