Под областью действия имени подразумевается та часть модуля или программы, в пределах которой это имя доступно программисту.
Если имя константы, переменной, подпрограммы или другого элемента программы объявлено в интерфейсной части модуля, то оно доступно не только в данном модуле, но и во всех других модулях, которые в инструкции uses имеют ссылку на данный модуль.
Если имя объявлено в разделе implementation модуля, то оно доступно только процедурам и функциям данного модуля.
Если имя объявлено в разделе описаний некоторой процедуры, то это имя доступно только в пределах данной процедуры. Такие имена иногда называют локальными. Достоинство локальных объявлений в том, что в различных процедурах могут использоваться одинаковые имена, и эти имена не будут конфликтовать.
Рисунок 3.2 – Вложенные процедуры
Подпрограммы могут быть вложенными, то есть в описательной части некоторой подпрограммы может быть описана еще одна подпрограмма, а в ней еще одна, и так далее. В таких случаях имя, описанное в некоторой процедуре, доступно не только в ней, но и во всех вложенных процедурах, но не доступно в подпрограммах более высокого уровня.
На рисунке 3.2 схематично показаны три процедуры. Процедура «с» описана в процедуре «b», которая, в свою очередь, описана в процедуре «а». Переменная «i», объявленная в процедуре «b», доступна и в процедуре «c», но недоступна (невидима) в процедуре «a».
3.2 Реализация проекта «Процедуры и функции»
В этом проекте мы будем решать ту же задачу, что и в проекте для предыдущей работы, но подход к решению задачи будет другой. Мы разобьем задачу на части, которые оформим в виде процедур и функций. Более того, эти составные части мы разместим в разных модулях.
Откройте новый проект. Удалите появившуюся форму и загрузите в проект модуль формы из проекта для предыдущей работы. Переименуйте модуль, дав ему имя, например UnitSubroutine. Слово Subroutine переводится с английского языка как подпрограмма. Теперь можно работать с этим модулем как с новым.
Форму переименуйте и назовите frmSubroutine. В заголовке напишите текст «Процедуры и функции».
Форма должна иметь вид подобный форме, изображенной на рисунке 3.3, но соответствовать варианту задания, выполненного в предыдущей работе.
Рисунок 3.3 – Интерфейс проекта «Процедуры и функции»