Записи
Lazarus IDE: Основы программирования в Windows
Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее... |
Записи - это первый шаг к объектно-ориентированному программированию. Эту тему вам надо обязательно понять и изучить.
В начале своего пути программиста я также как и в случае с множествами не очень понимал, зачем нужны записи. Но всё встало на свои места, как только я начал создавать более-менее сложные программы.
Запись ещё называют комбинированным типом данных. Но этот термин встречается редко. Зато очень часто встречается термин структура. Потому что записи относятся к структурированным типам, о которых я пока ничего не говорил (да и о структурированном программировании тоже, однако нельзя объять необъятное - этот курс для начинающих).
Если вы будете изучать язык С++, то там есть понятие структура, но нет никаких записей. Хотя по сути запись в Паскале - это то же самое, что структура в С++.
каждый объект состоит из нескольких отдельных элементов. У каждого их этих элементов есть какие-то свойства (атрибуты), которые в совокупности определяют свойства объекта. Обычно запись содержит набор разнотипных атрибутов, относящихся к одному объекту. Эти атрибуты хранятся в полях записи. Синтаксис записи в Паскале примерно такой:
type ИмяЗаписи = record Поле01 : ТипПоля01; Поле01 : ТипПоля02; … ПолеN : ТипПоляN; end;
Надеюсь, вы уже разбираетесь в подобных описаниях и дополнительных пояснений не требуется.
К каждому элементу (полю) записи можно обратиться, используя составное имя:
ИмяПеременной.Поле
Здесь ИмяПеременной - это переменная, которая имеет тип соответствующей записи.
То есть сначала мы пишем имя переменной, затем ставим точку, затем пишем имя поля. Никаких пробелов быть не должно.
Если вы создаёте программу в Lazarus или в другой подобной среде разработки, то после того, как вы поставите точку после имени переменной, не спешите писать имя поля. Немного подождите и в окне редактора всплывёт список полей этой записи, где можно выбрать нужное поле. Это очень удобно, так как в больших программах запомнить все имена полей практически невозможно.
А теперь пример использования:
type TMyCar = record Year : word; Probeg : dword; Price : dword; Model : string; end; var MyCar : TMyCar; begin MyCar.Year := 2008; MyCar.Probeg := 51000; MyCar.Price := 250000; MyCar.Model := 'VAZ'; WriteLn('Мой автомобиль:'); WriteLn('Год выпуска: ', MyCar.Year); WriteLn('Пробег: ', MyCar.Probeg); WriteLn('Модель: ', MyCar.Model); WriteLn('Цена: ', MyCar.Price); ReadLn; end.
Пример очень простой, поэтому никаких пояснений я также давать не буду.
Добавлю только, что тип поля в записи может быть любым. В том числе поле может быть и другой записью. Разумеется, эта другая запись должна быть предварительно объявлена.
На этом с записями пока всё. Но только пока. Потому что это не вся информация о записях. Однако для начинающих её более чем достаточно.