60
Доступ к объектам полей возможен тремя способами:
- По порядковому индексу объекта
- По имени поля
- По имени объекта
Доступ по порядковому индексу осуществляется через свойство
Fields[i:integer], где i — индекс объекта. Индексация, как всегда в Delphi,
начинается с 0. Например, Tablel.FieldsfO] — это первый объект поля табли-
цы Tablel.
Доступ по имени поля осуществляется с помощью метода
FieldByName('<HMH>'). Например, Tablel. FieldByName('Fam') — это объект,
связанный с полем Fam.
Доступ по имени объекта возможен только к объектам, созданным с
помощью Редактора Полей. По умолчанию Delphi формирует имена объектов
полей (Name) из имени таблицы и имени поля. Например, TablelDep. Вы
можете видеть эти имена, работая с Редактором Полей. Конечно, вы можете
изменить это имя на любое другое. Обращение к объекту по имени не требу-
ет, в отличие от предыдущих вариантов, ссылки на таблицу. Вы можете про-
сто написать TablelDep и это будет необходимый вам объект.
Автоматически создаваемые объекты имени не имеют — их свойство
Name пусто. Поэтому для них обращение по имени невозможно.
Среди рассмотренных способов доступа к полям наиболее быстрым,
конечно, является доступ по имени объекта. Его недостатком является жест-
кая кодировка поля, к которому производится обращение. Если надо, чтобы
строка кода в разных ситуациях обращалась к разным полям, то надо исполь-
зовать или доступ по индексу Fields[i] (тогда индекс i можно сделать пере-
менным), или по имени поля методом FieldByName(s) (переменную s можно
сделать переменной).
Вы уже видели множество свойств объектов класса TField и производ-
ных от них. Это свойства Read-Only, DisplayLabel, CustomConstraint и
многие другие. Сейчас рассмотрим, как добраться до главного свойства объ-
екта — хранящегося в нем значения поля текущей записи.
Значение поля хранится в свойстве Value. Тип этого свойства опреде-
ляется типом поля. Например, Tablel.FieldByName('Fam').Value — это строка,
a Tablel.FieldByName('Year_b').Value — это целое число.