pascalabcnet/TestSamples/CompilationSamples/ProcVars2.pas
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

39 lines
673 B
ObjectPascal

// Âñå âîçìîæíûå ñïîñîáû èíèöèàëèçàöèè ïîöåäóðíîé ïåðåìåííîé
// Ïðîöåäóðíûé òèï ðåàëèçîâàí ÷åðåç äåëåãàòû .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.