Справочник по компонентам Delphi. Часть 3
Страница 27. Компонент TField


 

Компонент TField

TObject->TPersistent->TComponent-”TField Модуль DB

В Палитре компонентов отсутствует

Предназначен для работы с полями таблиц баз данных. Отсутствует в Палитре компонентов, так как является абстрактным компонентом и выступает предком для ряда типизированных компонентов (см. рис. 4.17), которые наследуют все базовые свойства и методы для работы с полями. Объекты-наследники авто­матически создаются для каждого используемого приложением поля при вы­полнении приложения. Эти компоненты создаются динамически в случае опре­деления значения True для свойства Active компонентов TTable и TQuery. Компонент TField играет важную роль для приложений, работающих с базами данных, так как предоставляет возможность прямого доступа к полям таблиц. Каждый компонент содержит не только сведения о типе данных, наборе зна­чений и т. п., но и предоставляет информацию, которая используется визу­альными компонентами отображения данных. В процессе разработки работа с компонентами TField осуществляется при помощи Редактора полей.

Свойства компонента

^Ъ) property Alignment: TAlignment;

Содержит способ выравнивания (см. главы 1, 2) компонента и используется визуальными компонентами TDBGrid и TDBEdit.

property AsBoolean: Boolean-

Содержит значение для TBooleanField. Для TStringField возвращает True, если поле начинается с символов Y,y,T,t (Yes, yes, True, true).

property AsDateTime: TDataTime;

Содержит значение для TDateTimeField или TTimeField. Для TStringField проводит конвертацию.

 
property AsFloat: Double;

Содержит значение для TFloatField, TBCDField, TCurrencyField. Для TStringField проводит конвертацию.

property Aslnteger: Longing-

Содержит значение для TIntegerField, TSmallintField, TWordField. Для TStringField проводит конвертацию.

property AsString: String;

Содержит значение для TStringField. Для TBCDField, TFloatField, TCurrencyField, TDateTimeField, TTimeField, TIntegerField, TSmallintField, TWordField проводит конвертацию. Для TBooleanField возвращает True, если текст начинается с символов Y,y,T,t. Для TMemoField, TGraphicField, TBIobField, TBytesField, TVarBytesField используется только для чтения и возвращает строки "Memo", "Graphic", "Blob", "Bytes", "VarBytes".

(Pb) property Calculated: Boolean;

Содержит True, если поле вычисляемое.

(Ro) property CariModify: Boolean;

Определяет возможность изменения характеристик поля.

property DataSet: TDataSet;

Идентифицирует набор данных поля.

60) property DataSize: Word;

Содержит число байт, необходимое для размещения компонента в памяти.

Q property DataType: TFieldType; TFieldType = (ft Unknown, ftString, ftSmallint, ftlnteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftBlob, ftMemo, ftGraphic) ;

Определяет тип данных поля.

1рЬ) property DisplayLabel: String;

Содержит заголовок поля, используемый компонентом TDBGrid.

Ro) property DisplayName: PString;

Содержит имя поля. Используется аналогично свойствам DisplayLabel или FieldName других компонентов.

^o) property DisplayText: String;

Содержит символьное представление значения поля, используемое визуальными компонентами в состоянии Edit.

^b) property DisplayWidth: Integer;

Отражает ширину в символах поля, используемого компонентом TDBGrid.

 
property EditMask: String;

Служит для создания шаблона, ограни­чивающего данные, выводимые в поле. Маска состоит из трех секции, разделяемых точкой с запятой. Первая содержит тело маски. Вторая содержит символ, определя­ющий, будут ли буквенные символы маски сохраняться как часть данных (0 — не со­храняются, 1 — сохраняются). Третья содержит символ, определяющий пробел для маски.

(Ro) property EditMaskPtr: PString;

Является указателем на строку свойства EditMask.

(Pb) property FieldName: String;

Содержит имя, которое поле имеет в таблице базы данных.

(Re) property FieldNo: Integer;

Порядковый номер компонента в наборе данных.

(Pk) property Index: Integer;

Номер компонента в массиве свойства Fields набора данных. Изменение значения этого свойства приводит к изменению расположения поля в наборе данных.

(Ro) property IsIndexField: Boolean;

В состоянии True означает, что поле индексировано.

(Ro) property IsNull: Boolean;

Находится в состоянии True, если текущее поле пустое.

(Pb) property Readonly: Boolean;

Определяет режим редактирования текущего поля. Значение True определяет режим "Только для чтения".

(№) property Required: Boolean;

В значении True означает, что поле обязательно должно быть не пустым.

property Size: Word;

Определяет размер поля, размещаемого в наборе данных.

property Text: String;

Содержит символьное представление значения текущего поля в режиме Edit, используется визуальными компонентами отображения данных.

(Pb) property Visible: Boolean;

Определяет режим отображения компонента.

  Обработчики событий

(Pb) property OnChange: TFieldNotifyEvent ; TFieldNotifyEvent = procedure(Sender: TField! of object;

Реагирует на изменение значений полей компонента. Если поле связано с визуальным компонентом отображения данных, то обработчик вызывается только при попытке изменить текущую запись.

 

(Pb) property OnGetText: TFieldGetTextEvent ; TFieldGetTextEvent = procedure(Sender: TField; var Text: String; DisplayText: Boolean) of object;

Обрабатывает обращение к свойствам DisplayText и Text. Обработчик работает с DisplayText при использовании режима просмотра и Text при режиме редак­тирования.

(Pb) property OnSetText: TFieldSetTextEvent; TFieldSetTextEvent = procedure(Sender: TField; const Text: String) of object;

Используется при переопределении зна­чения свойства Text.

(Pb) property OnValidate: TFieldNotifyEvent;

Реагирует на редактирование содер­жимого компонента. Обработчик вызыва­ется для визуальных компонентов отобра­жения данных только при попытке измене­ния записи.

 
Методы компонента

procedure Assign(Source: TPersistent); override;

Копирует данные из одного компонента в другой, при этом должны быть корректно определены свойства DataType и Size. Параметр Source определяет поле — источник данных. Свойство DataSize источника должно иметь значение не больше 255.

procedure AssignValue(const Value: 'TVarRec) ;

Устанавливает значение поля в соответствие с параметром метода Value, используя для преобразования данных свойства AsBoolean, Aslnteger, AsFloat, AsString, в зависимости от типа данных.

procedure Clear; virtual;

Обнуляет набор значений поля.

procedure FocusControl;

Устанавливает фокус формы на первый связанный с TField компонент отображения данных.

function GetData(Buffer:Pointer): Boolean

Помещает в буфер данные поля без преобразований. Для определения размера буфера можно использовать свойство DataSize. Возвращает False в случае отсутствия данных.

function IsValidChar(InputChar: Char) : Boolean; virtual

Используется для определения корректности символа, введенного в поле, результат зависит от типа данных поля. Применяется компонентами отображения данных.

procedure SetData(Buffer: Pointer);

Записывает в поле данные из буфера без преобразования. Размер буфера определяется свойством DataSize.

 

 
« Предыдущая статья   Следующая статья »