Обращение к значению поля. Свойства Value и AsNNN
К значению поля можно обратиться при помощи свойств Value и AsNNN. Свойство
property Value: Variant
возвращает значения следующих типов:
property Value Variant; // Все компоненты
property Value string; //TStringField, TBIobField
property Value Longint; //TAutoIncField, TIntegerField, TSmallintField,TWordField
property Value Double; //TBCDField, TCurrencyField, TFloatField
property Value Boolean; //TBooleanField
property Value TDateTime; //TDateField, TDateTimeField, TTimeField
Это дает возможность пользоваться свойствами приведения типов полей (AsString, Aslnteger и т.д.) в гораздо меньших масштабах. Тем не менее, обойтись без них удается далеко не всегда.
Аналогичные значения возвращает рассмотренное в предыдущем разделе свойство набора данных FieldValues.
Например,
var N : Integer;
N := TablelNumber.Value; // TablelNumber типа TIngereField
Обращение к значению поля через свойство
AsNNN.Существуют следующие свойства приведения типов полей:
property AsBoolean: Boolean;
property AsCurrency: Currency;
property AsDateTime: TDateTime;
property AsFloat: Double;
property Aslnteger: Integer;
property AsString: String;
property As Variant: Variant;
Каждое из этих свойств приводит значение поля к соответствующему типу данных, означенному в названии свойства. Например, если TablelNumber -компонент TIntegerField (поле, хранящее целочисленные значения), для приведения его к типу String можно воспользоваться свойством
Editl.Text := TablelNumber.AsString;
Несомненно, тип поля должен быть совместимым с типом данных, к которому приводится значение поля. Например, если TablelSumma - компонент TFloatField (поле, хранящее вещественные значения), попытка привести его к несовместимому типу Boolean, IF TablelSumma.AsBoolean THEN ...
приведет к ошибке компиляции.
В приводимой ниже таблице показана совместимость значений полей разных типов.
Обозначение:
= типы равнозначны;
+ преобразование возможно;
+ RI преобразование возможно, округление до ближайшего целого;
? преобразование происходит, если возможно; часто зависит от формата показа (свойство DisplayFormat);
х преобразование не разрешено;
Рассмотрим свойства семейства AsNNN более подробно:
property AsBoolean: Boolean; -
числовые значения приводятся к типу Boolean, если содержат 0 (False) или 1 (True). Символьные значения - если содержат в качестве первого символа "Y", "у", "Т" или "t" (или "Yes" или "True"), и False во всех иных случаях.property AsDateTime: TDateTime; -
для приведения к типу TDateTime значений TDateField, TDateTimeField и TTimeField, хотя вместо этого лучше использовать свойство Value, а также для приведения к типу TDateTime строковых значений, находящихся в соответствующем формате.property AsFloat: Double; -
служит для приведения к типу Double значений полей TFloatField, TBCDField и TCurrencyField, AsFloat, хотя вместо этого лучше использовать свойство Value.property Aslnteger: Longint; -
служит для приведения к типу Longint полей типа TIntegerField, TSmallintField и TWordField, хотя вместо этого лучше использовать свойство Value.Для полей типа TStringField преобразование к Longint выполняется, если оно возможно.
property AsCurrency: Currency; -
служит для приведения к типу Currency. property AsString: string; - служит для приведения к типу String. property As Variant: Variant; - служит для приведения к типу Variant.