Студопедия

КАТЕГОРИИ:


Архитектура-(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




Пример записи

Записи

 

Записи являются еще одним типом структурированных данных, поддерживаемым языком Object Pascal.

 

 

Новый термин. Запись – это группа данных, связанных общим смыслом и обрабатываемых как единое целое. Данные в записи могут быть разнотипны и называются полями.

 

 

 

Например, зададимся целью создать описание коллекции музыкальных CD. Было бы удобно иметь такую переменную, которая позволила бы хранить всю необходимую нам информацию об одном CD в одном месте. Именно такую возможность и дают нам записи. Сначала мы должны объявить структуру записи, а затем использовать ее экземпляры– переменные.

Для объявления записи применяется ключевое слово record:

 

type

TCDRecord = record

Number: integer; // Порядковый номер CD в коллекции

Title: string; // Наименование

Artist: string; // Исполнитель

Year: integer; // Год выпуска

Recorded: string; // Фирма-производитель

Price: double; // Стоимость

Market: string; // Где куплен

end;

 

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

 

ПРИМЕЧАНИЕ. К объявлению записи в этом примере следует относиться только как к примеру. Так, запись с полями типа «длинная строка» не подходит для записи в файл. Если предполагается хранить записи в файлах, все записи должны иметь одинаковый размер (в байтах). В данном же случае никто не может гарантировать то, что все записи сведений о коллекции CD будут иметь одну и ту же длину. При создании записей, которые предполагается записывать в файлы, поля строкового типа следует объявлять либо как короткие строки, либо как массивы символов (array of Char). Более подробно об этом говорится в разделе «Обработка двоичных данных».

 

После того как тип записи объявлен, можно работать с переменными – экземплярами:

 

var

CD: TCDRecord;

 

Теперь можно присваивать значения полям переменной CD:

 

CD.Number:=1;

CD.Title:=’Aftermath’;

CD.Artist:=’The Rolling Stones’;

CD.Year:= 1986;

CD.Recorded:=’ABCKO Music and Records,Inc’;

CD.Price:= 80;

CD.Market:= ’Горбушка’;

 

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

Ниже дан пример присваивания значения поля записи свойству надписи, размещенной на некоторой форме:

 

Label1.Caption:= CD.Recorded;

 

Синтаксис оператора record имеет вид

 

name = record

field_1: data_type;

field_2: data_type;

.

.

.

field_n: data_type;

end;

 

 

 

Оператор with применяется как к записям, так и к объектам. Здесь мы рассмотрим то как он используется вместе с записями. Выше мы написали код, заполняющий структуру записи данными:

 

CD.Number:=1;

CD.Title:=’Aftermath’;

CD.Artist:=’The Rolling Stones’;

CD.Year:= 1986;

CD.Recorded:=’ABCKO Music and Records,Inc’;

CD.Price:= 80;

CD.Market:= ’Горбушка’;

 

С помощью оператора with этот код можно несколько упростить:

 

with CD do

begin

Number:=1;

Title:=’Aftermath’;

Artist:=’The Rolling Stones’;

Year:= 1986;

Recorded:=’ABCKO Music and Records,Inc’;

Price:= 80;

Market:= ’Горбушка’;

end;

 

Оператор with присоединяет квалификатор (имя записи) по умолчанию к блоку кода. Все, что находится внутри begin – end рассматривается как собственность записи CD.

 

 




Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 362; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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