КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |