type TColor = (red, green, blue); TDiap = red..blue; TIntDiap = 1..4; var t : TColor; t2 : TDiap; b : byte; sm : smallint; sh : shortint; w : word; lw : longword; i : integer; li : int64; ui : uint64; d : TIntDiap; begin t := t2; t2 := t; b := 1; sm := 1; sh := 1; w := 1; lw := 1; i := 1; li := 1; ui := 1; d := 1; t := TColor(b); assert(t=green); t := TColor(sm); assert(t=green); t := TColor(sh); assert(t=green); t := TColor(w); assert(t=green); t := TColor(lw); assert(t=green); t := TColor(i); assert(t=green); t := TColor(li); assert(t=green); t := TColor(ui); assert(t=green); //t := TColor(d); assert(t=green); t := blue; assert(byte(t)=2); assert(smallint(t)=2); assert(shortint(t)=2); assert(word(t)=2); assert(longword(t)=2); assert(integer(t)=2); assert(int64(t)=2); assert(uint64(t)=2); //assert(TIntDiap(t)=2); t2 := TDiap(b); assert(t2=green); t2 := TDiap(sm); assert(t2=green); t2 := TDiap(sh); assert(t2=green); t2 := TDiap(w); assert(t2=green); t2 := TDiap(lw); assert(t2=green); t2 := TDiap(i); assert(t2=green); t2 := TDiap(li); assert(t2=green); t2 := TDiap(ui); assert(t2=green); t2 := blue; assert(byte(t2)=2); assert(smallint(t2)=2); assert(shortint(t2)=2); assert(word(t2)=2); assert(longword(t2)=2); assert(integer(t2)=2); assert(int64(t2)=2); assert(uint64(t2)=2); assert(integer(false)=0); assert(byte(false)=0); assert(word(false)=0); assert(smallint(false)=0); assert(longword(false)=0); assert(int64(false)=0); assert(uint64(false)=0); end.