//系统类型
(*
  TRect = packed record
    case Integer of
      0: (Left, Top, Right, Bottom: Longint);
      1: (TopLeft, BottomRight: TPoint);
  end;
*)
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Left := ClientRect.TopLeft.X; //Button1.Left := ClientRect.Left;
end;//自定义类型
procedure TForm1.Button1Click(Sender: TObject);
type
  TByteChar = record
    case Boolean of
      False: (rChar: Char);
      True: (rByte: Byte);
  end;
var
  vByteChar: TByteChar;
begin
  vByteChar.rByte := 97;
  ShowMessage(vByteChar.rChar);
end;//把她理解成同一个空间保存两种类型