Слайд 2
![ОБЪЯВЛЕНИЕ Процедуры и функции объявляются в разделе InterFace, а описание](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-1.jpg)
ОБЪЯВЛЕНИЕ
Процедуры и функции объявляются в разделе InterFace, а описание (текст) подпрограммы
создается в разделе реализаций Implementation.
Если объявление включить в описание класса формы, то в заголовке подпрограммы в разделе реализаций имя подпрограммы указывается с именем класса формы.
Слайд 3
![ОБЪЯВЛЕНИЕ ПРОЦЕДУРЫ В КЛАССЕ ФОРМЫ Unit1 Interface Uses … Type](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-2.jpg)
ОБЪЯВЛЕНИЕ ПРОЦЕДУРЫ В КЛАССЕ ФОРМЫ
Unit1
Interface
Uses …
Type
TForm1= class(Tform)
Button1:Tbutton;
.
.
.
Procedure <имя>[(<формальные параметры>)];
Private …
Public …
End;
Слайд 4
![ОПИСАНИЕ ПРОЦЕДУР Implementation {$R *.dfm} Procedure . [( )]; Const](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-3.jpg)
ОПИСАНИЕ ПРОЦЕДУР
Implementation
{$R *.dfm}
Procedure <имя формы>.<имя процедуры> [(<формальные параметры>)];
Const <раздел описания констант>;
Var
<раздел описания переменных>;
Begin
… <тело процедуры – раздел операторов процедуры>;
End;
Примеры 22\1 Процедуры\Project1.dpr
(Показать объявление и текст процедур Kv, Kv1, Kv2)
Слайд 5
![ОБЪЯВЛЕНИЕ ПРОЦЕДУРЫ ВНЕ КЛАССА ФОРМЫ В заголовке подпрограммы в разделе](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-4.jpg)
ОБЪЯВЛЕНИЕ ПРОЦЕДУРЫ ВНЕ КЛАССА ФОРМЫ
В заголовке подпрограммы в разделе реализаций имя
подпрограммы указывается без имени класса формы. С именами объектов, включенных в класс формы, нужно использовать имя формы.
Слайд 6
![Unit1 Interface Uses … Type TForm1= class(Tform) Button1:Tbutton; . .](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-5.jpg)
Unit1
Interface
Uses …
Type
TForm1= class(Tform)
Button1:Tbutton;
.
.
.
Private …
Public …
End;
Procedure <имя>[(<формальные параметры>)];
Var …. //объявление процедуры –
до var или после
Слайд 7
![ОПИСАНИЕ ПРОЦЕДУР Implementation {$R *.dfm} Procedure [( )]; Const Var](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-6.jpg)
ОПИСАНИЕ ПРОЦЕДУР
Implementation
{$R *.dfm}
Procedure <имя процедуры> [(<формальные параметры>)];
Const
Var
Begin
…
End;
Примеры
22\1 Процедуры\Project1.dpr
(Показать объявление и текст процедуры Step1)
Слайд 8
![Для параметров в объявлении процедур и в заголовке текста процедуры указываются типы параметров.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-7.jpg)
Для параметров в объявлении процедур и в заголовке текста процедуры указываются
типы параметров.
Слайд 9
![ВЫЗОВ ПРОЦЕДУР Вызов процедур выполняется в обработчиках событий объектов, размещенных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-8.jpg)
ВЫЗОВ ПРОЦЕДУР
Вызов процедур выполняется в обработчиках событий объектов, размещенных на формах
или из других процедур:
Если процедура объявлена в классе формы, то при вызове на этой же форме имя формы можно не указывать, на других формах – указывать:
<имя процедуры>[(<фактические параметры>)];
<имя формы>. <имя процедуры>[(<фактические параметры>)];
Слайд 10
![ПАРАМЕТРЫ При вызове процедуры значения фактических параметров передаются формальным. Процедура](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-9.jpg)
ПАРАМЕТРЫ
При вызове процедуры значения фактических параметров передаются формальным.
Процедура может не иметь
параметров, использовать общие переменные.
Слайд 11
![Параметры могут передаваться: по имени – параметры переменные, перед ними](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-10.jpg)
Параметры могут передаваться:
по имени – параметры переменные, перед ними указывается Var,
после выполнения процедуры переменная – фактический параметр будет иметь новое значение – значение формального параметра
по значению – перед ними не указывается Var, после выхода из процедуры значение фактического параметра остается таким же, как до вызова процедуры.
Примеры 22\1 Процедуры\Project1.dpr
(Показать текст процедуры Step1, Step – изменение параметров-в процедурах, вызов, значения фактических параметров S, n)
Слайд 12
![ВЫЗОВ ПРОЦЕДУР – ОБРАБОТЧИКОВ СОБЫТИЙ ОБЪЕКТОВ . ( ) Пример:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-11.jpg)
ВЫЗОВ ПРОЦЕДУР – ОБРАБОТЧИКОВ СОБЫТИЙ ОБЪЕКТОВ
<Имя объекта>.<Событие>(<Имя объекта>)
Пример:
Button1.OnClick(Button1); - вызов процедуры,
выполняющейся при событии OnClick для объекта Button1 – Procedure TForm1. Button1Click(…)
Примеры 22\1 Процедуры\Project1.dpr
(Кнопка Расчеты и на 2 форме)
Слайд 13
![ФУНКЦИИ Объявление и описание, как процедур: объявляются в разделе InterFace,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-12.jpg)
ФУНКЦИИ
Объявление и описание, как процедур: объявляются в разделе InterFace, описание -
в разделе реализаций Implementation.
Также как для процедур, если объявление включить в описание класса формы, то в заголовке функции в разделе реализаций имя функции указывается с именем класса формы.
Если объявление вне класса формы, то в заголовке имя функции - без имени класса формы. С именами объектов, включенных в класс формы, используется имя формы.
Слайд 14
![ФУНКЦИИ Объявление и описание, функций такое же, как процедур: объявляются](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-13.jpg)
ФУНКЦИИ
Объявление и описание, функций такое же, как процедур: объявляются в разделе
InterFace в классе формы или вне класса формы, описание - в разделе реализаций Implementation.
Но функция – это подпрограмма, возвращающая значение конкретного типа. Тип функции указывается в объявлении и в заголовке функции.
Слайд 15
![ПРИМЕР: Объявление в классе формы: Function Step(x, p: integer; var](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/179532/slide-14.jpg)
ПРИМЕР:
Объявление в классе формы:
Function Step(x, p: integer; var m: integer):integer;
Описание:
Function TForm1.Step(x,
p: integer; var m: integer): integer;
var i: integer;
begin
m:=1;
for i:=1 to p do
m:=m*x;
Step:=m;
end;