3.3.2 Записи

Вверх  Предыдущий  Следующий

Free Pascal поддерживает фиксированные записи, а также записи с вариантными полями. Синтаксическая диаграмма для записей


Тип запись

309


Так, действительными являются следующие объявления типов записей:

Type

  Point = Record

    X,Y,Z : Real;

  end;

 

  RPoint = Record

    Case Boolean of

        False : (X,Y,Z : Real);

        True : (R,theta,phi : Real);

  end;

 

  BetterRPoint = Record

    Case UsePolar : Boolean of

        False : (X,Y,Z : Real);

        True : (R,theta,phi : Real);

  end;

Вариантная часть должна быть последней в записи. Опциональный идентификатор в операторе case служит для того, чтобы получить доступ к значению поля, которое иначе было бы невидимо для программиста. Оно может использоваться, чтобы видеть, какая вариантная часть является активной в определенное время. (Это нужно для поддержания этого поля) В действительности оно представляет новое поле в записи.

Замечание:

Возможно вложить различные части, как в записи:

Type

  MyRec = Record

          X : Longint;

          Case byte of

            2 : (Y : Longint;

                case byte of

                 3 : (Z : Longint);

                );

          end;

Структура и размер Записи

Замечания и примеры