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