Lokalne deklaracje


Część opisowa deklaracji procedury/funkcji często zawiera deklaracje lokalnych identyfikatorów używanych wewnątrz danej procedury/funkcji. Mogą to być deklaracje stałych, zmiennych, typów a także innych procedur i funkcji. Zakres ważności lokalnych identyfikatorów ogranicza się do wnętrza procedury/funkcji zawierającej zagnieżdżone deklaracje.

Zagnieżdżone procedury/funkcje

Procedury czasami zawierają wewnątrz swej części opisowej deklaracje innych funkcji i procedur. Przykład:

procedure DoSomething(S: string);
var X, Y: Integer;

  procedure NestedProc(S: string);
  begin
    ...
  end;

begin
   ...
  NestedProc(S);
   ...
end;

Zakres ważności zagnieżdżonej procedury/funkcji jest ograniczony do wnętrza procedury/funkcji, w której dokonano zagnieżdżenia. W powyższym przykładzie, procedura NestedProc może być wywoływana tylko ze środka procedury DoSomething.