Запись представляет собой совокупность ограниченного  числа  логически связанных компонент,  принадлежащих к разным типам.  Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа.

   Описание записи в языке ПАСКАЛЬ осуществляется  с  помощью служебного слова RECORD,  вслед за которым описываются компоненты записи. Завершается описание записи служебным словом END.

   Например, записная книжка содержит фамилии,  инициалы и номера телефона, поэтому отдельную строку в записной книжке удобно представить в виде следующей записи:  

         type   Row=Record

                     FIO: String[20];

                     TEL: String[7]

                    end;

         var    str: Row;

 

   Описание записей возможно и без использования имени типа,   например:

         var str: Record

                    FIO: String[20];

                    TEL: String[7]

                   end; 

   Обращение к записи в целом допускается только в операторах присваивания, где  слева и справа от знака присваивания используются  имена записей одинакового типа. Во всех остальных случаях оперируют отдельными полями записей.  Чтобы обратиться к отдельной компоненте записи, необходимо задать  имя записи и через точку указать имя нужного поля, например:  

         str.FIO,   str.TEL

   Такое имя называется составным. Компонентой записи может быть также запись,    в таком случае составное имя будет содержать не два,  а большее количество имен.

   Обращение к  компонентам записей можно упростить,  если воспользоваться оператором присоединения with.

   Он позволяет заменить составные имена,  характеризующие каждое поле, просто на имена полей, а имя записи определить в операторе присоединения: 

         with M do OP;

   Здесь М -  имя  записи,   ОР  - оператор, простой или составной. Оператор ОР представляет собой область действия оператора присоединения, в пределах которой можно не использовать составные имена.

   Иногда содержимое отдельной записи зависит от значения  одного  из ее полей.  В языке ПАСКАЛЬ допускается описание записи,  состоящей из общей и вариантной частей.  Вариантная часть задается с помощью конструкции

         case P of,

 

где Р - имя  поля из общей  части записи. Возможные значения, принимаемые этим полем,  перечисляются так же, как и в операторе варианта. Однако вместо указания выполняемого действия, как это делается в операторе варианта, указываются поля варианта,  заключенные в круглые скобки. Описание вариантной части завершается служебным словом end.

   Тип поля Р можно указать в заголовке вариантной части, например:

         case P: Integer of  

   Инициализация записей  осуществляется  с  помощью   типизированных констант:  

   type

     RecType= Record

               x,y: Word;

               ch: Char;

               dim: Array[1..3] of Byte

              end;

  

   const

     Rec: RecType= ( x: 127; y: 255;

                     ch: 'A';

                     dim: (2, 4, 8) );