Процедурные переменные: операции += и -=

Материал из Вики проекта PascalABC.NET
Версия от 15:49, 14 января 2010; Mikst (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Здесь иллюстрируются все возможные способы инициализации поцедурной переменной Процедурный тип реализован через делегаты .NET, для него доступны операции +=, -=

procedure pp;
begin
  writeln('Вызов обычной процедуры');
end;

type 
  A = class
  private
    x: integer;
  public  
    constructor Create(xx: integer);
    begin
      x := xx;
    end;
    procedure pp;
    begin
      writeln('Вызов метода класса, значение поля равно ',x);
    end;
    class procedure ppstatic; 
    begin
      writeln('Вызов классового метода класса');
    end;
  end;

var p: procedure;

begin
  p := pp;
  var a1: A := new A(5);
  p += a1.pp;
  p += A.ppstatic;
  p;
  writeln;
  p -= pp;
  p;
end.

Ссылки