Запись с вариантной частью
Если заранее известно, что в массиве записей (таблице) некоторые поля могут оставаться пустыми (наборы пустых полей могут быть разными для разных записей), то вполне понятно желание как-то сократить неиспользуемый, но занимаемый объем памяти.
Специально для таких случаев существуют записи с вариантной частью.
Описание записи с вариантной частью
В разделе var запись с вариантной частью описывают так:
Невариантная часть записи (до ключевого слова case) подчиняется тем же правилам, что и обычная запись. Вообще говоря, невариантная часть может и вовсе отсутствовать.
Вариантная часть начинается зарезервированным словом case, после которого указывается то поле записи, которое в дальнейшем будет служить переключателем. Как и в случае обычного оператора case, переключатель обязан принадлежать к одному из перечислимых типов данных. Список вариантов может быть константой, диапазоном или объединением нескольких констант или диапазонов. Набор полей, которые должны быть включены в структуру записи, если выполнился соответствующий вариант, заключается в круглые скобки.
Пример. Для того чтобы описать содержимое библиотеки, необходима следующая информация:
Для книг
|
Для газет
|
Для журналов
|
Автор
Название
Год издания
Издательство
|
Название
Дата выхода (день, месяц, год)
Издательство
|
Название
Год и месяц издания
Номер
Издательство
|
Графы "Название" и "Издательство" являются общими для всех трех вариантов, а остальные поля зависят от типа печатного издания. Для реализации этой структуры воспользуемся записью с вариантной частью:
В зависимости от значения поля item, в записи будет содержаться либо 4, либо 5, либо 6 полей.
Достарыңызбен бөлісу: |