var
D1: Int64;
D2, D3, D4: Integer;
D5: Int64;
begin
D1 := High(Int64);
//D1 is 9223372036854775807
//truncation to low 32 bits
D2 := Integer(D1);
//D2 is -1
D1 := 10;
D3 := Integer(D1);
//D3 is 10
//widening is implicit
D4 := High(Integer);
//D4 is 2147483647
D5 := D4;
//D5 is 2147483647
WriteLn('d2 = ', D2);
WriteLn('d3 = ', D3);
WriteLn('d4 = ', D4);
WriteLn('d5 = ', D5);
end.