Процедурные переменные: операции += и -=: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
(Новая: == Ссылки == *Особенности языка: продвинутый уровень *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalAB...)
 
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
Здесь иллюстрируются все возможные способы инициализации поцедурной переменной
Процедурный тип реализован через делегаты .NET, для него доступны операции +=, -=
<source lang="Delphi">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.</source>
== Ссылки ==
== Ссылки ==
*[[Особенности языка: продвинутый уровень]]
*[[Особенности языка: продвинутый уровень]]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка]

Текущая версия от 15:49, 14 января 2010

Здесь иллюстрируются все возможные способы инициализации поцедурной переменной Процедурный тип реализован через делегаты .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.

Ссылки