Объекты полей инкапсулируют свойства и методы полей различных типов данных. Они функционируют совместно с набором данных и очень тесно связаны с ним. Например, для того чтобы получить значения полей из текущей записи набора данных, разработчик должен создать примерно такой код:
Editl.Text := Tablel.Fields[0].AsString;
Свойство Fields представляет собой индексированный список объектов полей набора данных (см. гл. 12).
Если разработчик не изменяет порядок следования полей в наборе данных, то расположение объектов полей в списке
Fields соответствует структуре таблицы базы данных.
Каждый объект полей хранит ряд параметров, определяющих поле. Например, в наборе данных к объекту поля можно обратиться, зная только название поля:
Для того чтобы присвоить значение полю в текущей записи, можно воспользоваться приведенными выше способами или, если тип данных поля неизвестен, свойством
Fieidvalues:
Tablel.FieldValues['SomeField'] := Editl.Text;
Знание имени поля дает самый простой способ обращения к текущему значению поля:
Tablel['SomeField'] := Editl.Text;
Editl.Text := Tablel['SomeField'];
Примечание
При присваивании значений полям набора данных
необходимо контролировать состояние, в котором находится набор данных (см.
гл. 12).
В основе классов, описывающих иерархию типизированных полей, лежит класс
TField. От него порождены другие классы, обеспечивающие работу целых групп полей, объединенных по типам данных.
Что же такое объект поля и какие возможности он предоставляет разработчику?
Во-первых, назначение класса TField, как базового класса поля, заключается в умении взаимодействовать с компонентом отображения данных для обеспечения правильной визуализации данных. Например, объект поля хранит способ выравнивания, параметры шрифта, текст заголовка и т. д.
Во-вторых, с точки зрения набора данных объект поля является хранилищем текущего значения этого поля (а не всего столбца данных, как это можно себе представить по названию).
Рис. 13.1. Иерархия классов
полей
Компоненты отображения данных при
работе с набором данных взаимодействуют именно с полями. Например, колонки
компонента TDBCrid при отсутствии дополнительных
настроек соответствуют расположению объектов полей в связанном наборе данных.
Знаете ли Вы, что такое "Большой Взрыв"? Согласно рупору релятивистской идеологии Википедии "Большой взрыв (англ. Big Bang) - это космологическая модель, описывающая раннее развитие Вселенной, а именно - начало расширения Вселенной, перед которым Вселенная находилась в сингулярном состоянии. Обычно сейчас автоматически сочетают теорию Большого взрыва и модель горячей Вселенной, но эти концепции независимы и исторически существовало также представление о холодной начальной Вселенной вблизи Большого взрыва. Именно сочетание теории Большого взрыва с теорией горячей Вселенной, подкрепляемое существованием реликтового излучения..." В этой тираде количество нонсенсов (бессмыслиц) больше, чем количество предложений, иначе просто трудно запутать сознание обывателя до такой степени, чтобы он поверил в эту ахинею. На самом деле взорваться что-либо может только в уже имеющемся пространстве. Без этого никакого взрыва в принципе быть не может, так как "взрыв" - понятие, применимое только внутри уже имеющегося пространства. А раз так, то есть, если пространство вселенной уже было до БВ, то БВ не может быть началом Вселенной в принципе. Это во-первых. Во-вторых, Вселенная - это не обычный конечный объект с границами, это сама бесконечность во времени и пространстве. У нее нет начала и конца, а также пространственных границ уже по ее определению: она есть всё (потому и называется Вселенной). В третьих, фраза "представление о холодной начальной Вселенной вблизи Большого взрыва" тоже есть сплошной нонсенс. Что могло быть "вблизи Большого взрыва", если самой Вселенной там еще не было? Подробнее читайте в FAQ по эфирной физике.