Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор With

Dean.Faculty

Dean

Использование записей в программе

Можно обратиться ко всей записи по ее имени, если запись является самостоятельной переменной или частью другой переменной сложного типа. Можно обратиться к отдельному полю записи (которое может быть переменной простого или сложного типа, или указателем). Для обращения к полю нужно использовать квалификатор доступа к полю, который состоит из точки и имени поля. Такой квалификатор записывается после имени записи, или после квалификатора, выделяющего запись из другого сложного типа.

Следующий пример основан на описаниях предыдущего примера.

Обращение к записи, содержащей сведения о декане.

Обращение к полю "Факультет" записи "Декан".

AcademicGroup[2]

Обращение ко второму элементу в массиве академических групп. Каждый такой элемент является записью.

AcademicGroup[2].Curator

Обращение к полю второй группы, содержащему запись о кураторе.

AcademicGroup[2].Curator.ID.Surname

Обращение к полю, содержащему фамилию куратора второй группы.

AcademicGroup[2].Student[1]

Обращение к записи о первом студенте во второй группе.

AcademicGroup[2].Student[1].Hostel

Обращение к полю записи о первом студенте второй группы, содержащему признак того, живет ли этот студент в общежитии.

AcademicGroup[2].Student[1].ID

Обращение к записи, содержащей персональные сведения о студенте.

AcademicGroup[2].Student[1].ID.Age

Обращение к полю, содержащему возраст первого студента второй группы.

AcademicGroup[2].Student[1].ID.Surname[1]

Обращение к первой букве фамилии первого студента второй группы.

Этот оператор облегчает работу с записями при необходимости многократного обращения к полям одной и той же записи.

Синтаксис:

оператор::="With" <запись> "do" <оператор>.

Здесь запись – любая запись, заданная своим именем, или выделенная из другой сложной переменной квалификатором. В операторе, который может быть составным, при обращении к полям записи уже не нужно повторять обращение к самой записи. Достаточно указать нужное поле.

Следует учитывать, что при использовании операторов With, в частности, вложенных, может возникнуть неоднозначность, если имя поля совпадает с именем простой переменной, а при использовании вложенных операторов With может возникнуть неоднозначность, вызванная тем, что разные записи могут иметь поля с одинаковыми именами. Такие неоднозначности выявляются компилятором. Их следует исключить.

Следующий пример также основан на описаниях записей, сделанных ранее. Здесь назначается куратор группы из списка преподавателей и возраст студентов группы увеличивается на 1.

With AcademicGroup[2] do begin {работа с выделенной записью}

Curator:=Teacher[4]; {четвертый преподаватель назначается куратором второй группы}

for i:=1 to 30 do

With Student[i].ID do {выделена запись личных данных}

Age:=Age+1 {работа с полем возраста}

end;

<== предыдущая лекция | следующая лекция ==>
Конструкция записи, тип записи и переменная типа запись | Указатели и динамические структуры данных
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 332; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.