Delphi 3 и создание приложений баз данных

Обращение к значению поля. Свойства 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.

Содержание раздела