End
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
The end keyword closes a Block of instructions started with the begin or case keyword, ends the declaration of fields of a record, or closes a try .. finally or try .. except construct. It is also used to close a unit having no initialization code.
For example:
procedure Proc1;
var a,b: integer;
begin
(..)
end;
The end statement is one of the exceptions to the rule that every statement must be followed by a semicolon. The statement immediately preceding an end statement does not require a semicolon.
It is also used to end a pascal source file, in which case it is followed by a period rather than a semicolon (in the example below, the last semicolon is optional):
program Proc2;
var
SL: TStrings;
begin
SL := TStringlist.Create;
try
(..)
finally
SL.Free;
end;
end.
For a UNIT which contains no initialization, END is used to indicate the end of the unit:
unit detent;
uses math;
procedure delta(r:real);
implementation
procedure delta;
begin
...
end;
...
(* Note: No '''begin''' statement *)
end.
It also closes a record:
Type
ExampleRecord = Record
Values: array [1..200] of real;
NumValues: Integer; { holds the actual number of points in the array }
Average: Real { holds the average or mean of the values in the array }
End;
Keywords: begin — do — else — end — for — if — repeat — then — until — while