русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Расположение подпрограмм


Дата добавления: 2014-11-28; просмотров: 916; Нарушение авторских прав


Подпрограммы могут располагаться в самых разных местах. Место расположения программы не влияет на ее работу, но от этого зависит доступность (видимость) подпрограммы. Ниже рассматриваются варианты расположения подпрограмм и обсуждаются особенности их использования, зависящие от расположения подпрограммы.

3.1.3.1 Подпрограммы обработки событий класса формы

В ранее рассмотренных примерах мы уже имели дело с такими подпрограммами.

Подпрограммы, относящимися к классу формы, объявляются в описании класса в разделе interface, а располагаются в разделе implementation модуля.

Отличительная особенность этих подпрограмм в том, что в разделе implementation их имя записывается вместе с именем класса, через точку. Это признак того, что подпрограмма принадлежит классу формы.

В таких подпрограммах доступны все компоненты, расположенные на форме. При обращении к ним, нет необходимости указывать имя формы, например, можно писать Edit1.text вместо Form1.Edit1.text.

Одна и та же процедура обработки события может быть связана с событиями нескольких объектов. В этих случаях, для того, чтобы получить доступ к объекту, вызвавшему процедуру, можно использовать ссылку на этот объект, которая передается в процедуру в виде параметра Sender. Чтобы получить доступ к объекту, нужно привести эту ссылку к соответствующему классу, например, таким образом – TButton(Sender).

3.1.3.2 Другие подпрограммы класса формы

Класс формы может содержать не только процедуры обработки событий, но и другие подпрограммы. Обычно эти подпрограммы как-то связаны с компонентами формы, и расположение подпрограммы в классе формы упрощает доступ к ее компонентам. Эти подпрограммы отличаются от процедур обработки событий только тем, что программист сам должен вводить объявления подпрограмм, кроме того, эти объявления могут располагаться только в разделах private или public описания класса формы. Сама же процедура будет размещаться в разделе implementation.



После объявления подпрограммы можно автоматически сформировать шаблон подпрограммы в разделе implementation модуля, нажав комбинацию клавиш <Ctrl+Shift+C>. Для перемещения между описанием и объявлением подпрограммы класса можно использовать комбинации клавиш <Ctrl+Shift+↑> и <Ctrl+Shift+↓>.

Рассмотрение подпрограмм, относящихся к классу формы, выходит за рамки нашего курса, поэтому мы, по возможности, не будем их использовать.

3.1.3.3 Размещение подпрограмм в модуле

В модуле формы, помимо подпрограмм, принадлежащих классу формы, могут располагаться и другие подпрограммы, причем, это не исключение, а скорее правило. В дальнейшем мы будем писать в основном именно такие подпрограммы.

Если такая подпрограмма используется только в данном модуле, то она описывается в разделе implementation,и ее описание должно располагаться раньше, чем обращение к ней.

В тех же случаях, когда подпрограмму предполагается использовать и в других модулях, то помимо описания в разделе implementation, ее следует объявить в разделе interface,но за пределами описания класса.Объявление подпрограммы модуля выглядит так же, как и ее заголовок.

Если в подпрограмме модуля, не принадлежащей к классу формы, приходится обращаться к компонентам формы, то при таких обращениях пред именем компонента следует указывать имя формы, например, Form1.Edit1.text.

3.1.3.4 Размещение подпрограмм в других модулях

Подпрограммы, которые могут использоваться в нескольких проектах, удобно не копировать в каждый из этих проектов, а размещать в отдельных модулях, которые можно подключать к проектам через инструкцию uses.

Мы уже видели, что часто используемые алгебраические и тригонометрические функции описаны в модуле System, другие математические процедуры описаны в модуле Math.

Описания таких процедур располагаются в разделе реализации модуля (implementation), но для того, чтобы процедура была доступна в других модулях, необходимо объявить процедуру в разделе interface, продублировав там заголовок процедуры.

3.1.3.5 Размещение подпрограмм внутри других подпрограмм

Как уже упоминалось выше, в разделе описаний подпрограммы могут быть описаны другие подпрограммы. Такие подпрограммы называются внутренними по отношению к подпрограмме, в которой они описаны. Сама процедура, по отношению к внутренним подпрограммам называется внешней.



<== предыдущая лекция | следующая лекция ==>
Способы передачи параметров в подпрограммы | Область действия имен


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.217 сек.