Основи Делфи

Параметрите на процедури и функции
Параметри използвани за предаване на оригиналните данни на подпрограмата и за получаване на резултатите от тези съчетания.

Изходна информация се предава на подпрограмата чрез входните параметри и резултатите от подпрограмата връщането чрез изходните параметри. Параметрите могат да бъдат вход и изход едновременно.

Входни параметри са обявени с помощта на ключовата дума CONST; техните стойности не могат да се променят в рамките на подпрограмата:

функционира минути (конст А, В: цяло число): цяло число;
започвам
ако А останало Резултат: = B;
приключи;

Задаване стойности на изходните параметри в рамките на подпрограмата води до инсталиране на променливи стойности минаха като аргументи:

Var
W, H: цяло число;
започвам
GetScreenResolution (W, H);
.
приключи;

След GetScreenResolution променливите за извикване на процедура W и H ще съдържа стойности, които са били възложени на формалните параметри ширина и височина съответно.

Ако параметърът е едновременно входна и една изходна, той е описан с реактивна ключовата дума:

процедура обмен (Var А, В: цяло число);
Var
C: цяло число;
започвам
C: = А;
A: B =;
Б: = С;
приключи;

Промяна на стойностите на параметрите в Var-подпрограмата води до промяна в стойностите на променливи минаха като аргументи:

Когато се обадите подпрограма на мястото пре- и VAR-параметри могат да бъдат заместени само променливи, но не постоянно или израз.

Ако не е посочен в описанието на параметъра, никой от CONST на ключови думи, вън, или Var, а след това опцията се счита за вход, това може да се промени, но промените не се отразяват на действителния аргумент, тъй като те се извършват с копие на аргумента, създаден за срока на рутината. Когато подпрограмата се нарича на мястото на този параметър, можете да използвате константи и изрази. Пример подпрограма:

функционални NumberOfSetBits (А: кардинал): Байт;
започвам
Резултати: = 0;
докато A <> 0 направя
започвам
Резултати: = Резултати + (мод 2);
A: A = DIV 2;
приключи;
приключи;

Параметърът А по-горе функция е вход, но се използва като локална променлива за съхраняване на междинни данни.

Различни методи на предавателни параметри (конст, вън, Var без тях) могат да бъдат комбинирани в една подпрограма. Следващият пълен пример Средна процедура отнема четири параметри. Първите две (X и Y) са вход и се използва за предаване на първоначалните данни. Последните два параметри се извеждат и се използва за приемане на програмата за повикване резултатите от изчисляване на средната стойност (М) и стойностите геометрична средна (п) от X и Y:

Средна процедура (конст X, Y: Двойна; от М, Р: Двойна);
започвам
М: = (X + Y) / 2;
P: = Sqrt (X * Y);
приключи;

започвам
Средна (10, 20, М, Р);
Writeln ( "средно аритметично = ', М);
Writeln ( "средно геометрични = ', Р);
Writeln ( "Натиснете Enter, за да излезете. ');
readln;
край.

Съществува голямо разнообразие от възможности, без тип. Те се наричат ​​типизиран и са предназначени за предаване и приемане на данни от всякакъв тип. Типизиран параметри са описани с думи, Конст и Var, с типа на данните е пропуснато:

процедура JustProc (конст X; Var Y; от Z);

Вътре вида подпрограма на тези параметри, които не се знае, така че програмистът трябва да се грижи за правилното тълкуване на предаваните данни. Имайте предвид, че може да замени променливи само, когато се обаждате съчетания на мястото нетипизирани параметри (включително мястото на нетипизирани CONST-параметри).