procedure TForm1.Button3Click(Sender: TObject);
var
i,a,b: IntegerNull;
x: integer;
e: Extended;
begin
i := 3;
i := nil; //ActAs Pointer to value type
i := 3;
i := i + 1;
i := i - 1;
i := i * 3;
x := i;
e := i / 3;
i := trunc(i / 3);
inc(i);
dec(i);
i := i div 3;
i := nil;
i := a div b; //a and b is still not assigned, i become "nil"
assert(i = nil);
i := '3'; //now "i" is 3, automatic conversion from string (no more StrToInt)
assert(i = 3);
i := '10' + i + '45'; //still... kill strtoint :-)
showmessage(i); //show 58
end;