Записи Язык программирования DELPHI Объявление
Записи Язык программирования DELPHI
Объявление записи Запись - составной тип данных, состоящий из фиксированного числа элементов одного или нескольких типов. Формат: type <имя записи> = record <список имен полей 1>: тип 1; . . . <список имен полей N>: тип. N; end;
Объявление записи Пример: type TPerson = record First. Name, Last. Name: string[20]; // имя, фамилия Birth. Year: Integer; // год рождения end;
Объявление записи Особенности: Идентификаторы полей должны быть уникальными только в пределах записи. Допускается вложение записей друг в друга, т. е. поле записи может быть в свою очередь тоже записью. Чтобы получить в программе реальную запись, нужно создать переменную соответствующего типа: var Friend: TPerson;
Доступ к содержимому записи осуществляется посредством идентификаторов переменной и поля, разделенных точкой (составным именем). Пример: Friend. First. Name : = 'Александр'; Friend. Last. Name : = 'Иванов'; Friend. Birth. Year : = 1991;
Доступ Обращение к полям записи имеет несколько громоздкий вид. Для решения этой проблемы предназначен оператор with <запись> do <оператор>; Однажды указав имя записи в операторе with, можно работать с именами ее полей как с обычными переменными, т. е. без указания идентификатора записи перед идентификатором поля.
Доступ Пример: with Friend do Begin First. Name : = 'Александр'; Last. Name : = 'Иванов'; Birth. Year : = 1991; Еnd;
Пример Фрагмент заполнения полей записи содержимым таблицы String. Grid 1 Имя Фамилия Год рождения Александр Иванов 1991 Виктор Краснов 1990 Ирина Петрова 1992 Var Friend: array[1. . 3] of TPerson; . . . . For k: =1 to String. Grid 1. Row. Count-1 do with Friend[k] do begin First. Name: =String. Grid 1. Cells[0, k]; Last. Name: =String. Grid 1. Cells[1, k]; Birth. Year: =String. Grid 1. Cells[2, k]; // Найдите ошибку end;
Записи с вариантами Можно задать для записи несколько вариантов структуры (записи с вариантами). Они состоят из необязательной фиксированной и вариантной частей. type <имя записи> = record <список имен полей 1>: тип 1; . . . <список имен полей N>: тип. N; case <поле признака>: ordinal. Type of <список значений 1>: (вариант1); . . . <список значений K>: (вариант. K); end;
Записи с вариантами <поле признака> - идентификатор порядкового типа Поле признака определяет, какой из вариантов в данный момент будет активизирован. Оно должно быть равно одному из расположенных следом значений. Каждому значению сопоставляется вариант записи. <список значений…> - список значений поля признака, разделенных ‘, ’ (вариант…) - список имен полей с типами, заключенных в круглые скобки.
Записи с вариантами Пример описания записи с вариантами: type TFigure = record X, Y: Integer; case Kind: Integer of 0: (Width, Height: Integer); // прямоугольник 1: (Radius: Integer); // окружность end; Внимание! У вариантной части нет отдельного end. Одно слово end завершает и вариантную часть, и всю запись.
8 Записи.ppt
- Количество слайдов: 11