Формальные параметры

Формальные параметры – идентификаторы, которые принимают значения фактических параметров, указанных при вызове процедур/функций.

Параметры могут передаваться как по ссылке, так и по значению. Если формальный параметр описан как параметр по ссылке, тогда фактический параметр должен являться переменной или полем объекта. Описанию формального параметра по ссылке должно предшествовать ключевое слово Var. Если формальный параметр описан как параметр по значению, тогда фактический параметр должен являться выражением.

Аргумент, передаваемый в качестве значения параметра по ссылке должен иметь такой же тип, что и тип параметра. Аргумент, передаваемый в качестве значения параметра по значению должен иметь тип, который можно привести к типу параметра.

Формальные параметры являются локальными для процедуры/функции.

Формальный параметр, передаваемый по значению, может быть необязательным. Параметр считается необязательным, если для него определено значение по умолчанию. Все необязательные параметры должны обязательно следовать в конце списка параметров. Значение по умолчанию не может быть присвоено списку параметров. Для указания массива параметров используется зарезервированное слово Paramarray. Действуют следующие правила:

Пример

// a - параметр, передаваемый по значению
// b - параметр, передаваемый по ссылке
// c - параметр, передаваемый по значению. Значение по умолчанию = 'a'
Sub MyProc(a: Integer; Var b: String; c: String = "a");
Begin
    b := c;
    
//Набор операторов
End Sub MyProc;

// a - параметр, передаваемый по значению
// b - параметр, передаваемый по ссылке
// с - массив параметров вещественного типа
Sub MyProc1(a: Integer; Var b: String; Paramarray c: Array Of Double);
Begin
    
//Набор операторов
End Sub MyProc1;

См. также:

Процедуры и функции