14.1 Procedure declaration

A procedure declaration defines an identifier and associates it with a block of code. The procedure can then be called with a procedure statement.

_________________________________________________________________________________________________________
Procedure declaration

--                -              -  -             -  -----------
  procedure declaration procedure header  ; subroutine block ;

 --             -         ---------       ---------
   procedure header procedure  -      identifier       -|
----               ----------qualified method identifier----------------
    formal parameter list-modifiers -|hintdirectives

--subroutine block-|-----block--------------------------------------
                |-external directive-|
                |---asm block----|
                     forward
___________________________________________________________________

See section 14.4, page 759 for the list of parameters. A procedure declaration that is followed by a block implements the action of the procedure in that block. The following is a valid procedure:

Procedure DoSomething (Para : String);
begin
  Writeln ('Got parameter : ',Para);
  Writeln ('Parameter in upper case : ',Upper(Para));
end;

Note that it is possible that a procedure calls itself.