Процедуры и функции. Структура процедуры.
При программировании в Delphi работа программиста заключается в основном в разработке процедур (подпрограмм) обработки событий.
При возникновении события автоматически запускается процедура обработки события, которую и должен написать программист. Задачу вызова процедуры обработки при возникновении соответствующего события берет на себя Delphi.
В языке Object Pascal основной программной единицей является подпрограмма. Различают два вида подпрограмм: процедуры и функции. Как процедура, так и функция, представляют собой последовательность инструкций, предназначенных для выполнения некоторой работы. Чтобы выполнить инструкции подпрограммы, надо вызвать эту подпрограмму. Отличие функции от процедуры заключается в том, что с именем функции связано значение, поэтому имя функции можно использовать в выражениях.
Структура процедуры
Процедура начинается с заголовка, за которым следуют:
- раздел объявления констант;
- раздел объявления типов;
- раздел объявления переменных;
- раздел инструкций.
В общем виде процедура выглядит так:
procedure Имя (СписокПараметров); const // здесь объявления констант type // здесь объявления типов var // здесь объявления переменных begin // здесь инструкции программы end;
Заголовок процедуры состоит из слова procedure, за которым следует имя процедуры, которое используется для вызова процедуры, активизации ее выполнения. Если у процедуры есть параметры, то они указываются после имени процедуры, в скобках. Завершается заголовок процедуры символом "точка с запятой".
Если в процедуре используются именованные константы, то они объявляются в разделе объявления констант, который начинается словом const.
За разделом констант следует раздел объявления типов, начинающийся словом type.
После раздела объявления типов идет раздел объявления переменных, в котором объявляются (перечисляются) все переменные, используемые в программе. Раздел объявления переменных начинается словом var.
За разделом объявления переменных расположен раздел инструкций. Раздел инструкций начинается словом begin и заканчивается словом end, за которым следует символ "точка с запятой". В разделе инструкций находятся исполняемые инструкции процедуры.
Ниже в качестве примера приведен фрагмент программы вычисления стоимости покупки – процедура Summa.
procedure Summa; var cena: real; // цена kol: integer; // количество s: real; // сумма mes: string[255]; // сообщение begin cena: = StrToFloat(Form1.Edit1.Text); kol: = StrToInt(Form1.Edit2.Text); s: = cena * kol; if s > 500 then begin s: = s * 0.9; mes: = 'Предоставляется скидка 10%' + #13; end; mes: = mes+ 'Стоимость покупки: ' + FloatToStrF(s,ffFixed,4.2) +' руб.'; Forml.Label3.Caption: = mes; end;