Класс TField
Если поле является вычисляемым, свойство:
property Calculated: Boolean;
…принимает значение True.
На связанный набор данных указывает свойство:
property DataSet: TDataSet;
…которое при создании объекта средствами среды разработки заполняется автоматически.
Свойство:
property DataType: TFieldType;
…возвращает тип данных поля, а свойство:
property DataSize: Integer;
…содержит объем памяти, необходимый для хранения значения поля.
Одной из важнейших задач класса TFieid является обеспечение доступа к текущему значению поля. В этом случае класс взаимодействует с буфером текущей записи набора данных, а значение можно получить при помощи нескольких свойств.
Свойство:
property Value: Variant
…всегда содержит значение, которое сохранено после последнего выполнения метода Post набора данных:
with Tablel do begin Open; while Not EOF do begin if Fields[0].Value > 10 then Fields[1].Value: = Fields[1].Value*2; Next; end; Close; end;
В этом примере при помощи метода Next осуществляется перебор всех записей набора данных. Если значение первого поля больше 10, то значение второго поля удваивается. Для этого применяется свойство value объектов полей набора данных.
Однако из-за использования вариантов свойство value является относительно медленным. И для преобразования текущего значения поля к необходимому виду можно применять целую группу быстрых свойств AS…, которые содержат значение в определенном типе данных. Чаще всего используется свойство Asstring, например, оно может применяться для представления числовых значений полей в элементах управления:
Editl.Text: = Tablel.Fields[0].AsString;
Примечание
При работе со статическими объектами полей при передаче значений желательно использовать свойства из группы AS…, т. к. неявное задание типа свойством Value может привести к ошибке преобразования данных типа Variant.
Если свойство:
property CanModify: Boolean;
…имеет значение False, значение поля нельзя редактировать. Однако это свойство является только средством для определения возможности редактирования.