Простые типы / Указатели

uses System.SysUtils;

var
  PInt: PInteger;
  PDouble: PDouble;
begin
  //New allocates memory for one value
  New(PInt);
  PInt^ := 50;

  New(PDouble);
  PDouble^ := 3.14;

  WriteLn('PInt^ is ', PInt^);
  WriteLn('PDouble^ is ',
    FloatToStr(PDouble^));

  //Dispose releases it
  Dispose(PInt);
  Dispose(PDouble);

  //GetMem takes the size in bytes
  GetMem(PInt, SizeOf(Integer));
  PInt^ := 7;
  WriteLn('PInt^ is ', PInt^);
  //PInt^ is 7

  //GetMem is paired with FreeMem
  FreeMem(PInt);
end.