Процедуры и функции в Delphi XE, или Разделяй и властвуй

- Милая, на сколько кусков разрезать тортик,

на четыре или на шесть? - Режь на четыре, шесть я не съем!

Анекдотичный пример женской логики

- Резать к чёртовой матери!

Решительная фраза врачихи из к/ф Покровские ворота

 

Во всех современных языках программирования большие программы де­лятся на отдельные части (модули), которые не зависят друг от друга, по­этому их легче отлаживать, чем программу необъятных размеров. Другое преимущество модульного программирования состоит в реализации важ­нейшего принципа: «Никогда не пишите дважды один и тот же код!». От­лаженные модули могут быть легко присоединены к любой программе и будут работать там «без шума и пыли».

 

В отдельные модули обычно помещают процедуры и функции общего назначения, которые могут потребоваться во многих программах. Напри­мер, процедура Soundв наших программах воспроизводит звуковые фай­лы, функция GetRandom генерирует случайные числа в заданном интерва­ле... У вас по мере написания программ также накопится множество таких полезных подпрограмм, которые есть смысл сгруппировать вместе и пе­ренести в отдельный модуль.

 

Каждый класс (о классах речь пойдёт дальше) тоже желательно упрятать в отдельный модуль - как для удобства отладки и повторного использова­ния, так и для сокрытия деталей реализации класса от посторонней пуб­лики.

 

Модульный принцип позволяет разрабатывать сложную программу по частям, что гораздо эффективнее и быстрее, чем «монолитное» приложе­ние. Этот же принцип действует и на уровне каждого модуля, который и сам сложен из отдельных «кирпичей» программного кода - подпрограм­мам, которые в Delphi называются процедурами и функциями.

Подпрограмма - это часть программы, выполняющая некоторую после­довательность действий (операторов) для решения какой-либо частной

 

задачи. Например, подпрограммы могут воспроизводить звук, генериро­вать числа, вычислять значения, делать паузу в программе - да что угодно! Обычно подпрограмма служит для разбивки большого куска кода на от­дельные части, удобные для написания и отладки, а также для повторного их использования в разных частях программы. По структуре подпрограм­мы очень похожи на программы в миниатюре.

 

Примером модульного подхода может служить книга: она состоит из от­дельных частей (томов), разбитых на главы. Сами главы разбиты на пара­графы, абзацы, строки. А любой механизм состоит из отдельных узлов, а те, в свою очередь, - из деталей. И даже венец природы являет собой луч­ший образец модульного мышления Создателя нашего: человек - это со­вокупность отдельных органов (пищеварения, дыхания, кровообращения, слуха и других), что и позволяет лечить болезни узким специалистам (увы, не всегда успешно именно из-за своей узкой специализации).

 

Процедуры и функции очень похожи друг на друга, поэтому мы будем изу­чать их параллельно. Кстати говоря, в языке С процедур нет - только функции. Здесь роль процедур играют функции, не возвращающие значе­ний. Именно этим принципиально отличаются процедуры и функции: процедура только выполняет свои операторы, а функция ещё и возвраща­ет некоторое значение (вычисленное в ней) в ту точку программного кода, откуда она была вызвана.

 

 

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

������� ������ ��� dle ������� ��������� ������

Помоги проекту! Расскажи друзьям об этом сайте: