Структуры (записи)

type
  TAlphabet = record
    function GetItem(I: Integer): Char;
    //default indexed property:
    //without range check
    property Items[I: Integer]: Char
      read GetItem; default;
  end;

function TAlphabet.GetItem(I: Integer): Char;
begin
  Result := Chr(64 + I);
end;

var
  Alphabet: TAlphabet;
begin
  WriteLn('charA is ', Alphabet[1]);
  //charA is 'A'

  WriteLn('charE is ', Alphabet[5]);
  //charE is 'E'
end.